콘텐츠로 이동

ID 찾기: 조직, 노드, 컨텍스트

RealityConnect API의 거의 모든 경로에는 먼저 알아내야 하는 ID(contextId, organizationId, ownerContextIds)가 포함됩니다. 이 페이지에서는 이러한 ID가 조직의 노드 트리 어디에 있는지, 액세스 토큰 하나만으로 이를 찾는 방법, 그리고 각 라우트 계열이 어떤 ID를 요구하는지 설명합니다.


조직의 콘텐츠(division, site, folder, twin, data bundle, asset library 등)는 하나의 data node 트리를 이룹니다. 각 노드는 uuid ID와 DataNodeType(Organization, Division, Site, Folder, Twin, AssetLibrary, Project, SiteFile, Artifact, DataBundle)을 가집니다. API 전반에서 보게 되는 경로 매개변수(contextId, organizationId, nodeId, parentId, ownerContextId 등)는 대부분 이런 노드 중 하나의 ID일 뿐입니다.

액세스 토큰에서 조직의 모든 노드 ID까지 두 번의 호출로 도달할 수 있습니다.

GET https://cloud-api.prevu3d.com/oauth/api-info
Authorization: Bearer <access_token>
{
"organization": {
"id": "217ebd23-ec54-4af0-a6d6-4a441a6d1966",
"name": "Test Organization"
},
"apiUrl": "https://api-ue1.prevu3d.com/realityconnect-api"
}

organization.id는 노드 트리의 루트이며, 대부분의 라우트가 요구하는 organizationId입니다. apiUrl은 사용자의 리전별 RealityConnect API 기본 URL입니다. 전체 토큰 교환 과정과 적절한 OAuth 플로우 선택 방법은 Getting Started를 참고하세요.

2. 거기서부터 트리를 따라 내려가기

섹션 제목: “2. 거기서부터 트리를 따라 내려가기”
GET {apiUrl}/v1/nodes/{id}/browse
Authorization: Bearer <access_token>

조직 ID를 전달하면 해당 조직의 division 목록이 반환됩니다. 응답의 각 항목은 그 자체로 고유한 ID와 유형을 가진 노드입니다. 그 ID를 동일한 라우트에 전달하면 한 단계 더 아래로 탐색할 수 있습니다(division의 site, site의 folder와 twin 등). “내 division 목록 조회” 또는 “이 site의 twin 목록 조회” 같은 별도 엔드포인트는 없습니다. browse 하나의 호출을 트리를 따라 반복할 뿐입니다.

각 라우트 계열은 어떤 ID를 요구하는가?

섹션 제목: “각 라우트 계열은 어떤 ID를 요구하는가?”
라우트 계열ID식별 대상
/v1/twin/{contextId}/...(assets, POIs, zones, drafts, object, search, space)contextIdtwin, 그 twin이 속한 site, 또는 그 draft 중 하나. 직접 해석됨(design project나 layout ID를 전달하면 여기서는 404가 발생).
/v1/reality-plan/{contextId}/...(space, model-assets, layouts, bundles)contextIddesign project(RealityPlan Project) 또는 그 layout 중 하나. 직접 해석됨(twin, site, twin draft ID를 전달하면 여기서는 404가 발생).
/v1/nodes/{id}/browseid / nodeId / parentId작업 중인 계층 수준의 data node 자체.
GET /v1/asset-library/-/models(쿼리 매개변수 ownerContextIds)ownerContextIds라이브러리를 소유한 컨텍스트의 ID: 조직 ID 또는 RealityPlan Project ID(AssetLibrary 노드 자체의 ID가 아님). 이 라우트는 현재 최소 한 개의 값을 요구하며, 생략하면 400이 반환됨.
/v1/asset-library/{ownerContextId}/...(경로 매개변수, 예: library model 생성/조회/수정)ownerContextId위와 동일: 라이브러리를 소유한 조직 또는 RealityPlan Project의 ID이며, AssetLibrary 노드 자체의 ID가 아님.