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 :

  1. document.uri : uri d'accès à la ressource modifiée
  2. document.properties : liste des valeurs des propriétés
  3. 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\" } } }"
}
×
nouveauté