Knooptypen en hiërarchie
Elke resource van de RealityConnect API wordt geadresseerd via een inhoudshiërarchie van getypeerde knopen. Deze pagina beschrijft de 10 knooptypen, de ouder/kind-regels die die boom geldig houden, en welke typen rechtstreeks kunnen worden aangemaakt versus typen die alleen ontstaan als resultaat van een andere actie.
Knooptypen
Section titled “Knooptypen”DataNodeType heeft 10 waarden. Alleen Division, Site en Folder worden rechtstreeks aangemaakt via een endpoint voor het aanmaken van knopen; elk ander type ontstaat als neveneffect van een domeinspecifieke actie: een upload, het aanmaken van een bundle, verwerking, of een platform-/beheeractie.
| Type | Wat het is | Aangemaakt door |
|---|---|---|
Organization | De wortel van de boom. Elke andere knoop is er een afstammeling van. parentId is null. | Ingericht bij het aanmaken van de organisatie; nooit via de API |
Division | Een groepering op het hoogste niveau onder de organisatie (bijvoorbeeld een bedrijfsonderdeel of regio). | POST /v1/nodes/{parentId}/division |
Site | Een fysieke locatie onder een divisie. Bevat data bundles en is de eenheid die door de twin- en zoekroutes wordt geadresseerd. | POST /v1/nodes/{parentId}/site |
Folder | Een nestbare groepering om inhoud te organiseren onder een site of een andere map. | POST /v1/nodes/{parentId}/folder |
Project | Een RealityPlan Project. | POST /v1/bundles/{bundleId}/create-project, zodra een data bundle een verwerkte, weergeefbare component heeft |
Twin | De 3D-ruimtedescriptor van een site. Een twin wordt geadresseerd via het knoop-id van zijn site, dus er is geen aparte aanmaakstap. | Platformactie (publiceren van een twin) |
DataBundle | Een vastgelegde dataset (puntenwolk, mesh, panorama’s, enz.) en de bijbehorende verwerkingsresultaten. | POST /v1/nodes/{parentId}/bundle, met een opgelost dbuPath |
SiteFile | Een ruw geüpload bestand dat geen deel uitmaakt van een data bundle. | POST /v1/site-files (een aparte uploadflow, geen endpoint voor het aanmaken van knopen) |
Artifact | Een bijlage of uitvoerartefact dat aan twin-inhoud is gekoppeld. | Platform-/verwerkingsactie |
AssetLibrary | Een bibliotheek van herbruikbare modellen op organisatieniveau. | Ingericht op organisatieniveau; nooit via de API |
Ouder/kind-regels en diepte
Section titled “Ouder/kind-regels en diepte”De drie aanmaakbare typen vormen een vaste ruggengraat, waarbij elk type precies één ouder-type accepteert:
| Ouder | Accepteert kind-type | Route |
|---|---|---|
Organization | Division | POST /v1/nodes/{parentId}/division |
Division | Site | POST /v1/nodes/{parentId}/site |
Site of Folder | Folder | POST /v1/nodes/{parentId}/folder |
Folder is het enige type dat onder zijn eigen type genest wordt, dus dat is de enige plek waar de diepte vanuit één enkele API-aanroep onbeperkt kan groeien. Buiten deze ruggengraat handhaaft het platform een maximale hiërarchiediepte; het publiceert geen exact getal, maar de volgende twee foutcodes bestaan juist om een aanvraag te onderscheppen die deze zou overschrijden of een knoop verkeerd zou plaatsen:
MaxDepthExceeded(geretourneerd doorPATCH /v1/nodes/{nodeId}/move/{newParentId}): de bestemming zou de knoop dieper plaatsen dan het platform toestaat. Verplaats de knoop naar een minder diepe positie in plaats van mappen eindeloos te nesten.DoesNotMeetHierarchyConstraints(ook geretourneerd door het verplaats-endpoint): de doelouder accepteert het type van deze knoop niet. Controleer de tabel hierboven (of de werkelijke positie van het type, via browsen) voordat u verplaatst.
Een knoop aanmaken onder het verkeerde ouder-type wordt op dezelfde manier geweigerd: POST /v1/nodes/{parentId}/site met een parentId die geen Division is, retourneert 409 { "error": "ParentTypeNotValid" }.
Zie Foutcodes voor de volledige responsestructuur en alle overige verplaats-/verwijdercodes.
DataBundle-knopen worden aangemaakt onder een site of map, en SiteFile-knopen worden aangemaakt onder een ouder-id dat aan de uploadflow wordt doorgegeven. Beide accepteren in de praktijk dezelfde twee ouder-typen als Folder, maar via hun eigen domeinspecifieke endpoints in plaats van een generieke route voor het aanmaken van knopen. De overige typen (Twin, Artifact, AssetLibrary) worden gepositioneerd door de platform- of verwerkingsactie die ze produceert, blader dus door de boom om ze te vinden in plaats van een vaste plek te veronderstellen.
De structuur van de DataNode
Section titled “De structuur van de DataNode”GET /v1/nodes/{id}/browse en GET /v1/nodes/search retourneren knopen beide in deze structuur:
{ "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}| Veld | Opmerkingen |
|---|---|
type | Een van de 10 bovenstaande DataNodeType-waarden |
parentId | Alleen null voor de Organization-wortel |
childrenCount | Alleen directe kinderen, niet de hele subboom |
bytesStored | Opslaggrootte van de subboom in bytes |
thumbnailSignedUrl | Optioneel. Alleen aanwezig wanneer de aanvraag hiervoor kiest met includeThumbnail=true, en alleen wanneer er een miniatuur bestaat |
Browsen versus zoeken
Section titled “Browsen versus zoeken”Beide routes retourneren dezelfde DataNode-structuur, maar beantwoorden verschillende vragen en hebben verschillende limieten:
GET /v1/nodes/{id}/browse | GET /v1/nodes/search | |
|---|---|---|
| Beantwoordt | ”Wat zijn de directe kinderen van deze knoop?" | "Vind knopen die aan deze filters voldoen, overal waar ik toegang heb” |
| Bereik | Directe kinderen van één knoop | De hele organisatieboom die aan het access token is gekoppeld |
limit | 1–20 | 1–50 |
Standaard limit | 20 | 50 |
| Filteren | Geen, alleen paginering en sortering | Naam, type, ouder/voorouder, aanmaker, tijdstempels, opslaggrootte, aantal kinderen |
Voor de werkwijze om uw eerste knoop-id te achterhalen en browse aan te roepen, zie Uw ID’s vinden. Voor de volledige set search-queryparameters, filtercombinaties en voorbeelden, zie Bedrijfsobjecten en knopen doorzoeken.
Twin-, DataBundle- en AssetLibrary-knopen verschijnen in browse- en zoekresultaten net als elke andere knoop, maar zodra u hun id heeft, adresseert u hun inhoud via een andere routefamilie in plaats van /v1/nodes:
| Knooptype | Geadresseerd via id op |
|---|---|
Twin | /v1/twin/{contextId}/... (ruimtedescriptor, zoeken naar bedrijfsobjecten) |
DataBundle | /v1/bundles/{bundleId}/... (componenten, verwerkingen, verwerkingsopties) |
AssetLibrary | /v1/asset-library/... (als ownerContextId) |
Wat is de volgende stap?
Section titled “Wat is de volgende stap?”- Foutcodes voor alle verplaats-/verwijder-/aanmaakfoutcodes en hoe u ermee omgaat.
- Bedrijfsobjecten en knopen doorzoeken voor het volledige
search-queryoppervlak.