【第119回】 REST API を使って待機アクティビティ上の連絡先を取得する方法
Salesforce Marketing Cloud 開発者のお助け機能であるデータビューを使用すると、あるジャーニーのメールアクティビティでメール送信した連絡先のリストを取得することができます。
しかし、データビューでは、Journey Builder の待機アクティビティを通過した人を取得することはできません。
もし、この取得を何らか行うには「連絡先の更新」というアクティビティを Journey Builder のパス上に設定して、そのアクティビティを通過した連絡先をデータエクステンションに溜めるような仕組みを作る必要があります。
しかし、この仕組みにも問題点があり、この「連絡先の更新」アクティビティは、事前にジャーニーパス上に準備をする必要があり、急遽その連絡先リストの取得が必要になっても、結果的には処理ができず、何ともユーザー泣かせの状態となっていました。今回は、遂にその悩みを解決する機能の紹介です。
これを行うには Summer '23 でリリースされた「REST API を介した Journey Builder 履歴のダウンロード」という機能を使用します。
この REST API を使用すると、直近 30 日分のジャーニー履歴を CSV または TSV ファイルでダウンロードできます。このファイルは 1 GB を超えない範囲で取得できます。取得内容が 1 GB を超えていないかを確認するための REST API も同時に発表されています。
▶ 履歴ダウンロード用の REST API は下記を参照
▶ ダウンロードファイルのサイズ確認用の REST API は下記を参照
それでは、待機アクティビティを通過した人を取得してみます。
まずは、待機アクティビティのアクティビティ ID を取得してください。アクティビティ ID の取得方法に関しては、以前に記事にしましたので下記をご確認ください。
続いて、Talend API Tester に移動します。新規リクエストを立ち上げてください。新規リクエストの画面を立ち上げたら、以下の情報を入力してください。入力後に「送信」ボタンを押します。
--- メソッド
POST
--- エンドポイント
https://[REST ベース URL].rest.marketingcloudapis.com/interaction/v1/interactions/journeyhistory/download?columns=ContactKey
--- ヘッダー
Content-Type:application/json
Authorization:Bearer [アクセストークン]
x-direct-pipe:true
--- ボディ(サンプル)
{
"activityIds": ["8bb8d44a-9576-4ec8-9b19-576c56ec1746"],
"statuses": ["complete"]
}
ヘッダーで「x-direct-pipe:true」を設定することを忘れがちですので注意してください。あと、Body で "statuses" を設定しないと、連絡先が二重で取得されてしまいますので注意してください。statuses = complete で条件化するのは、ある程度、御作法としても良いのかもしれません。
また、今回の例では取得する項目を ContactKey のみとしています。取得する項目に関しては、エンドポイントにおいて、パラメーターで指定します。
送信の結果 200 OK でレスポンスがあれば、リクエストは成功です。
Talend API Tester の場合、右下の Download ボタンから CSV ファイルがダウンロードができますので、そちらから CSV ファイルを取得して、Marketing Cloud へ手動インポートするなどして活用してください。
ちなみに、今回入力した情報は、今後も Talend API Tester で使い回しができますので、必要に応じて保存してください。
--- ボディ(サンプル)
{
"start": "2024-01-30T23:00:00Z",
"end": "2024-01-31T09:00:00Z",
"activityIds": ["f8acd255-19da-4d88-beaf-d2efba9b9279"],
"statuses": ["complete"]
}
--- 目標達成となった連絡先を取得するボディ(サンプル)
{
"definitionIds": ["a8787c44-d866-4b3a-bf71-f515b9a5c63f"],
"activityTypes": ["goalcriteriaactivity"]
}
--- 終了条件となった連絡先を取得するボディ(サンプル)
{
"definitionIds": ["86f7c10b-76fa-4f5f-94b5-8afc6d0509af"],
"statuses": ["ExitCriteriaMet"]
}
今回は以上です。
Click here for English version
次の記事はこちら
前回の記事はこちら
私の note のトップページはこちら
この記事が気に入ったらサポートをしてみませんか?