7.6 Récupérer les caractéristiques d'une transition

7.6.1 URL

GET /api/v1/documents/<documentId>/workflows/transitions/<transitionId>

Récupération de la transition transitionId du document documentId.

Exemple :

GET /api/v1/documents/my_document/workflows/transitions/my_publication

7.6.2 Content

Le contenu de la requête est vide.

7.6.3 Structure de retour

Le retour est une donnée JSON.

7.6.3.1 En cas de réussite :

La partie data contient :

  1. uri : URI préférentielle d'accès à la ressource;
  2. transition : Caractéristique de la transition
    1. id : identifiant de la transition
    2. beginState : étape de départ de la transition
      1. id : identifiant de l'état de départ
      2. isCurrentState : indique si c'est l'état courant du document
      3. label : libellé de l'état (localisé en fonction de la langue de l'utilisateur)
      4. activity : libellé de l'activité (localisé en fonction de la langue de l'utilisateur)
      5. displayValue : intitulé calculé en fonction des valeurs de "activity" et "label"
      6. color : code couleur (#RRGGBB) associé à l'état
    3. endState : étape d'arrivée de la transition
      1. id : identifiant de l'état d'arrivée
      2. isCurrentState : indique si c'est l'état courant du document
      3. label : libellé de l'état (localisé en fonction de la langue de l'utilisateur)
      4. activity : libellé de l'activité (localisé en fonction de la langue de l'utilisateur)
      5. displayValue : intitulé calculé en fonction des valeurs de "activity" et "label"
      6. color : code couleur (#RRGGBB) associé à l'état
    4. label : libellé de la transition (localisé en fonction de la langue de l'utilisateur)
    5. askComment : (bool) indique si un commentaire peut être associé à la transition
    6. askAttributes : liste des paramètres de transition
      1. id : identifiant du paramètre (provenant de la famille du cycle de vie)
      2. visibility : visibilité du paramètre
      3. label : libellé du paramètre
      4. type : type du paramètre
      5. logicalOrder : ordre (non affecté)
      6. multiple : indique si le type est multivalué
      7. options : options de l'attribut
      8. needed : indique si la valeur est obligatoire

Exemple :

{
    "success": true,
    "messages": [],
    "data": {
        "uri": "./api/v1/documents/61120/workflows/transitions/my_Ttransmited",
        "transition": {
            "id": "my_Ttransmited",
            "beginState": {
                "id": "my_initialised",
                "isCurrentState": true,
                "label": "Initialisé",
                "activity": "Rédaction de la demande",
                "displayValue": "Rédaction de la demande",
                "color": "#FFE991"
            },
            "endState": {
                "id": "my_transmited",
                "isCurrentState": false,
                "label": "Transmis",
                "activity": "Vérification de l'adoption",
                "displayValue": "Vérification de l'adoption",
                "color": "#A8E5FF"
            },
            "label": "Transmettre le dossier",
            "askComment": false,
            "askAttributes": [
                {
                    "id": "wan_date",
                    "visibility": "W",
                    "label": "date de début",
                    "type": "date",
                    "logicalOrder": 0,
                    "multiple": false,
                    "options": [],
                    "needed": false
                },
                {
                    "id": "wad_mailsecure",
                    "visibility": "W",
                    "label": "Espèce protégée",
                    "type": "docid",
                    "logicalOrder": 0,
                    "multiple": false,
                    "options": [],
                    "needed": false
                },
                {
                    "id": "wad_file",
                    "visibility": "W",
                    "label": "Fichier",
                    "type": "file",
                    "logicalOrder": 0,
                    "multiple": false,
                    "options": [],
                    "needed": false
                }
            ]
        }
    }
}

7.6.3.2 En cas d'échec

Les raisons d'échecs spécifiques à cette requête sont

Raison Status HTTP Error Code
Transition inconnue 404 Transition not found CRUD0229
Pas de cycle de vie associé 404 No workflow detected CRUD0227

Exemple :

{
    "success": false,
    "messages": [
        {
            "type": "error",
            "contentText": "transition \"foo\" is not available for  workflow \"My workflow\" (1090)",
            "code": "CRUD0229"
        }
    ],
    "data": null,
    "exceptionMessage": "transition \"foo\" is not available for  workflow \"My workflow\" (1090)"
}
×