Salta ai contenuti

Tipi di nodo e gerarchia

Ogni risorsa dell’API RealityConnect viene indirizzata tramite una gerarchia di contenuti composta da nodi tipizzati. Questa pagina cataloga i 10 tipi di nodo, le regole padre/figlio che mantengono valido quell’albero, e quali tipi possono essere creati direttamente rispetto a quelli che compaiono solo come risultato di un’altra azione.


DataNodeType ha 10 valori. Solo Division, Site e Folder vengono creati direttamente tramite un endpoint di creazione nodo; ogni altro tipo viene prodotto come effetto collaterale di un’azione specifica di dominio: un upload, la creazione di un bundle, un’elaborazione o un’operazione di piattaforma/amministrazione.

TipoCos’èCreato da
OrganizationLa radice dell’albero. Ogni altro nodo ne è discendente. parentId è null.Predisposto alla creazione dell’organizzazione; mai tramite l’API
DivisionUn raggruppamento di primo livello sotto l’organizzazione (ad es. un’unità aziendale o una regione).POST /v1/nodes/{parentId}/division
SiteUna sede fisica sotto una divisione. Contiene data bundle ed è l’unità indirizzata dalle route di twin e ricerca.POST /v1/nodes/{parentId}/site
FolderUn raggruppamento annidabile per organizzare i contenuti sotto un site o un’altra cartella.POST /v1/nodes/{parentId}/folder
ProjectUn RealityPlan Project.POST /v1/bundles/{bundleId}/create-project, una volta che un data bundle ha un componente elaborato e visualizzabile
TwinIl descrittore dello spazio 3D di un site. Un twin viene indirizzato tramite l’id nodo del suo site, quindi non esiste un passaggio di creazione dedicato.Azione di piattaforma (pubblicazione di un twin)
DataBundleUn set di dati acquisito (point cloud, mesh, panorami, ecc.) e i relativi risultati di elaborazione.POST /v1/nodes/{parentId}/bundle, con un dbuPath risolto
SiteFileUn file caricato grezzo che non fa parte di un data bundle.POST /v1/site-files (un flusso di upload dedicato, non un endpoint di creazione nodo)
ArtifactUn allegato o artefatto di output associato al contenuto di un twin.Azione di piattaforma/elaborazione
AssetLibraryUna libreria di modelli riutilizzabili a livello di organizzazione.Predisposta a livello di organizzazione; mai tramite l’API

I tre tipi creabili formano una struttura fissa, ciascuno accetta esattamente un tipo padre:

PadreAccetta il tipo figlioRoute
OrganizationDivisionPOST /v1/nodes/{parentId}/division
DivisionSitePOST /v1/nodes/{parentId}/site
Site o FolderFolderPOST /v1/nodes/{parentId}/folder

Folder è l’unico tipo che si annida sotto il proprio stesso tipo, quindi è l’unico punto in cui la profondità può crescere arbitrariamente a partire da una singola chiamata API. Oltre a questa struttura, la piattaforma impone una profondità massima della gerarchia; non pubblica un numero esatto, ma i due codici di errore seguenti esistono proprio per intercettare una richiesta che la supererebbe o posizionerebbe un nodo nel posto sbagliato:

  • MaxDepthExceeded (restituito da PATCH /v1/nodes/{nodeId}/move/{newParentId}): la destinazione porterebbe il nodo più in profondità di quanto consentito dalla piattaforma. Spostare il nodo in una posizione meno profonda invece di annidare le cartelle indefinitamente.
  • DoesNotMeetHierarchyConstraints (restituito anch’esso dall’endpoint di spostamento): il padre di destinazione non accetta il tipo di questo nodo. Controllare la tabella precedente (o la posizione effettiva del tipo, tramite l’esplorazione) prima di spostarlo.

Creare un nodo sotto il tipo di padre sbagliato viene rifiutato allo stesso modo: POST /v1/nodes/{parentId}/site con un parentId che non è una Division restituisce 409 { "error": "ParentTypeNotValid" }.

Per la struttura completa della risposta e tutti gli altri codici di spostamento/eliminazione, vedere Codici di errore.

I nodi DataBundle vengono creati sotto un site o una cartella, e i nodi SiteFile vengono creati sotto un id padre passato al flusso di upload. Entrambi accettano in pratica gli stessi due tipi di padre di Folder, ma tramite i propri endpoint specifici di dominio anziché una route generica di creazione nodo. I tipi rimanenti (Twin, Artifact, AssetLibrary) vengono posizionati dall’azione di piattaforma o elaborazione che li produce, quindi esplorate l’albero per trovarli invece di presumere una posizione fissa.

GET /v1/nodes/{id}/browse e GET /v1/nodes/search restituiscono entrambi i nodi in questa struttura:

{
"id": "a6f75b3c-f261-4b27-9a2a-9a6cc1234c53",
"createdAt": "2026-06-01T10:00:00.000Z",
"updatedAt": "2026-06-01T10:00:00.000Z",
"name": "Building A",
"type": "Site",
"createdById": "8f0b9a2c-8f1b-4a10-9e1c-0b3a2d9a4b7d",
"parentId": "d2a1c4b7-3e10-4f2c-9a6b-7c1d8e2f3a45",
"childrenCount": 4,
"bytesStored": 15728640,
"thumbnailSignedUrl": null
}
CampoNote
typeUno dei 10 valori DataNodeType sopra elencati
parentIdnull solo per la radice Organization
childrenCountSolo i figli diretti, non l’intero sottoalbero
bytesStoredDimensione di storage del sottoalbero in byte
thumbnailSignedUrlOpzionale. Presente solo se la richiesta lo attiva con includeThumbnail=true, e solo se esiste una miniatura

Entrambe le route restituiscono la stessa struttura DataNode, ma rispondono a domande diverse e hanno limiti diversi:

GET /v1/nodes/{id}/browseGET /v1/nodes/search
Risponde a”Quali sono i figli diretti di questo nodo?""Trova i nodi che corrispondono a questi filtri, ovunque io abbia accesso”
AmbitoFigli diretti di un nodoL’intero albero dell’organizzazione legato al token di accesso
limit1–201–50
limit predefinito2050
FiltraggioNessuno, solo paginazione e ordinamentoNome, tipo, padre/antenato, creatore, timestamp, dimensione di storage, numero di figli

Per la meccanica di risoluzione del primo id nodo e la chiamata a browse, vedere Trovare i propri ID. Per l’intero insieme di parametri di query di search, combinazioni di filtri ed esempi, vedere Ricerca di oggetti business e nodi.

I nodi Twin, DataBundle e AssetLibrary compaiono nei risultati di esplorazione e ricerca come qualsiasi altro nodo, ma una volta ottenuto il loro id se ne indirizza il contenuto tramite un’altra famiglia di route anziché /v1/nodes:

Tipo di nodoIndirizzato tramite id su
Twin/v1/twin/{contextId}/... (descrittore di spazio, ricerca oggetti business)
DataBundle/v1/bundles/{bundleId}/... (componenti, elaborazioni, opzioni di elaborazione)
AssetLibrary/v1/asset-library/... (come ownerContextId)