このページ: カスタムアクションと認証済みAPI呼び出しを使用して、ジャーニーからAdobe Experience Platformにカスタムジャーニーイベントを書き込む方法を説明します。
このユースケースでは、カスタムアクションと認証済み呼び出しを使用して、ジャーニーからAdobe Experience Platformにカスタムイベントを書き込む方法について説明します。
開発者プロジェクトの設定 custom-action-aep-IO
-
Adobe Developer Console で、「プロジェクト」をクリックし、IO プロジェクトを開きます。
-
「資格情報」セクションで、「OAuth サーバー間」をクリックします。
-
「cURL コマンドを表示」をクリックします。
-
cURL コマンドをコピーし、client_id、client_secret、grant_type および scope を保存します。
curl -X POST 'https://ims-na1.adobelogin.com/ims/token/v3' -H 'Content-Type: application/x-www-form-urlencoded' -d 'grant_type=client_credentials&client_id=1234&client_secret=5678&scope=openid,AdobeID,read_organizations,additional_info.projectedProductContext,session'
HTTP API インレットを使用したソースの設定
-
ジャーニーからデータを書き込むエンドポイントをAdobe Experience Platformに作成します。
-
Adobe Experience Platformで、左側のメニューの 接続 の下にある ソース をクリックします。 HTTP API で「データを追加」をクリックします。
Adobe Experience Platform
の サンドボックス選択ドロップダウン
-
「新規アカウント」を選択し、認証を有効にします。 「ソースに接続」を選択します。
-
「次へ」を選択し、データを書き込むデータセットを選択します。 「次へ」、「終了」の順にクリックします。
-
新しく作成したデータフローを開きます。 スキーマペイロードをコピーして、メモ帳に保存します。
{
"header": {
"schemaRef": {
"id": "https://ns.adobe.com/<your_org>/schemas/<schema_id>",
"contentType": "application/vnd.adobe.xed-full+json;version=1.0"
},
"imsOrgId": "<org_id>",
"datasetId": "<dataset_id>",
"source": {
"name": "Custom Journey Events"
}
},
"body": {
"xdmMeta": {
"schemaRef": {
"id": "https://ns.adobe.com/<your_org>/schemas/<schema_id>",
"contentType": "application/vnd.adobe.xed-full+json;version=1.0"
}
},
"xdmEntity": {
"_id": "test1",
"<your_org>": {
"journeyVersionId": "",
"nodeId": "", "customer_Id":""
},
"eventMergeId": "",
"eventType": "",
"producedBy": "self",
"timestamp": "2018-11-12T20:20:39+00:00"
}
}
}
カスタムアクションの設定 custom-action-config
カスタムアクションの設定について詳しくは、このページを参照してください。
この例では、次の手順に従います。
-
Adobe Journey Optimizerを開き、左側のメニューの 管理 の下にある 設定 をクリックします。 アクションで、「管理」をクリックし、「アクションを作成」をクリックします。
-
URLを設定し、POST メソッドを選択します。
https://dcs.adobedc.net/collection/<collection_id>?syncValidation=false -
ヘッダー(Content-Type、Charset、sandbox-name)が設定されていることを確認します。
認証の設定 custom-action-aep-authentication
-
次のペイロードを持つ カスタム として タイプ を選択します。
-
client_secret、client_id、scope、grant_type を(以前に使用した IO プロジェクトペイロードから)貼り付けます。
code language-none { "type": "customAuthorization", "authorizationType": "Bearer", "endpoint": "https://ims-na1.adobelogin.com/ims/token/v3", "method": "POST", "headers": {}, "body": { "bodyType": "form", "bodyParams": { "grant_type": "client_credentials", "client_secret": "********", "client_id": "<client_id>", "scope": "openid,AdobeID,read_organizations,additional_info.projectedProductContext,session" } }, "tokenInResponse": "json://access_token", "cacheDuration": { "duration": 28000, "timeUnit": "seconds" } } -
「クリックして認証をテスト」ボタンを使用して、接続をテストします。
ペイロードの設定 custom-action-aep-payload
-
「リクエスト」フィールドと「応答」フィールドに、先ほど使用したソース接続からのペイロードを貼り付けます。
code language-none { "xdmMeta": { "schemaRef": { "id": "https://ns.adobe.com/<your_org>/schemas/<schema_id>", "contentType": "application/vnd.adobe.xed-full+json;version=1.0" } }, "xdmEntity": { "_id": "/uri-reference", "<your_org>": { "journeyVersionId": "Sample value", "nodeId": "Sample value", "customer_Id":"" }, "eventMergeId": "Sample value", "eventType": "advertising.completes, "producedBy": "self", "timestamp": "2018-11-12T20:20:39+00:00" } } -
動的に入力されるフィールドのフィールド設定を、定数から 変数 に変更します。
-
カスタムアクションを保存します。
ジャーニー
-
最後に、ジャーニーでこのカスタムアクションを使用して、カスタムジャーニーイベントを書き込みます。
-
ユースケースに応じて、ジャーニーバージョン ID、ノード ID、ノード名およびその他の属性を入力します。
このセクションには、このトピックに関連する解釈、検索、質問への回答をサポートすることを目的とした構造化された知識が含まれています。
理解を深めるには、この情報をこのページのドキュメントと組み合わせる必要があります。 どちらのソースも単独で使用することを意図していません。このページでは、機能について説明しますが、この節では、用語、意図、適用可能性、および制約の曖昧さを解消するのに役立つ追加のコンテキストを提供します。
- TL;DR:この使用例では、HTTP API インレットとOAuth サーバー間の認証済み呼び出しを使用してジャーニーイベントデータをAdobe Experience Platformに書き込むJourney Optimizerのカスタムアクションを設定する方法について説明します。
インテント:
- AEP API認証用のOAuth サーバー間の資格情報を使用したAdobe Developer Console IO プロジェクトの設定
- ストリーミングジャーニーイベントデータを受信するHTTP API インレットソースをAdobe Experience Platformで作成します
- 正しいURL、ヘッダー、およびカスタムベアラートークン認証を使用して、Journey Optimizerでカスタムアクションを設定します
- ジャーニーフィールド(ジャーニーバージョン ID、ノード ID、顧客ID)をカスタムアクションペイロードの変数として動的にマッピングします
- ジャーニーでカスタムアクションを使用して、カスタムイベントをAEP データセットに書き込みます
用語集:
- HTTP API Inlet: HTTP POST リクエスト (製品固有)を介してデータを取り込むためのストリーミングエンドポイントを作成するAdobe Experience Platform ソースコネクタ
- OAuth Server-to-Server: Adobe Developer Consoleの認証資格情報タイプで、ユーザーによる操作 (製品固有) なしに、サーバー間API呼び出しのベアラートークンを生成します
- カスタム認証:指定されたエンドポイントからベアラートークンを取得し、設定済みの期間 (製品固有) にキャッシュするJourney Optimizer カスタムアクション認証タイプ
- XDM エンティティ: Experience Data Model スキーマに準拠するデータペイロード構造。HTTP API インレット (製品固有)を介してAEPにイベントを書き込む際に本体として使用されます
- cacheDuration:新しいトークンが要求されるまでの取得ベアラートークンの再利用時間を制御するカスタム認証設定のトークンキャッシュ設定(製品固有)
ガードレール:
- Adobe Developer Console プロジェクトの作成後、資格情報を使用する前に、開発者およびAPI アクセス制御の権限を明示的に付与する必要があります
- 認証を有効にしてHTTP API インレット ソースを作成する必要があります。接続エンドポイント URLとスキーマペイロードをコピーして、カスタムアクション設定で使用する必要があります
- カスタムアクションヘッダーには、Content-Type、Charset、およびsandbox-nameを含める必要があります
- 実行時に動的に入力されるフィールドは、カスタムアクションペイロード設定で定数から変数に変更する必要があります
用語:
- 正式名称:カスタムアクション – 頭字語:なし – バリアント:カスタムアクション設定、Journey Optimizer カスタムアクション
- 正式名称:Adobe Experience Platform – 頭字語:AEP – 変種:Experience Platform、Platform
- 同義語:「HTTP API インレット」 = 「ストリーミングエンドポイント」 = 「DCS コレクションエンドポイント」
- 混乱しないでください:「OAuth サーバー間」≠「OAuth ユーザー認証」 (サーバー間のログインは必要ありません。クライアント資格情報を使用します)
FAQ:
- Q: Journey Optimizer カスタムアクションからAEP HTTP API インレットを呼び出すために使用される認証の種類は何ですか? — Adobe IMSトークンエンドポイントから取得したOAuth Server-to-Server クライアント資格情報を使用したカスタムベアラートークン認証。
- Q: client_id、client_secret、grant_type、およびscopeの値はどこにありますか? — Adobe Developer Console IO プロジェクトのOAuth サーバー間の資格情報セクションから、「View cURL コマンド」をクリックします。
- Q: ペイロードでジャーニー固有のフィールド(journeyVersionId、nodeIdなど)を動的にするにはどうすればよいですか? — カスタムアクションペイロード設定でフィールド設定を定数から変数に変更し、実行時にジャーニーコンテキストから入力されるようにします。
- Q: Adobe Developer Console プロジェクトにはどのような権限が必要ですか? — AEP API認証ドキュメントに記載されているように、プロジェクトの作成後に、開発者およびAPI アクセス制御に適切な権限を付与する必要があります。
- Q:認証ペイロードのcacheDuration設定の目的は何ですか? – 取得したBearer トークンが新しいトークンをリクエストするまでのキャッシュと再利用の時間(例では28,000秒)を制御します。