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 :
-
requestParameters
: contient un résumé des paramètres de la requête en cours (pagination et orderBy), -
uri
: URI d'accès de la collection, -
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 :
-
properties
: liste des propriétés de la révision, -
attributes
: liste des attributs du document révisé (facultatif), -
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/