5.3 Consultation de la liste des révisions d'un document

5.3.1 URL

GET /api/v1/documents/<documentId>/revisions/

Récupération de la liste des révisions du document <documentId>.

L'identifiant du document peut être son nom logique, son identifiant numérique.

5.3.2 Content

Le contenu de la requête est vide.

5.3.3 Structure de retour

Le retour est une donnée JSON.

5.3.3.1 En cas de réussite :

La partie data contient :

  1. requestParameters : contient un résumé des paramètres de la requête en cours (pagination et orderBy),
  2. uri : URI d'accès de la collection,
  3. revisions : un tableau de révision (sous la même forme que les documents unitaires)

Chaque révision est un objet contenant les entrées suivantes :

  1. properties : liste des propriétés de la révision,
  2. attributes : liste des attributs du document révisé (facultatif),
  3. uri : URI d'accès du document.

Exemple :

{
    "success": true,
    "messages": [],
    "data": {
        "requestParameters": {
            "slice": 10,
            "offset": 0,
            "length": 2,
            "orderBy": "revision desc, id desc"
        },
        "uri": "http://www.example.net/api/v1/documents/1427/revisions/",
        "revisions": [
            {
                "properties": {
                    "id": 13511,
                    "title": "Éléonore d'aquitaine",
                    "icon": "api/v1/images/assets/sizes/24x24c/article.png",
                    "initid": 1427,
                    "name": null,
                    "status": "alive",
                    "revision": 1
                },
                "attributes": {
                    "an_nom": {
                        "value": "Éléonore d'aquitaine",
                        "displayValue": "Éléonore d'aquitaine"
                    },...
                },
                "uri": "http://www.example.net/api/v1/documents/1427/revisions/1.json"
            },
            {
                "properties": {
                    "id": 1427,
                    "title": "Éléonore",
                    "icon": "api/v1/images/assets/sizes/24x24c/article.png",
                    "initid": 1427,
                    "name": null,
                    "status": "fixed",
                    "revision": 0
                },
                "attributes": {
                    "an_nom": {
                        "value": "Éléonore",
                        "displayValue": "Éléonore"
                    },...
                },
                "uri": "http://www.example.net/api/v1/documents/1427/revisions/0.json"
            }
        ]
    }
}

5.3.3.2 En cas d'échec

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

Raison Status HTTP Error Code
Document non trouvé 404 API0200

Exemple :

Cas d'erreur de document non trouvé

{"success" :             false,
    "messages" :         [
        {
            "type" :        "error",
            "contentText" : "Document \"1200\" not found",
            "contentHtml" : "",
            "code" :        "API0200",
            "uri" :         "",
            "data" :        null
        }
    ],
    "data" :             null,
    "exceptionMessage" : "Document \"1200\" not found"
}

5.3.4 Cache

Dans le cadre du cache, le Etag est calculé à l'aide des éléments suivants :

  • identifiant de la dernière révision du document,
  • date de dernière modification du document,
  • identifiant de l'utilisateur,
  • identifiant des droits portés sur le document (vecteur de droits),
  • langue sélectionnée.

L'ensemble de ces éléments sont concaténés et ensuite le sha1 de cette concaténation consitue le Etag.

5.3.5 Autres URL d'accès

Vous pouvez aussi accéder à cette ressources via :

GET /api/v1/families/<famName>/documents/<documentId>/revisions/

Récupération de la liste des révisions de la dernière révision d'un document de la famille <famName> ayant l'identifiant <documentId>.

La différence entre les collection families et documents est que pour la collection /api/v1/families/<famName>/documents/<documentId>/revisions/ l'identifiant doit être dans la famille indiquée pour être retourné sinon une erreur 404 (ressource non trouvée) est retournée.

Les révisions d'un document "supprimé" pevent être récupérés via l'url

GET /api/v1/trash/<documentId>/revisions/
×