7.4 Changer d'état
7.4.1 URL
POST /api/v1/documents/<documentId>/workflows/states/<stateid>
Le document documentId
passe dans le nouvel état donné stateId
. La
transition liée à ce changement d'état est exécutée.
Note : Seul l'utilisateur "admin", peut changer l'état d'un document lorsqu'aucune transition n'est valide.
Exemple :
POST /api/v1/documents/<documentId>/workflows/states/<stateid>
7.4.2 Content
Le contenu est une structure JSON qui comprend les informations suivantes :
-
comment
: Texte à insérer dans l'historique -
parameters
: Liste des valeurs des paramètres indexés par leur identifiant
Exemple :
{ "comment" : "Mon commentaire de transition" "parameters": { "my_referencedate": "2015-06-23", "my_validation": "yes" } }
7.4.3 Structure de retour
Le retour est une donnée JSON.
7.4.3.1 En cas de réussite :
La partie data
contient :
-
uri
: URI préférentielle d'accès à la ressource; -
state
: Nouvel état du document-
id
: identifiant de l'état, -
isCurrentState
: indique si cet état est l'étape courante, -
label
: intitulé de l'état (localisé en fonction de la langue de l'utilisateur) -
activity
: intitulé de l'activité (localisé en fonction de la langue de l'utilisateur) -
displayValue
: intitulé calculé en fonction des valeurs de "activity" et "label" -
color
: code couleur (#RRGGBB) associé à l'état
-
Exemple :
{ "success": true, "messages": [ { "type": "warning", "contentText": "Avertissement : Pas de modèle de courriel", "code": "WORKFLOW_TRANSITION" }, { "type": "notice", "contentText": "12:00 - Bulle changement d'état vers Transmis" } ], "data": { "state": { "id": "my_transmited", "isCurrentState": true, "label": "Transmis", "activity": "Vérification de l'adoption", "displayValue": "Vérification de l'adoption", "color": "#A8E5FF" } } }
7.4.3.2 En cas d'échec
Les raisons d'échecs spécifiques à cette requête sont
Raison | Status HTTP | Error Code |
---|---|---|
Échec de la transition (droit, m0, m1) | 403 Forbidden | CRUD0230 |
Pas de cycle de vie associé | 404 No workflow detected | CRUD0227 |
Exemple :
{ "success": false, "messages": [ { "type": "error", "contentText": "Erreur : Pas d'adresse pour le contrôleur", "code": "CRUD0230" } ], "data": null, "exceptionMessage": "Cannot use transition \"Erreur : Pas d'adresse pour le contrôleur\" " }