Cette page décrit les modes de communication de w.c.s. avec l'extérieur.
Protocole général : REST, données en JSON.
Gestion des accès via des API Users et des ACLs (sur les URLs REST).
Permet de créer, lire, mettre à jour ou effacer des formulaires (CRUD sur formdata).
- /api/v1/formdef/X/formdata/Y : CRUD
- /api/v1/formdef/X/formdata/Y/data uniquement sur les données, read/update
- /api/v1/formdef/X/formdata/Y/wf sur le workflow : read/update. En read on obtient le statut actuel et les suites possibles (dont les données attendues) ; en write on envoie les éventuelles données demandées pour un changement de statut choisi
- /api/v1/regie/<régie>/invoice/Y : CRUD
Permet de remplir un formulaire pas à pas, en suivant éventuellement les pages et en obtenant une réponse à la fin (première étape du workflow)
POST sur /api/v1/formdef/X/page/Y
Retourne des codes 200, 300, 400, 500... selon ce qui doit se passer pour continuer ou reprendre la saisie, selon le cas.
w.c.s. interroge la source distance avec une requête de type "JSONSQL" (à trouver ou à inventer)
Du genre :
{ "columns": [ "a", "b", "c"], "where": ['or', ['a', '<', 1], ['b', '=', 'xyz']], "offset": 5, "limit": 2 }
Retourne un JSON :
[ { "a": ..., "b": ..., "c": ... }, { "a": ..., "b": ..., "c": ... } ]
Utilisé par w.c.s. pour envoyer des messages. Peut recevoir une réponse en synchrone ou asynchrone (via une URL de retour).
Requête :
{ "data": ..., "replyto": url }
Réponse attendue : (selon l'URL de replyto ?)
{ "data": ..., }