メインコンテンツへスキップ
日本語版はAIによる翻訳です。正確な情報については英語版をご参照ください。
このドキュメントでは、APIを通じてサーフェス(表示面)を直接登録できるInsertSurface RPCについて説明します。サーフェスは、InsertTreatmentTypeやUpdateTreatmentTypeで名前を指定して参照する前に存在している必要があります。このエンドポイントを使えば、APIでトリートメントタイプを連携する際に、これまで必要だったAuxiaコンソールでの手動登録が不要になります。

API定義

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

エンティティ

SurfacePb

InsertSurface

サーフェスを登録するAPI

サーフェス名のルール

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

cURLリクエストの例

レスポンスの例

エラー

サーフェスとトリートメントタイプを合わせて登録する

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