Skip to main content
日本語版はAIによる翻訳です。正確な情報については英語版をご参照ください。
このドキュメントでは、APIを通じてSurfaceを直接登録できるInsertSurface RPCのガイドと概要を提供します。Surfaceは、InsertTreatmentTypeやUpdateTreatmentTypeで名前を指定して参照する前に存在している必要があります。本エンドポイントにより、API主導のTreatment Type連携において、これまで必要だったコンソールでの手動登録が不要になります。

API定義

InsertSurfaceの呼び出しにはTreatment ManagementのAPIキーが必要で、x-api-keyヘッダーで渡します。Treatment Management権限のないキーは403 PERMISSION_DENIEDで拒否されます。APIキーはリクエストのprojectIdに対して検証されるため、あるプロジェクト向けに発行されたキーで別のプロジェクトにSurfaceを作成することはできません。

エンティティ

SurfacePb

InsertSurface

Surfaceを登録するAPI

Surface名のルール

InsertSurfaceは(project_id, surface_name)に対して冪等です。同じプロジェクトと名前で再度呼び出した場合、重複を作成することもエラーを返すこともなく、既存のSurfaceを返します。そのため、ネットワークタイムアウト後の再送は常に安全であり、どのSurfaceを作成済みかを管理する必要はありません。Surfaceを名前で参照する前に、無条件に呼び出してください。
:::caution Surfaceは削除できません。作成時には、そのSurfaceに紐づくイベントスキーマとデータフィールドも合わせて作成されます。名前を誤るとそのSurfaceが永続的に残るため、呼び出し前に名前を検証してください。 :::

cURLリクエストのサンプル

レスポンスのサンプル

エラー

SurfaceとTreatment Typeを合わせて登録する

InsertTreatmentTypeとUpdateTreatmentTypeは、surfacesで指定されたすべてのSurfaceがそのプロジェクトに既に存在することを検証し、存在しない場合は400でリクエストを拒否します。
まず各Surface名に対してInsertSurfaceを呼び出し、その後Treatment Typeのリクエストでそれらの名前を参照してください。
  1. Treatment Typeで使用する各SurfaceについてPOST /v1/InsertSurfaceを呼び出す
  2. surfaces: [{ "surfaceName": "IN_APP_CONTENT" }]を指定してPOST /v1/InsertTreatmentTypeを呼び出す
  3. POST /v1/InsertTreatmentでTreatment Typeにコンテンツを追加する
ステップ1は冪等であるため、Surfaceを初めて使用するときだけでなく、Treatment Typeを作成するたびに実行しても問題ありません。