Създаване на тикети от други системи с API на Todomator
Todomator излага действията си през една API крайна точка: POST /api/ с JSON тяло { "schema": "<name>", "data": { ... } } (API маршрутите на Total.js; вижте рецептата API маршрути). Адресът /api/ идва от реда $api във файла config.
Удостоверяване с токена
Освен сесията на влязъл човек, API приема токен: изпратете го в заглавката x-token или в параметъра на заявката token. Ако е равен на настройката token (вижте настройките), заявката се изпълнява като вграден потребител на име Bot, администратор с правото bot; всеки друг токен се отхвърля. Използвайте дълъг случаен токен, пазете го на сървъра си и го изпращайте само през HTTPS.
Създаване на тикет
Извикването се казва tickets_create. Само name е задължително; останалото е по избор:
| Поле | Бележки |
|---|---|
name | заглавието |
folder или folderid | папката, по име (Todomator я търси) или по id; тикетът взема флага за таксуване на папката |
users | хората за възлагане, по име или имейл; непознат човек е грешка (User "..." not found) |
watcherid | хората, които го следят, по id (за разлика от users, схемата на тази версия не ги приема по име) |
statusid | pending (по подразбиране), open, review, postponed, note или closed |
markdown, html | съдържанието |
tags, ispriority, isbillable, ispublic | етикети и флагове |
date, deadline, worked | денят, краен срок и вече отработените минути |
attachments | списък от { name, data }, където data е файлът в Base64 |
reference, source, attrs | свободни полета за свързване на тикета с вашата система |
callback | адрес, който получава тикета |
{
"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"
}
}Отговорът е id на новия тикет. Възложените хора получават известие и отворените сесии на хората, които могат да го виждат, се опресняват.
Callback
Когато callback е зададен, Todomator изпраща POST към този адрес с данните на тикета, когато тикетът се създава, актуализира или клонира, и когато се добави коментар (при създаване и актуализация изпраща и списъка с подадените полета, keys). Вашата система може да го ползва, за да отразява състоянието на тикета.
Други извиквания
Същата крайна точка обслужва останалите действия, с имената от controllers/api.js: tickets (списък), tickets_detail/{id}, tickets_update/{id}, tickets_clone/{id}, tickets_remove/{id}, logwork_create, folders, tags и други. Официалната документация на API е на docs.totaljs.com/todomator.