IDを見つける: 組織、ノード、コンテキスト
RealityConnect APIのほぼすべてのパスには、事前に取得しておく必要があるID(contextId、organizationId、ownerContextIds)が含まれています。このページでは、これらのIDが組織のノードツリーのどこにあるか、アクセストークンだけを起点にどうやって見つけるか、そしてどのルートファミリーがどのIDを必要とするかを説明します。
すべてはノードである
Section titled “すべてはノードである”組織のコンテンツ(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です。
トークンからツリーをたどる
Section titled “トークンからツリーをたどる”アクセストークンから組織内の任意のノードIDへは、2回の呼び出しでたどり着けます。
1. 組織IDを取得する
Section titled “1. 組織IDを取得する”GET https://cloud-api.prevu3d.com/oauth/api-infoAuthorization: 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. そこから下へたどる
Section titled “2. そこから下へたどる”GET {apiUrl}/v1/nodes/{id}/browseAuthorization: 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) | contextId | twin、それが属するsite、またはそのdraftのいずれか。直接解決される。design projectやlayoutのIDを渡すとここでは404になる。 |
/v1/reality-plan/{contextId}/...(space、model-assets、layouts、bundles) | contextId | design project(RealityPlan Project)、またはそのlayoutのいずれか。直接解決される。twin、site、twin draftのIDを渡すとここでは404になる。 |
/v1/nodes/{id}/browse | id / 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ではない)。 |
次のステップ
Section titled “次のステップ”- APIリファレンス で完全なリクエスト/レスポンススキーマを確認する。
- 絞り込んだノードやオブジェクトの検索については Searching Business Objects and Nodes を参照。
read:hierarchyとwrite:hierarchyが許可する内容については OAuth Scopes を参照。