Crearea de tichete din alte sisteme cu API-ul Todomator
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âmp | Note |
|---|---|
name | titlul |
folder sau folderid | folderul, după nume (Todomator îl caută) sau după id; tichetul preia indicatorul de facturabil al folderului |
users | persoanele de atribuit, după nume sau e-mail; o persoană necunoscută este o eroare (User "..." not found) |
watcherid | persoanele care îl urmăresc, după id (spre deosebire de users, schema acestei versiuni nu le acceptă după nume) |
statusid | pending (implicit), open, review, postponed, note sau closed |
markdown, html | conținutul |
tags, ispriority, isbillable, ispublic | etichete și indicatori |
date, deadline, worked | ziua, un termen limită și minutele deja lucrate |
attachments | o listă de { name, data } unde data este fișierul în Base64 |
reference, source, attrs | câmpuri libere pentru a lega tichetul de sistemul tău |
callback | o 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.