Δημιουργία δελτίων από άλλα συστήματα με το API του Todomator
Το Todomator εκθέτει τις ενέργειές του μέσω ενός endpoint API: POST /api/ με σώμα JSON { "schema": "<name>", "data": { ... } } (οι διαδρομές API του Total.js· δείτε τη συνταγή διαδρομές API). Η διεύθυνση /api/ προέρχεται από τη γραμμή $api του αρχείου config.
Ταυτοποίηση με το token
Εκτός από τη συνεδρία ενός συνδεδεμένου ατόμου, το API δέχεται ένα token: στείλτε το στην κεφαλίδα x-token ή στην παράμετρο ερωτήματος token. Αν ισούται με τη ρύθμιση token (δείτε ρυθμίσεις), το αίτημα εκτελείται ως ένας ενσωματωμένος χρήστης με όνομα Bot, διαχειριστής με το δικαίωμα bot· οποιοδήποτε άλλο token απορρίπτεται. Χρησιμοποιήστε ένα μακρύ τυχαίο token, κρατήστε το στον διακομιστή σας και στείλτε το μόνο μέσω HTTPS.
Δημιουργία ενός δελτίου
Η κλήση λέγεται tickets_create. Μόνο το name είναι υποχρεωτικό· τα υπόλοιπα είναι προαιρετικά:
| Πεδίο | Σημειώσεις |
|---|---|
name | ο τίτλος |
folder ή folderid | ο φάκελος, με όνομα (το Todomator τον αναζητά) ή με id· το δελτίο παίρνει τη σημαία χρεώσιμου του φακέλου |
users | τα άτομα που θα αναλάβουν, με όνομα ή email· ένα άγνωστο άτομο είναι σφάλμα (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). Το σύστημά σας μπορεί να το χρησιμοποιήσει για να αντικατοπτρίζει την κατάσταση ενός δελτίου.
Άλλες κλήσεις
Το ίδιο endpoint εξυπηρετεί τις υπόλοιπες ενέργειες, με τα ονόματα του 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.