Vytváření tiketů z jiných systémů přes API Todomatoru
Todomator zpřístupňuje své akce přes jediný endpoint API: POST /api/ s tělem JSON { "schema": "<name>", "data": { ... } } (trasy API Total.js; viz recept trasy API). Adresa /api/ pochází z řádku $api v souboru config.
Ověření tokenem
Kromě relace přihlášené osoby API přijímá token: pošlete jej v hlavičce x-token nebo v parametru dotazu token. Pokud se rovná nastavení token (viz nastavení), požadavek běží jako vestavěný uživatel Bot, správce s oprávněním bot; jakýkoli jiný token se odmítne. Používejte dlouhý náhodný token, uchovávejte jej na svém serveru a posílejte jej jen přes HTTPS.
Vytvoření tiketu
Volání se jmenuje tickets_create. Povinné je jen name, zbytek je volitelný:
| Pole | Poznámky |
|---|---|
name | název |
folder nebo folderid | složka, podle názvu (Todomator ji vyhledá) nebo podle id; tiket přebírá příznak fakturovatelnosti složky |
users | lidé k přiřazení, podle jména nebo e-mailu; neznámá osoba je chyba (User "..." not found) |
watcherid | lidé, kteří jej sledují, podle id (na rozdíl od users je schéma této verze podle jména nepřijímá) |
statusid | pending (výchozí), open, review, postponed, note nebo closed |
markdown, html | obsah |
tags, ispriority, isbillable, ispublic | štítky a příznaky |
date, deadline, worked | den, termín a již odpracované minuty |
attachments | seznam { name, data }, kde data je soubor v Base64 |
reference, source, attrs | volná pole pro propojení tiketu s vaším systémem |
callback | adresa, která 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"
}
}Odpovědí je id nového tiketu. Přiřazení lidé dostanou oznámení a otevřené relace lidí, kteří jej smějí vidět, se obnoví.
Callback
Když je callback nastaven, Todomator pošle na tuto adresu POST s údaji tiketu, když se tiket vytvoří, aktualizuje nebo klonuje, a když se přidá komentář (při vytvoření a aktualizaci posílá i seznam zadaných polí, keys). Váš systém jej může použít k zrcadlení stavu tiketu.
Další volání
Stejný endpoint obsluhuje ostatní akce s názvy z controllers/api.js: tickets (seznam), tickets_detail/{id}, tickets_update/{id}, tickets_clone/{id}, tickets_remove/{id}, logwork_create, folders, tags a další. Oficiální dokumentace API je na docs.totaljs.com/todomator.