コンテンツにスキップ

IDを見つける: 組織、ノード、コンテキスト

RealityConnect APIのほぼすべてのパスには、事前に取得しておく必要があるID(contextId、organizationId、ownerContextIds)が含まれています。このページでは、これらのIDが組織のノードツリーのどこにあるか、アクセストークンだけを起点にどうやって見つけるか、そしてどのルートファミリーがどのIDを必要とするかを説明します。


組織のコンテンツ(division、site、folder、twin、data bundle、asset libraryなど)は、すべて1つのdata nodeのツリーです。各ノードはuuidのIDとDataNodeType(Organization、Division、Site、Folder、Twin、AssetLibrary、Project、SiteFile、Artifact、DataBundle)を持ちます。API全体で目にするパスパラメータ(contextId、organizationId、nodeId、parentId、ownerContextIdなど)の多くは、単にこれらのノードのいずれかのIDです。

アクセストークンから組織内の任意のノードIDへは、2回の呼び出しでたどり着けます。

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 を参照してください。

GET {apiUrl}/v1/nodes/{id}/browse
Authorization: Bearer <access_token>

組織IDを渡すとdivisionの一覧が返ります。レスポンスの各項目自体がノードであり、独自のIDとタイプを持ちます。そのIDを同じルートに渡せば、さらに1階層下(divisionのsite、siteのfolderやtwinなど)をたどれます。「自分のdivisionを一覧する」「このsiteのtwinを一覧する」といった専用のエンドポイントはありません。browse という1つの呼び出しを、ツリーに沿って繰り返すだけです。

各ルートファミリーはどのIDを必要とするか

Section titled “各ルートファミリーはどのIDを必要とするか”
ルートファミリーID何を識別するか
/v1/twin/{contextId}/...(assets、POIs、zones、drafts、object、search、space)contextIdtwin、それが属する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ではない)。このルートは現在少なくとも1つの値を必要とし、省略すると 400 になる。
/v1/asset-library/{ownerContextId}/...(パスパラメータ、例: library modelの作成/読み取り/更新)ownerContextId上と同じく、ライブラリを所有する組織またはRealityPlan ProjectのID(AssetLibrary ノード自体のIDではない)。