Skapa ärenden från andra system med Todomators API
Todomator exponerar sina åtgärder via en enda API-slutpunkt: POST /api/ med en JSON-kropp { "schema": "<name>", "data": { ... } } (Total.js API-rutter; se receptet API-rutter). Adressen /api/ kommer från raden $api i filen config.
Autentisera med token
Förutom en inloggad persons session accepterar API:et en token: skicka den i headern x-token eller i frågeparametern token. Om den är lika med inställningen token (se inställningar) körs begäran som en inbyggd användare som heter Bot, en administratör med behörigheten bot; varje annan token avvisas. Använd en lång slumpmässig token, behåll den på din server och skicka den bara över HTTPS.
Skapa ett ärende
Anropet heter tickets_create. Bara name är obligatoriskt; resten är valfritt:
| Fält | Anmärkningar |
|---|---|
name | titeln |
folder eller folderid | mappen, efter namn (Todomator slår upp den) eller efter id; ärendet tar mappens fakturerbar-flagga |
users | de som ska tilldelas, efter namn eller e-post; en okänd person är ett fel (User "..." not found) |
watcherid | de som följer det, efter id (till skillnad från users tar schemat i den här versionen inte emot dem efter namn) |
statusid | pending (standard), open, review, postponed, note eller closed |
markdown, html | innehållet |
tags, ispriority, isbillable, ispublic | taggar och flaggor |
date, deadline, worked | dagen, en deadline och redan arbetade minuter |
attachments | en lista med { name, data } där data är filen i Base64 |
reference, source, attrs | fria fält för att koppla ärendet till ditt system |
callback | en adress som får ärendet |
{
"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"
}
}Svaret är det nya ärendets id. De tilldelade notifieras och de öppna sessionerna för de som får se det uppdateras.
Callbacken
När callback är satt skickar Todomator en POST till den adressen med ärendets data när ärendet skapas, uppdateras eller klonas, och när en kommentar läggs till (vid skapande och uppdatering skickar den också listan över de angivna fälten, keys). Ditt system kan använda den för att spegla ett ärendes status.
Andra anrop
Samma slutpunkt hanterar resten av åtgärderna, med namnen från controllers/api.js: tickets (lista), tickets_detail/{id}, tickets_update/{id}, tickets_clone/{id}, tickets_remove/{id}, logwork_create, folders, tags med flera. Den officiella API-dokumentationen finns på docs.totaljs.com/todomator.