[Ultimate]{class="badge positive"}
HTTP API 接続
概要 overview
HTTP API宛先は、プロファイルデータをサードパーティのHTTP エンドポイントに送信するのに役立つExperience Platform ストリーミング宛先です。
プロファイルデータをHTTP エンドポイントに送信するには、まずExperience Platformの宛先に接続する必要があります。
ユースケース use-cases
HTTP API宛先を使用して、XDM プロファイルデータとオーディエンスを汎用HTTP エンドポイントに書き出します。 そこで、Experience Platform から書き出されたプロファイル データに対して、独自の分析を実行したり、その他の必要な操作を行ったりできます。
HTTP エンドポイントとして設定できるのは、顧客独自のシステムまたはサードパーティソリューションのいずれかです。
サポートされるオーディエンス supported-audiences
この節では、この宛先に書き出すことができるオーディエンスのタイプについて説明します。
このカテゴリには、Segmentation Serviceを通じて生成されたオーディエンス以外のすべてのオーディエンスのオリジンが含まれます。 様々なオーディエンスの起源について読みます。 次に例を示します。
- カスタムアップロードオーディエンス がCSV ファイルからExperience Platformにをインポートしました。
- 類似オーディエンス,
- 連合オーディエンス,
- Adobe Journey Optimizerなどの他のExperience Platform アプリで生成されたオーディエンス
- その他。
オーディエンスのデータタイプ別にサポートされるオーディエンス:
書き出しのタイプと頻度 export-type-frequency
宛先の書き出しのタイプと頻度について詳しくは、以下の表を参照してください。
前提条件 prerequisites
Experience Platform からデータを書き出す際に HTTP API 宛先を使用する場合は、次の前提条件を満たす必要があります。
- REST API をサポートする HTTP エンドポイントが必要です。
- 使用する HTTP エンドポイントが、Experience Platform プロファイルスキーマをサポートする必要があります。HTTP API 宛先では、サードパーティのペイロードスキーマへの変換はサポートされていません。Experience Platform の出力スキーマの例については、書き出されたデータの節を参照してください。
- HTTP エンドポイントはヘッダーをサポートする必要があります。
- HTTP エンドポイントは、適切なデータ処理を確保し、タイムアウトエラーを回避するために2秒以内に応答する必要があります。
- mTLSを使用する場合:データ受信エンドポイントでTLSを無効にし、mTLSのみを有効にする必要があります。
mTLS プロトコルのサポートと証明書 mtls-protocol-support
Mutual Transport Layer Security (mTLS)を使用して、HTTP API宛先接続へのアウトバウンド接続のセキュリティを強化できます。
mTLSは、情報を共有する両当事者が、データを共有する前に誰であると主張するかを保証する相互認証プロトコルです。 mTLSには、標準のTLSと比較した追加の手順が含まれており、サーバーはクライアントの証明書を要求および検証し、クライアントはサーバーの証明書を検証します。
mTLSの考慮事項 mtls-considerations
HTTP API宛先に対するmTLS サポートは、プロファイルの書き出しが送信されるデータ受信エンドポイント にのみ適用されます(HTTP Endpoint宛先の詳細の フィールド)。
データ書き出し用のmTLSの設定 configuring-mtls
HTTP API宛先でmTLSを使用するには、HTTP Endpoint宛先の詳細 ページで設定する (データ受信エンドポイント)でTLS プロトコルを無効にし、mTLSのみを有効にする必要があります。 エンドポイントで引き続きTLS 1.2 プロトコルが有効になっている場合、クライアント認証用の証明書は送信されません。 つまり、HTTP API宛先でmTLSを使用するには、データ受信サーバーエンドポイントがmTLS専用に有効な接続エンドポイントである必要があります。
証明書の詳細の取得と検査 certificate
Common Name (CN)やSubject Alternative Names (SAN)などの証明書の詳細を検査してサードパーティによる検証を追加する場合は、APIを使用して証明書を取得し、応答からこれらのフィールドを抽出します。
詳しくは、公開証明書エンドポイントのドキュメント を参照してください。
IP アドレスの許可リスト ip-address-allowlist
顧客のセキュリティおよびコンプライアンスの要件を満たすために、Experience Platform には HTTP API 宛先の許可リストに使用できる静的 IP のリストが用意されています。許可リストに加えるするIPの完全なリストについては、 ストリーミング宛先のIP アドレスの許可リストに加えるを参照してください。
サポートしている認証タイプ supported-authentication-types
HTTP API 宛先は、HTTP エンドポイントに対して、以下に示す複数の認証タイプをサポートしています。
- 認証なしの HTTP エンドポイント。
- ベアラートークン認証。
- OAuth 2.0 クライアント資格情報は、次の例に示すように、HTTP リクエストの本文にclient ID、client secret、およびgrant typeを含む本文フォームを使用した認証です。
curl --location --request POST '<YOUR_API_ENDPOINT>' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'grant_type=client_credentials' \
--data-urlencode 'client_id=<CLIENT_ID>' \
--data-urlencode 'client_secret=<CLIENT_SECRET>'
- URL がエンコードされた client ID および client secret を含む認証ヘッダーを持つ、基本認証による OAuth 2.0 クライアント資格情報。
curl --location --request POST 'https://some-api.com/token' \
--header 'Authorization: Basic base64(clientId:clientSecret)' \
--header 'Content-type: application/x-www-form-urlencoded; charset=UTF-8' \
--data-urlencode 'grant_type=client_credentials'
宛先への接続 connect-destination
この宛先に接続するには、宛先設定のチュートリアルの手順に従ってください。この宛先に接続する際は、次の情報を指定する必要があります。
認証情報 authentication-information
ベアラートークン認証 bearer-token-authentication
HTTP エンドポイントに接続する Bearer token 認証タイプを選択した場合は、以下の情報を入力し、Connect to destinationを選択します。
- Bearer token: HTTPの場所に対して認証するベアラートークンを入力します。
認証なし no-authentication
HTTP エンドポイントに接続する None 認証タイプを選択した場合:
この認証オプションを選択すると、Connect to destinationを選択するだけで、エンドポイントへの接続が確立されます。
OAuth 2 パスワード認証 oauth-2-password-authentication
HTTP エンドポイントに接続する OAuth 2 Password 認証タイプを選択した場合は、以下の情報を入力し、Connect to destinationを選択します。
- Access Token URL: アクセストークンを発行し、必要に応じてトークンを更新する側のURL。
- Client ID: システムがAdobe Experience Platformに割り当てる
client ID。 - Client Secret: システムがAdobe Experience Platformに割り当てる
client secret。 - Username: HTTP エンドポイントにアクセスするためのユーザー名。
- Password: HTTP エンドポイントにアクセスするためのパスワード。
OAuth 2 クライアント資格情報認証 oauth-2-client-credentials-authentication
HTTP エンドポイントに接続する OAuth 2 Client Credentials 認証タイプを選択した場合は、以下の情報を入力し、Connect to destinationを選択します。
-
Access Token URL: アクセストークンを発行し、必要に応じてトークンを更新する側のURL。
-
Client ID: システムがAdobe Experience Platformに割り当てる
client ID。 -
Client Secret: システムがAdobe Experience Platformに割り当てる
client secret。 -
Client Credentials Type: エンドポイントでサポートされているOAuth 2 クライアント資格情報付与のタイプを選択してください:
- Body Form Encoded:この場合、
client IDとclient secretは、宛先に送信されたリクエスト の本文に含まれます。 例については、サポートされる認証タイプの節を参照してください。 - Basic Authorization:この場合、
client IDとclient secretは ヘッダーAuthorizationに 含まれ、base64でエンコードされ、宛先に送信されます。 例については、サポートされる認証タイプの節を参照してください。
- Body Form Encoded:この場合、
宛先の詳細を入力 destination-details
宛先の詳細を設定するには、以下の必須フィールドとオプションフィールドに入力します。UI のフィールドの横のアスタリスクは、そのフィールドが必須であることを示します。
- Name:今後この宛先を認識する際に使用する名前を入力します。
- Description:今後この宛先を特定するのに役立つ説明を入力します。
- Headers:宛先呼び出しに含めるカスタムヘッダーを、次の形式で入力します:
header1:value1,header2:value2,...headerN:valueN。 - HTTP Endpoint: プロファイルデータを送信するHTTP エンドポイントのURL。 これがデータ受信エンドポイントです。 mTLSを使用している場合、このエンドポイントではTLSを無効にし、mTLSのみを有効にする必要があります。
- Query parameters:必要に応じて、HTTP エンドポイント URLにクエリパラメーターを追加できます。 使用するクエリパラメーターを
parameter1=value¶meter2=valueのように書式設定します。 - Include Segment Names: データの書き出しに、書き出すオーディエンスの名前を含めるかどうかを切り替えます。 注意:宛先にマッピングされたオーディエンスにのみ、オーディエンス名が含まれます。 書き出しに表示されるマッピングされていないオーディエンスには、
nameフィールドは含まれません。 このオプションを選択したデータの書き出しの例については、書き出されたデータの節を参照してください。 - Include Segment Timestamps: オーディエンスを作成および更新した際のUNIX タイムスタンプと、オーディエンスをアクティブ化する宛先にマッピングした際のUNIX タイムスタンプをデータ書き出しに含める場合に、切り替えます。 このオプションを選択したデータの書き出しの例については、書き出されたデータの節を参照してください。
アラートの有効化 enable-alerts
アラートを有効にすると、宛先へのデータフローのステータスに関する通知を受け取ることができます。リストからアラートを選択して、データフローのステータスに関する通知を受け取るよう登録します。アラートについて詳しくは、UIを使用した宛先アラートの購読に関するガイドを参照してください。
宛先接続の詳細の提供が完了したら、Nextを選択します。
この宛先に対してオーディエンスをアクティブ化 activate
- データをアクティブ化するには、View Destinations、Activate Destinations、View ProfilesおよびView Segments アクセス制御権限が必要です。 アクセス制御の概要を参照するか、製品管理者に問い合わせて必要な権限を取得してください。
- 同意ポリシー評価は、現在、HTTP API宛先への書き出しではサポートされていません。 詳細情報。
この宛先に対するオーディエンスのアクティブ化の手順については、 ストリーミングプロファイル書き出し宛先に対するオーディエンスデータのアクティブ化を参照してください。
宛先属性 attributes
Select attributes ステップでは、Adobeは結合スキーマ から一意のIDを選択することをお勧めします。 宛先に書き出す一意の ID およびその他の XDM フィールドを選択します。
プロファイルの書き出し動作 profile-export-behavior
Experience Platformは、プロファイルの書き出し動作をHTTP API宛先に最適化し、オーディエンスの選定やその他の重要なイベントの後にプロファイルに関連する更新が発生した場合にのみ、データをAPI エンドポイントに書き出します。 プロファイルは、以下の状況で宛先に書き出されます。
- プロファイルの更新は、宛先にマッピングされたオーディエンスの少なくとも1つのオーディエンスメンバーシップの変更によって決定されました。 例えば、プロファイルは、宛先にマッピングされたいずれかのオーディエンスに適合しているか、宛先にマッピングされたいずれかのオーディエンスから退出しています。
- プロファイルの更新が、ID マップの変更によって決定する場合。例えば、宛先にマッピングされたオーディエンスのいずれかに対して既に修飾されているプロファイルに、ID マップ属性に新しいIDが追加されているとします。
- プロファイルの更新は、宛先にマッピングされた属性のうち、少なくとも 1 つの属性が変更されたことで判断されました。例えば、マッピング手順で宛先にマッピングされた属性の 1 つがプロファイルに追加されます。
上記のすべての場合で、適切な更新が行われたプロファイルのみが宛先に書き出されます。例えば、宛先フローにマッピングされたオーディエンスに100人のメンバーがあり、5つの新しいプロファイルがオーディエンスに適格である場合、宛先への書き出しは増分であり、5つの新しいプロファイルのみが含まれます。
データの書き出しを決定する要素と、書き出しに含まれる内容 what-determines-export-what-is-included
特定のプロファイルに対して書き出されるデータに関しては、HTTP API 宛先へのデータ書き出しを決定する要素、および 書き出しに含まれるデータ という 2 つの異なる概念を理解することが重要です。
- マッピングされた属性とオーディエンスは、宛先の書き出しのキューとして機能します。つまり、プロファイルの
segmentMembershipステータスがrealizedまたはexitingに変更されたり、マッピングされた属性が更新されたりすると、宛先の書き出しが開始されます。 - ID は現在 HTTP API の宛先にマッピングできないので、特定のプロファイルの ID を変更すると、宛先の書き出しも決定されます。
- 属性の変更は、同じ値であるかどうかに関わらず、属性に対する更新として定義されます。 つまり、値自体が変更されていない場合でも、属性の上書きは変更と見なされます。
segmentMembershipオブジェクトには、アクティブ化データフローでマッピングされたオーディエンスが含まれます。このオーディエンスについて、プロファイルのステータスが選定またはオーディエンス離脱イベントの後に変更されました。プロファイルが選定された他のマッピングされていないオーディエンスは、宛先の書き出しに含めることができます。これらのオーディエンスが、アクティベーションデータフローにマッピングされたオーディエンスと同じ結合ポリシーに属している場合に注意してください。
重要: Include Segment Names オプションが有効になっている場合、セグメント名は、宛先にマッピングされているオーディエンスにのみ含まれます。 このオプションが有効になっている場合でも、書き出しに表示されるマッピングされていないオーディエンスには、nameフィールドは含まれません。identityMapオブジェクト内のすべての ID も含まれます(Experience Platform は現在、HTTP API の宛先で ID マッピングをサポートしていません)。- マッピングされた属性のみが宛先の書き出しに含まれます。
例えば、HTTP 宛先に対するこのデータフローについて考えてみましょう。ここでは、3 つのオーディエンスがデータフローで選択され、4 つの属性が宛先にマッピングされます。
宛先へのプロファイル書き出しは、プロファイルが 3つのマッピングされたオーディエンス のいずれかに適格または離脱したときにトリガーされます。 データの書き出しでは、そのプロファイルがそのメンバーであり、書き出しをトリガーしたオーディエンスと同じ結合ポリシーを共有している場合、segmentMembership オブジェクト(以下の書き出されたデータ を参照)にマッピングされていないオーディエンスも含めることができます。 例えば、プロファイルが Customer with DeLorean Cars のオーディエンスに適格でありながら、視聴した「Back to the Future」映画と Sf ファン のオーディエンスのメンバーでもある場合、これらの2つのオーディエンスはsegmentMembership オブジェクトにも表示されます。ただし、これらの2つのオーディエンスが Customer with DeLorean Cars のオーディエンスと同じ結合ポリシーを共有している場合です。
プロファイル属性の観点から、上記でマッピングした 4 つの属性に対する変更によって、書き出しの宛先が決定し、プロファイルに存在する 4 つのマッピング済み属性のいずれかがデータ書き出しに表示されます。
履歴データのバックフィル historical-data-backfill
既存の宛先に新しいオーディエンスを追加する場合、または新しい宛先を作成してオーディエンスをマッピングする場合、Experience Platformは過去のオーディエンスの選定データを宛先に書き出します。 オーディエンスが宛先に追加された 前 のオーディエンスに適格なプロファイルは、約1時間以内に宛先に書き出されます。
書き出したデータ exported-data
書き出されたExperience Platform データは、JSON形式でHTTP宛先に格納されます。 例えば、以下の書き出しには、特定のオーディエンスに適合し、別の2つのオーディエンスのメンバーであり、別のオーディエンスから離脱したプロファイルが含まれます。 書き出しには、プロファイル属性の名、姓、生年月日、個人メールアドレスも含まれます。 このプロファイルの ID は、ECID とメールです。
{
"person": {
"birthDate": "YYYY-MM-DD",
"name": {
"firstName": "John",
"lastName": "Doe"
}
},
"personalEmail": {
"address": "john.doe@acme.com"
},
"segmentMembership": {
"ups":{
"7841ba61-23c1-4bb3-a495-00d3g5fe1e93":{
"lastQualificationTime":"2022-01-11T21:24:39Z",
"status":"exited"
},
"59bd2fkd-3c48-4b18-bf56-4f5c5e6967ae":{
"lastQualificationTime":"2022-01-02T23:37:33Z",
"status":"realized"
},
"947c1c46-008d-40b0-92ec-3af86eaf41c1":{
"lastQualificationTime":"2021-08-25T23:37:33Z",
"status":"realized"
},
"5114d758-ce71-43ba-b53e-e2a91d67b67f":{
"lastQualificationTime":"2022-01-11T23:37:33Z",
"status":"realized"
}
}
},
"identityMap": {
"ecid": [
{
"id": "14575006536349286404619648085736425115"
},
{
"id": "66478888669296734530114754794777368480"
}
],
"email_lc_sha256": [
{
"id": "655332b5fa2aea4498bf7a290cff017cb4"
},
{
"id": "66baf76ef9de8b42df8903f00e0e3dc0b7"
}
]
}
}
Include Segment NamesおよびInclude Segment Timestamps オプションの接続先フローで選択したUI設定に応じて、書き出されたデータの詳細な例を次に示します。
segmentMembership セクションにオーディエンス名が含まれています| code language-json |
|---|
|
| note note |
|---|
| NOTE |
この例では、最初のオーディエンス(5b998cb9-9488-4ec3-8d95-fa8338ced490)が宛先にマッピングされ、name フィールドが含まれています。 354e086f-2e11-49a2-9e39-e5d9a76be683 オプションが有効になっているにもかかわらず、2番目のオーディエンス (name)は宛先にマッピングされておらず、Include Segment Names フィールドは含まれていません。 |
segmentMembership セクションにオーディエンスのタイムスタンプが含まれています| code language-json |
|---|
|
制限と再試行ポリシー limits-retry-policy
Experience Platformでは、95%の確率で、HTTP宛先への各データフローに対して1秒間に10千回未満のリクエストを送信した場合、スループット待ち時間を10分未満に抑えようとします。
HTTP API宛先へのリクエストが失敗した場合、Experience Platformはそれらを保存し、2回再試行します。
トラブルシューティング troubleshooting
信頼性の高いデータ配信を確保し、タイムアウトの問題を回避するには、前提条件 セクションで指定されているように、HTTP エンドポイントがExperience Platform リクエストに2秒以内に応答することを確認します。 応答に時間がかかると、タイムアウトエラーが発生します。