8.5 Restauration d'un document
8.5.1 URL
PUT /api/v1/trash/<id>
Restauration du document <documentId>
.
L'extension ".json" peut être ajoutée pour expliciter le format de sortie.
Exemple :
PUT /api/v1/trash/1234.json
Attention : L'identifiant du document peut être son nom logique, son identifiant numérique. L'identifiant numérique peut référencer n'importe quelle révision du document. Dans tous les cas, la modification porte sur la dernière révision du document.
8.5.2 Content
8.5.2.1 Format JSON
La demande de restauration doit être formulée de la manière suivante.
Le type de la requête est application/json
.
{ "document": { "properties": { "status": "alive" } } }
Note : Toute donnée additionnelle sera ignorée.
8.5.3 Structure de retour
Le retour est une donnée JSON.
8.5.3.1 En cas de réussite :
La partie data
contient 3 champs :
-
document.uri
: uri d'accès à la ressource modifiée -
document.properties
: liste des valeurs des propriétés -
document.attributes
: liste des valeurs des attributs
Exemple :
{"success" : true, "messages" : [], "data" : { "document" : { "uri" : "api\/v1\/documents\/1057.json", "properties" : { "title" : "Hello World", [...] }, "attributes" : { "my_title" : {"value" : "Hello World", "displayValue" : "Hello World"}, [...] } } }, "exceptionMessage" : "" }
8.5.3.2 En cas d'échec
Les raisons d'échecs spécifiques à cette requête sont
Raison | Status HTTP | Error Code |
---|---|---|
Impossible de lire la demande de restauration | 500 | CRUD0208 |
Demande de restauration mal formulée | 500 | CRUD0236 |
Document non trouvé | 404 | CRUD0200 |
Document trouvé mais pas dans la poubelle | 404 | CRUD0236 |
Impossible de restaurer le document | 500 | CRUD0505 |
Exemple :
Cas de demande de restauration mal formulée
{ "success": false, "messages": [ { "type": "error", "contentText": "The restoration must be initialized with {\"document\" : { \"properties\" : { \"status\" : \"alive\" } } }", "code": "CRUD0236" } ], "data": null, "exceptionMessage": "The restoration must be initialized with {\"document\" : { \"properties\" : { \"status\" : \"alive\" } } }" }