Tworzenie zgłoszeń z innych systemów przez API Todomatora
Todomator udostępnia swoje akcje przez jeden endpoint API: POST /api/ z treścią JSON { "schema": "<name>", "data": { ... } } (trasy API Total.js; zobacz przepis trasy API). Adres /api/ pochodzi z wiersza $api pliku config.
Uwierzytelnianie tokenem
Poza sesją zalogowanej osoby API akceptuje token: wyślij go w nagłówku x-token lub w parametrze zapytania token. Jeśli jest równy ustawieniu token (zobacz ustawienia), żądanie jest wykonywane jako wbudowany użytkownik o nazwie Bot, administrator z uprawnieniem bot; każdy inny token jest odrzucany. Użyj długiego losowego tokenu, trzymaj go na swoim serwerze i wysyłaj tylko przez HTTPS.
Tworzenie zgłoszenia
Wywołanie nazywa się tickets_create. Wymagane jest tylko name; reszta jest opcjonalna:
| Pole | Uwagi |
|---|---|
name | tytuł |
folder lub folderid | folder, według nazwy (Todomator go wyszukuje) lub id; zgłoszenie przejmuje flagę rozliczalności folderu |
users | osoby do przypisania, według nazwy lub e-maila; nieznana osoba to błąd (User "..." not found) |
watcherid | osoby, które je śledzą, według id (w przeciwieństwie do users schemat tej wersji nie przyjmuje ich według nazwy) |
statusid | pending (domyślnie), open, review, postponed, note lub closed |
markdown, html | treść |
tags, ispriority, isbillable, ispublic | tagi i flagi |
date, deadline, worked | dzień, termin i już przepracowane minuty |
attachments | lista { name, data }, gdzie data to plik w Base64 |
reference, source, attrs | dowolne pola do powiązania zgłoszenia z Twoim systemem |
callback | adres, który otrzymuje zgłoszenie |
{
"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"
}
}Odpowiedzią jest id nowego zgłoszenia. Przypisane osoby są powiadamiane, a otwarte sesje osób, które mogą je zobaczyć, są odświeżane.
Callback
Gdy callback jest ustawiony, Todomator wysyła POST na ten adres z danymi zgłoszenia, gdy zgłoszenie jest tworzone, aktualizowane lub klonowane oraz gdy dodawany jest komentarz (przy tworzeniu i aktualizacji wysyła też listę podanych pól, keys). Twój system może go użyć do odzwierciedlania statusu zgłoszenia.
Inne wywołania
Ten sam endpoint obsługuje pozostałe akcje, z nazwami z controllers/api.js: tickets (lista), tickets_detail/{id}, tickets_update/{id}, tickets_clone/{id}, tickets_remove/{id}, logwork_create, folders, tags i inne. Oficjalna dokumentacja API jest pod adresem docs.totaljs.com/todomator.