Ce que la suppression fait réellement, par ressource
« Supprimer » ne signifie pas la même chose selon ce que vous supprimez via la RealityConnect API. Certaines ressources partent dans une corbeille récupérable, la plupart sont supprimées définitivement. Cette page est la référence ressource par ressource pour concevoir une logique de nettoyage ou de réconciliation de synchronisation.
Comportement de suppression par ressource
Section intitulée « Comportement de suppression par ressource »| Ressource | Suppression | Restauration | Suppression définitive |
|---|---|---|---|
| Nœud de données (division, site, dossier, twin, projet, Data Bundle, Asset Library, etc.) | Douce (part dans la corbeille) | PATCH /v1/nodes/{nodeId}/restore | Automatique 30 jours après la suppression, ou immédiate via DELETE /v1/nodes/{nodeId}/hard |
| POI | Définitive | Non disponible | Immédiate |
| Zone | Définitive | Non disponible | Immédiate |
| Box asset | Définitive | Non disponible | Immédiate |
| Model asset (RealityPlan) | Définitive | Non disponible | Immédiate |
| Modèle d’Asset Library | Définitive (bloquée tant qu’un asset y fait encore référence) | Non disponible | Immédiate une fois débloquée |
| Tag d’Asset Library | Définitive | Non disponible | Immédiate |
| Groupe | Définitive | Non disponible | Immédiate |
| Appartenance à un groupe | Définitive | Non disponible | Immédiate |
| Invitation (organisation ou nœud) | Définitive (révocation) | Non disponible | Immédiate |
| Pièce jointe d’objet | Définitive (supprime uniquement le fichier stocké) | Non disponible | Immédiate |
Seuls les nœuds de données ont une corbeille. Toute autre ressource de ce tableau disparaît dès que l’appel de suppression réussit, sans aucun moyen de récupération côté serveur.
Nœuds de données : suppression douce et corbeille
Section intitulée « Nœuds de données : suppression douce et corbeille »DELETE /v1/nodes/{nodeId} supprime un nœud de façon douce : il part dans la corbeille de l’organisation au lieu d’être retiré. Un nœud dans la corbeille :
- Est listé par
GET /v1/trash(paginé, triable pardeletedAtouname). - Peut être restauré avec
PATCH /v1/nodes/{nodeId}/restore, qui peut échouer avec409 StorageLimitExceededsi la restauration ferait dépasser le quota de stockage de l’organisation. - Est supprimé définitivement avec
DELETE /v1/nodes/{nodeId}/hard, ou automatiquement 30 jours après sa mise à la corbeille.
La restauration comme la suppression définitive renvoient 409 NoNodeRemoved si le nœud ne se trouve pas actuellement dans la corbeille, y compris pour un id de nœud jamais supprimé, ou déjà supprimé définitivement, ou déjà purgé automatiquement.
Supprimer définitivement un nœud retire aussi ses descendants présents dans la corbeille ainsi que toute ligne de dérivation touchant des nœuds de cette sous-arborescence. Les nœuds hors de la sous-arborescence qui dérivent, par ailleurs, de quelque chose à l’intérieur ne sont pas affectés.
Ce qui bloque la suppression d’un nœud
Section intitulée « Ce qui bloque la suppression d’un nœud »DELETE /v1/nodes/{nodeId} peut être rejeté avec 409 Conflict pour trois raisons :
| Code | Signification | Contournable avec ?force=true ? |
|---|---|---|
NodeHasDerivatives | Le nœud a des sorties dérivées (par ex. des résultats traités) qui doivent d’abord être retirées. Le champ derivatives[] de la réponse liste précisément les nœuds qui bloquent. | Non |
NodeHasBundleDependants | Le data bundle du nœud a des dépendants. | Non |
NodeNotInDeletableState | Le nœud est en cours de traitement, ou son traitement a échoué (isProcessing / isFailed). | Oui |
force=true (une chaîne de requête, exactement "true" ou "false") ne contourne que NodeNotInDeletableState. Un nœud avec des dérivés ou des dépendants de bundle doit d’abord être résolu : il n’y a pas de contournement possible. Voir Codes d’erreur pour la forme complète de la réponse et la gestion suggérée.
Les modèles d’Asset Library ont leur propre version, plus simple, de ce même verrou : DELETE /v1/asset-library/{ownerContextId}/models/{libraryModelId} renvoie 409 Conflict tant qu’un asset référence encore le modèle. Une fois la dernière référence disparue, la suppression est définitive et non récupérable, pas une suppression douce comme pour un nœud.
Nœuds supprimés (soft-delete) dans le parcours et la recherche
Section intitulée « Nœuds supprimés (soft-delete) dans le parcours et la recherche »Un nœud supprimé de façon douce sort immédiatement et sans exception de GET /v1/nodes/{id}/browse et de GET /v1/nodes/search : aucun des deux endpoints n’a de paramètre pour inclure les nœuds de la corbeille. Le seul moyen de voir un nœud dans la corbeille est GET /v1/trash ; le restaurer est ce qui le rend à nouveau parcourable et recherchable.
Pour le fonctionnement de la hiérarchie de nœuds et de la recherche elles-mêmes, voir Types de nœuds et hiérarchie et Rechercher des objets métier et des nœuds.
Et ensuite ?
Section intitulée « Et ensuite ? »- Codes d’erreur pour l’ensemble complet des codes d’erreur nommés, y compris tous ceux référencés sur cette page.
- Ce que
contextIdaccepte pour résoudre lecontextIdutilisé pour adresser les POI, zones, assets et pièces jointes.