Vytváranie tiketov z iných systémov cez API Todomatoru
Todomator sprístupňuje svoje akcie cez jeden endpoint API: POST /api/ s telom JSON { "schema": "<name>", "data": { ... } } (trasy API Total.js; pozri recept trasy API). Adresa /api/ pochádza z riadka $api v súbore config.
Overenie tokenom
Okrem relácie prihlásenej osoby API prijíma token: pošlite ho v hlavičke x-token alebo v parametri dotazu token. Ak sa rovná nastaveniu token (pozri nastavenia), požiadavka beží ako vstavaný používateľ Bot, správca s oprávnením bot; akýkoľvek iný token sa odmietne. Používajte dlhý náhodný token, uchovávajte ho na svojom serveri a posielajte ho iba cez HTTPS.
Vytvorenie tiketu
Volanie sa volá tickets_create. Povinné je iba name, ostatné je voliteľné:
| Pole | Poznámky |
|---|---|
name | názov |
folder alebo folderid | priečinok, podľa názvu (Todomator ho vyhľadá) alebo podľa id; tiket preberie príznak fakturovateľnosti priečinka |
users | ľudia na priradenie, podľa mena alebo e-mailu; neznáma osoba je chyba (User "..." not found) |
watcherid | ľudia, ktorí ho sledujú, podľa id (na rozdiel od users ich schéma tejto verzie podľa mena neprijíma) |
statusid | pending (predvolené), open, review, postponed, note alebo closed |
markdown, html | obsah |
tags, ispriority, isbillable, ispublic | štítky a príznaky |
date, deadline, worked | deň, termín a už odpracované minúty |
attachments | zoznam { name, data }, kde data je súbor v Base64 |
reference, source, attrs | voľné polia na prepojenie tiketu s vaším systémom |
callback | adresa, ktorá dostane tiket |
{
"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"
}
}Odpoveďou je id nového tiketu. Priradení ľudia dostanú oznámenie a otvorené relácie ľudí, ktorí ho smú vidieť, sa obnovia.
Callback
Keď je callback nastavený, Todomator pošle na túto adresu POST s údajmi tiketu, keď sa tiket vytvorí, aktualizuje alebo klonuje, a keď sa pridá komentár (pri vytvorení a aktualizácii posiela aj zoznam zadaných polí, keys). Váš systém ho môže použiť na zrkadlenie stavu tiketu.
Ďalšie volania
Rovnaký endpoint obsluhuje ostatné akcie s názvami z controllers/api.js: tickets (zoznam), tickets_detail/{id}, tickets_update/{id}, tickets_clone/{id}, tickets_remove/{id}, logwork_create, folders, tags a ďalšie. Oficiálna dokumentácia API je na docs.totaljs.com/todomator.