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\" " }