ForgeTodomator
ro

Todomator

Crearea de tichete din alte sisteme cu API-ul Todomator

Todomator · todomator@1.7 todomatorapitokenticketsintegration

Todomator își expune acțiunile printr-un singur endpoint API: POST /api/ cu un corp JSON { "schema": "<name>", "data": { ... } } (rutele API Total.js; vezi rețeta rutele API). Adresa /api/ vine din linia $api a fișierului config.

Autentificarea cu token-ul

Pe lângă sesiunea unei persoane autentificate, API-ul acceptă un token: trimite-l în antetul x-token sau în parametrul de interogare token. Dacă este egal cu setarea token (vezi setări), cererea rulează ca un utilizator încorporat numit Bot, un administrator cu permisiunea bot; orice alt token este refuzat. Folosește un token lung și aleatoriu, păstrează-l pe serverul tău și trimite-l doar prin HTTPS.

Crearea unui tichet

Apelul se numește tickets_create. Doar name este obligatoriu; restul este opțional:

CâmpNote
nametitlul
folder sau folderidfolderul, după nume (Todomator îl caută) sau după id; tichetul preia indicatorul de facturabil al folderului
userspersoanele de atribuit, după nume sau e-mail; o persoană necunoscută este o eroare (User "..." not found)
watcheridpersoanele care îl urmăresc, după id (spre deosebire de users, schema acestei versiuni nu le acceptă după nume)
statusidpending (implicit), open, review, postponed, note sau closed
markdown, htmlconținutul
tags, ispriority, isbillable, ispublicetichete și indicatori
date, deadline, workedziua, un termen limită și minutele deja lucrate
attachmentso listă de { name, data } unde data este fișierul în Base64
reference, source, attrscâmpuri libere pentru a lega tichetul de sistemul tău
callbacko adresă care primește tichetul
{
	"schema": "tickets_create",
	"data": {
		"name": "The invoice page fails with a 500",
		"folder": "Customer support",
		"users": ["jane@example.com"],
		"markdown": "Reported by the contact form.\n\nSteps: open the invoice and click *Print*.",
		"tags": ["bug"],
		"source": "website",
		"reference": "form-2041"
	}
}

Răspunsul este id-ul noului tichet. Persoanele atribuite sunt notificate, iar sesiunile deschise ale persoanelor care îl pot vedea sunt reîmprospătate.

Callback-ul

Când callback este setat, Todomator trimite un POST la acea adresă cu datele tichetului când tichetul este creat, actualizat sau clonat și când se adaugă un comentariu (la creare și actualizare trimite și lista câmpurilor furnizate, keys). Sistemul tău îl poate folosi pentru a oglindi starea unui tichet.

Alte apeluri

Același endpoint deservește restul acțiunilor, cu numele din controllers/api.js: tickets (listă), tickets_detail/{id}, tickets_update/{id}, tickets_clone/{id}, tickets_remove/{id}, logwork_create, folders, tags și altele. Documentația oficială a API-ului se află la docs.totaljs.com/todomator.