外部オーディエンスエンドポイント
外部オーディエンスを利用すると、外部ソースからAdobe Experience Platformにプロファイルデータをアップロードできます。 Segmentation Service APIの/external-audience エンドポイントを使用して、外部オーディエンスをExperience Platformに取り込み、詳細を表示し、外部オーディエンスを更新したり、外部オーディエンスを削除したりできます。
ガードレール
3月リリース以降、外部オーディエンスエンドポイントを使用する場合、次のガードレールが適用されます。
はじめに
/core/aisではなく/core/upsが付いています。Experience Platform APIを使用するには、認証チュートリアル を完了している必要があります。 次に示すように、Experience Platform API 呼び出しの必要な各ヘッダーの値は、認証に関するチュートリアルで説明されています。
- Authorization:
Bearer {ACCESS_TOKEN} - x-api-key:
{API_KEY} - x-gw-ims-org-id:
{ORG_ID}
Experience Platform のすべてのリソースは、特定の仮想サンドボックスに分離されています。Experience Platform API へのすべてのリクエストには、操作が行われるサンドボックスの名前を指定するヘッダーが必要です。
- x-sandbox-name:
{SANDBOX_NAME}
外部オーディエンスの作成 create-audience
/external-audience/ エンドポイントにPOST リクエストを行うことで、外部オーディエンスを作成できます。
API 形式
POST /external-audience/
リクエスト
| code language-shell |
|---|
|
| table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 5-row-3 6-row-3 7-row-3 8-row-3 9-row-3 10-row-3 11-row-3 | ||
|---|---|---|
| プロパティ | タイプ | 説明 |
name |
文字列 | 外部オーディエンスの名前。 |
description |
文字列 | 外部オーディエンスのオプションの説明。 |
customAudienceId |
文字列 | 外部オーディエンスのオプション識別子。 |
fields |
オブジェクトの配列 |
フィールドとそのデータタイプのリスト。 配列内に最小1 フィールドと最大41 フィールドが必要です。 フィールド の1つはID フィールドである必要があり、が含まれています。
|
sourceSpec |
オブジェクト |
外部オーディエンスが配置されている情報を含むオブジェクト。 このオブジェクトを使用する場合、には次の情報を含める必要があります。
|
ttlInDays |
整数 | 外部オーディエンスのデータの有効期限(日数)。 この値は1 ~ 90の範囲で設定できます。 デフォルトでは、データの有効期限は30日に設定されています。 |
audienceType |
文字列 | 外部オーディエンスのオーディエンスタイプ。 現在は、people のみがサポートされています。 |
originName |
文字列 | 必須 オーディエンスのオリジン。 これは、オーディエンスがどこから来たかを示します。外部オーディエンスの場合は、CUSTOM_UPLOADを使用する必要があります。 |
namespace |
文字列 | オーディエンスの名前空間。 デフォルトでは、この値は CustomerAudienceUpload に設定されています。 |
labels |
文字列の配列 | 外部オーディエンスに適用されるアクセス制御ラベル。 使用可能なアクセス制御ラベルについて詳しくは、 データ使用ラベル用語集を参照してください。 |
tags |
文字列の配列 | 外部オーディエンスに適用するタグ。 タグの配列を追加する場合、はをtagId使用する必要があります。 タグについて詳しくは、 タグの管理ガイド を参照してください。 |
応答
応答が成功すると、HTTP ステータス 202が、新しく作成された外部オーディエンスの詳細と共に返されます。
| code language-json |
|---|
|
| table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 5-row-3 6-row-3 7-row-3 8-row-3 9-row-3 10-row-3 11-row-3 | ||
|---|---|---|
| プロパティ | タイプ | 説明 |
operationId |
文字列 | 操作のID。 このIDを使用して、オーディエンスの作成ステータスを取得できます。 |
operationDetails |
オブジェクト | 外部オーディエンスを作成するために送信したリクエストの詳細を含むオブジェクト。 |
name |
文字列 | 外部オーディエンスの名前。 |
description |
文字列 | 外部オーディエンスの説明。 |
fields |
オブジェクトの配列 | フィールドとそのデータタイプのリスト。 この配列は、外部オーディエンスに必要なフィールドを決定します。 |
sourceSpec |
オブジェクト | 外部オーディエンスが配置されている情報を含むオブジェクト。 |
ttlInDays |
整数 | 外部オーディエンスのデータの有効期限(日数)。 この値は1 ~ 90の範囲で設定できます。 デフォルトでは、データの有効期限は30日に設定されています。 |
audienceType |
文字列 | 外部オーディエンスのオーディエンスタイプ。 |
originName |
文字列 | 必須 オーディエンスのオリジン。 これはオーディエンスの出所を示しています。 |
namespace |
文字列 | オーディエンスの名前空間。 |
labels |
文字列の配列 | 外部オーディエンスに適用されるアクセス制御ラベル。 使用可能なアクセス制御ラベルについて詳しくは、 データ使用ラベル用語集を参照してください。 |
オーディエンス作成ステータスの取得 retrieve-status
/external-audiences/operations エンドポイントに対してGET リクエストを行い、「外部オーディエンスを作成」レスポンスから受け取った操作のIDを指定することで、外部オーディエンス送信のステータスを取得できます。
API 形式
GET /external-audiences/operations/{OPERATION_ID}
{OPERATION_ID}id値。リクエスト
| code language-shell |
|---|
|
応答
応答が成功すると、HTTP ステータス 200が返され、外部オーディエンスのタスクステータスの詳細が表示されます。
| code language-json |
|---|
|
| table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 5-row-3 6-row-3 7-row-3 8-row-3 | ||
|---|---|---|
| プロパティ | タイプ | 説明 |
operationId |
文字列 | 取得する操作のID。 |
status |
文字列 | 操作のステータス。 次のいずれかの値を指定できます:SUCCESS、FAILED、PROCESSING。 |
operationDetails |
オブジェクト | オーディエンスの詳細を含むオブジェクト。 |
audienceId |
文字列 | 操作によって送信される外部オーディエンスのID。 |
createdBy |
文字列 | 外部オーディエンスを作成したユーザーのID。 |
createdAt |
長いエポックタイムスタンプ | 外部オーディエンスを作成するリクエストが送信された際のタイムスタンプ(秒単位)。 |
updatedBy |
文字列 | オーディエンスを最後に更新したユーザーのID。 |
updatedAt |
長いエポックタイムスタンプ | オーディエンスが最後に更新されたタイムスタンプ(秒単位)。 |
外部オーディエンスの更新 update-audience
audienceIdが必要です。 audienceId エンドポイントへの正常な呼び出しからGET /external-audiences/operations/{OPERATION_ID}を取得できます。/external-audience エンドポイントに対してPATCH リクエストを行い、リクエストパスにオーディエンスのIDを指定することで、外部オーディエンスのフィールドを更新できます。
このエンドポイントを使用する場合は、次のフィールドを更新できます。
- オーディエンスの説明
- フィールドレベルのアクセス制御ラベル
- オーディエンスレベルのアクセス制御ラベル
- オーディエンスのデータ有効期限
このエンドポイント を使用してフィールドを更新すると、リクエストしたフィールドのコンテンツがに置き換えられます。
API 形式
PATCH /external-audience/{AUDIENCE_ID}
リクエスト
| code language-shell |
|---|
|
| table 0-row-3 1-row-3 | ||
|---|---|---|
| プロパティ | タイプ | 説明 |
description |
文字列 | 外部オーディエンスの更新された説明。 |
さらに、次のパラメーターを更新できます。
| table 0-row-3 1-row-3 2-row-3 3-row-3 | ||
|---|---|---|
| プロパティ | タイプ | 説明 |
labels |
配列 | オーディエンスのアクセスラベルの更新されたリストを含む配列。 使用可能なアクセス制御ラベルについて詳しくは、 データ使用ラベル用語集を参照してください。 |
fields |
オブジェクトの配列 | 外部オーディエンスのフィールドと関連するラベルを含む配列。 PATCH リクエストにリストされているフィールドのみが更新されます。 使用可能なアクセス制御ラベルについて詳しくは、 データ使用ラベル用語集を参照してください。 |
ttlInDays |
整数 | 外部オーディエンスのデータの有効期限(日数)。 この値は1 ~ 90の範囲で設定できます。 |
応答
応答が成功すると、HTTP ステータス 200が、更新された外部オーディエンスの詳細とともに返されます。
| code language-json |
|---|
|
オーディエンス収集を開始 start-audience-ingestion
audienceIdが必要です。 audienceId エンドポイントへの正常な呼び出しからGET /external-audiences/operations/{OPERATION_ID}を取得できます。オーディエンス IDを指定しながら、次のエンドポイントにPOST リクエストを実行することで、オーディエンスの取り込みを開始できます。
API 形式
POST /external-audience/{AUDIENCE_ID}/runs
リクエスト
次のリクエストは、外部オーディエンスに対する取り込み実行をトリガーします。
| code language-shell |
|---|
|
| table 0-row-3 1-row-3 2-row-3 | ||
|---|---|---|
| プロパティ | タイプ | 説明 |
dataFilterStartTime |
エポックタイムスタンプ | 必須どのファイルが処理されるかを決定する開始時間を指定する範囲。 これは、選択されたファイルが指定された時間の 後 のファイルであることを意味します。 |
dataFilterEndTime |
エポックタイムスタンプ | フローを実行して処理するファイルを選択する終了時間を指定する範囲。 これは、選択されたファイルが指定された時間より 前 のファイルであることを意味します。 |
応答
応答が成功すると、取り込み実行に関する詳細が記載されたHTTP ステータス 200が返されます。
| code language-json |
|---|
|
| table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 5-row-3 6-row-3 7-row-3 8-row-3 | ||
|---|---|---|
| プロパティ | タイプ | 説明 |
audienceName |
文字列 | 取り込みを開始するオーディエンスの名前。 |
audienceId |
文字列 | オーディエンスのID。 |
runId |
文字列 | 開始した取り込み実行のID。 |
differentialIngestion |
ブール | 最後の取り込み以降の違いまたは完全なオーディエンス取り込みからの差分に基づいて、取り込みが部分的な取り込みかどうかを判断するフィールド。 |
dataFilterStartTime |
エポックタイムスタンプ | フローが実行される開始時間を指定して、処理されたファイルを選択する範囲。 |
dataFilterEndTime |
エポックタイムスタンプ | フローが実行され、処理されたファイルを選択する終了時間を指定する範囲。 |
createdAt |
長いエポックタイムスタンプ | 外部オーディエンスを作成するリクエストが送信された際のタイムスタンプ(秒単位)。 |
createdBy |
文字列 | 外部オーディエンスを作成したユーザーのID。 |
特定のオーディエンス取り込みステータスの取得 retrieve-ingestion-status
audienceIdと取り込みの実行IDのrunIdの両方が必要です。 audienceIdは、GET /external-audiences/operations/{OPERATION_ID} エンドポイントへの正常な呼び出しから取得でき、runIdはPOST /external-audience/{AUDIENCE_ID}/runs エンドポイントの以前の正常な呼び出しから取得できます。オーディエンスと実行IDの両方を指定しながら、次のエンドポイントに対してGET リクエストを実行することで、オーディエンス取り込みのステータスを取得できます。
API 形式
GET /external-audience/{AUDIENCE_ID}/runs/{RUN_ID}
リクエスト
次のリクエストは、外部オーディエンスの取り込みステータスを取得します。
| code language-shell |
|---|
|
応答
応答が成功すると、HTTP ステータス 200が返され、外部オーディエンス取り込みの詳細が表示されます。
| code language-json |
|---|
|
| table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 5-row-3 6-row-3 7-row-3 8-row-3 9-row-3 10-row-3 | ||
|---|---|---|
| プロパティ | タイプ | 説明 |
audienceName |
文字列 | オーディエンスの名前。 |
audienceId |
文字列 | オーディエンスのID。 |
runId |
文字列 | 取り込み実行のID。 |
status |
文字列 | 取り込み実行のステータス。 可能なステータスはSUCCESSとFAILEDです。 |
differentialIngestion |
ブール | 最後の取り込み以降の違いまたは完全なオーディエンス取り込みからの差分に基づいて、取り込みが部分的な取り込みかどうかを判断するフィールド。 |
dataFilterStartTime |
エポックタイムスタンプ | フローが実行される開始時間を指定して、処理されたファイルを選択する範囲。 |
dataFilterEndTime |
エポックタイムスタンプ | フローが実行され、処理されたファイルを選択する終了時間を指定する範囲。 |
createdAt |
長いエポックタイムスタンプ | 外部オーディエンスを作成するリクエストが送信された際のタイムスタンプ(秒単位)。 |
createdBy |
文字列 | 外部オーディエンスを作成したユーザーのID。 |
details |
オブジェクトの配列 |
取り込み実行の詳細を含むオブジェクト。
|
オーディエンス取り込み実行のリスト list-ingestion-runs
audienceIdが必要です。 audienceId エンドポイントへの正常な呼び出しからGET /external-audiences/operations/{OPERATION_ID}を取得できます。オーディエンス IDを指定しながら、次のエンドポイントに対してGET リクエストを実行することで、選択した外部オーディエンスに対するすべての取り込み実行を取得できます。 複数のパラメーターを使用する場合は、アンパサンド(&)で区切ります。
API 形式
GET /external-audience/{AUDIENCE_ID}/runs
リクエスト
次のリクエストは、外部オーディエンスに対するすべての取り込み実行を取得します。
| code language-shell |
|---|
|
応答
応答が成功すると、HTTP ステータス 200が返され、指定された外部オーディエンスの取り込み実行のリストが表示されます。
| code language-json |
|---|
|
| table 0-row-3 1-row-3 | ||
|---|---|---|
| プロパティ | タイプ | 説明 |
runs |
オブジェクト | オーディエンスに属する取り込み実行のリストを含むオブジェクト。 このオブジェクトの詳細については、取り込みステータスの取得セクション を参照してください。 |
外部オーディエンスのデータ有効期限の拡張 extend-data-expiration
audienceIdが必要です。 audienceId エンドポイントへの正常な呼び出しからGET /external-audiences/operations/{OPERATION_ID}を取得できます。オーディエンス IDを指定しながら、次のエンドポイントにPOST リクエストを行うことで、外部オーディエンスのデータ有効期限を延長できます。
データの有効期限は、取り込み時に設定された元の期間だけ延長されます。 期間が指定されていない場合は、デフォルトの30日間の延長が適用されます。 データの有効期限を延長すると、最後に正常に取り込まれたデータでオーディエンスが再び取り込まれます。
API 形式
/ais/external-audience/extend-ttl/{AUDIENCE_ID}
リクエスト
次のリクエストは、指定された外部オーディエンスのデータ有効期限を拡張します。
| code language-shell |
|---|
|
応答
応答が成功すると、HTTP ステータス 200とオーディエンスの詳細が返されます。
| code language-json |
|---|
|
外部オーディエンスの削除 delete-audience
audienceIdが必要です。 audienceId エンドポイントへの正常な呼び出しからGET /external-audiences/operations/{OPERATION_ID}を取得できます。オーディエンス IDを指定しながら、次のエンドポイントに対してDELETE リクエストを行うことで、外部オーディエンスを削除できます。
API 形式
DELETE /external-audience/{AUDIENCE_ID}
リクエスト
次のリクエストは、指定された外部オーディエンスを削除します。
| code language-shell |
|---|
|
応答
応答が成功すると、HTTP ステータス 204が空の応答本文で返されます。
次の手順 next-steps
このガイドでは、Experience Platform APIを使用して外部オーディエンスを作成、管理、削除する方法について詳しく説明します。 Experience Platform UIで外部オーディエンスを使用する方法については、 オーディエンスポータルのドキュメント を参照してください。
付録 appendix
次の節では、外部オーディエンス APIを使用する際に使用できるエラーコードを示します。
BAD_REQUESTBAD_REQUESTUNAUTHORIZEDUNAUTHORIZEDimsOrgIdが指定されています。UNAUTHORIZEDNOT_FOUNDDUPLICATE_RESOURCEUNPROCESSABLE_ENTITYINTERNAL_SERVER_ERRORBAD_GATEWAY