見出し画像

【第327回】 REST API を使って連絡先がどのジャーニーにいるかを調べる方法

以前の記事で、Salesforceの非公式アプリ「Marketing Cloud Engagement Journeys for Salesforce」を取り上げ、Salesforce CRM の取引先責任者やリードのレコードページ上で、進行中のジャーニーを確認したり、特定の顧客をジャーニーから削除する方法について紹介しました。

このアプリの活用例として、たとえばカスタマーセンターがクレーム対応中に「この顧客には今後メールを送らないようにしたい」となった場合でも、その顧客だけをすべての進行中ジャーニーから速やかに削除することが可能になります。

では、「Marketing Cloud Engagement Journeys for Salesforce」が使えない環境では、どうすればよいのでしょうか?

そのような場合には、REST APIを活用して該当するジャーニーを検索し、処理を行う方法があります。今回は、その具体的な手順をご紹介します。


今回の記事では REST API を使用します。過去の記事「Salesforce Marketing Cloud で REST API を叩いてみよう」の Part.1 と Part.2 の記事で取得できる以下の 2 つが必要となりますので、事前に用意してください。

■ Part.1 の REST ベース URL
■ Part.2 の アクセストークン

今回、以下のスコープがセットアップで選択されている必要があります。

■ Automation - Journeys - Read
Automation - Journeys - Execute
Automation - Journeys - Activate/Stop/Pause/Resume/Send/Schedule
Contacts - List and Subscribers - Read
Data - Data Extensions - Read

※ 
Automation - Journeys - Read だけだと正しく検索できません。


ある連絡先がどのジャーニーにいるかを調べる

以下を Talend API Tester や Postman で実行してください。

--- スコープ
Automation - Journeys - Read
Automation - Journeys - Execute
Automation - Journeys - Activate/Stop/Pause/Resume/Send/Schedule
Contacts - List and Subscribers - Read
Data - Data Extensions - Read

--- メソッド 
POST 

--- エンドポイント
[REST ベース URL].rest.marketingcloudapis.com/interaction/v1/interactions/contactMembership

--- ヘッダー 
Content-Type:application/json 
Authorization:Bearer [アクセストークン] 

--- ボディ
{
   "ContactKeyList":["BOR501", "0035Y000072MKdIQAW", "ContactKey_3"]
}

今回は、"BOR501", "0035Y000072MKdIQAW", "ContactKey_3" の 3 名分を同時に検索していますが、同じ書き方で最大 50 名までを検索できます。

検索結果

以下のように表示されます。上段(contactMemberships)を展開することで検索した連絡先がジャーニーのどのバージョンにいるかの結果が表示され、下段(contactNotFound)には、現在のジャーニーには存在していない連絡先キーが表示されます。

ちなみに、ここでは definitionKey が表示されるだけで、ジャーニー名などは表示されません。そこで definitionKey からジャーニー名を探す必要があります。


ジャーニー名を調べる

上で検索した結果から、definitionKey をコピーして、下のエンドポイントのパラメーターに貼り付けます。以下を Talend API Tester や Postman で実行してください。

--- スコープ
Automation - Journeys - Read
Automation - Journeys - Execute
Automation - Journeys - Activate/Stop/Pause/Resume/Send/Schedule
Contacts - List and Subscribers - Read
Data - Data Extensions - Read

--- メソッド 
GET

--- エンドポイント
[REST ベース URL].rest.marketingcloudapis.com/interaction/v1/interactions/key:28f23a58-3797-31f4-6e69-63fc8c642f34

--- ヘッダー 
Content-Type:application/json 
Authorization:Bearer [アクセストークン] 

--- ボディ
なし

検索結果

これで結果が表示されます。「Journey 008」というジャーニー名であることが分かります。

ここまでの事は、前の記事の「Marketing Cloud Engagement Journeys for Salesforce」の方でも、同じ結果が出ていることが分かります。


連絡先をジャーニーから削除する

さて、ここからジャーニーから連絡先を削除する方法は 2 つあります。

  1. ジャーニー名が分かったので、Marketing Cloud の Journey Builder よりジャーニーに遷移して「健全性」から削除する

  2. REST API を使用して削除する

1. ジャーニーに遷移して「健全性」から削除する方法

「Journey 008」のジャーニーで「健全性」のボタンをクリックします。

「連絡先キー」で検索します。

結果が表示されたら「ジャーニーから削除」をクリックして削除します。

注意:健全性からの削除は、ジャーニーの履歴機能を使用しているため、過去 30 日以内の結果しか返しません。すでに 30 日を超えており表示されない場合は、REST API 使用して削除ください。

2. REST API を使用して削除する方法

以下を Talend API Tester や Postman で実行してください。

--- スコープ
Automation - Journeys - Read
Automation - Journeys - Execute
Automation - Journeys - Activate/Stop/Pause/Resume/Send/Schedule
Contacts - List and Subscribers - Read
Data - Data Extensions - Read

--- メソッド 
POST 

--- エンドポイント
[REST ベース URL].rest.marketingcloudapis.com/interaction/v1/interactions/contactexit

--- ヘッダー 
Content-Type:application/json 
Authorization:Bearer [アクセストークン] 

--- ボディ
[
  {
    "ContactKey": "0035Y000072MKdIQAW",
    "DefinitionKey": "28f23a58-3797-31f4-6e69-63fc8c642f34"
  }
]

いかがでしたでしょうか。

これらの仕組みは Talend API Tester や Postman に一度作成してしまえば、連絡先キーを入れ替えるだけで繰り返し使用ができますので、一度仕組みを作ってしまうことをオススメします。

今回は以上です。


次の記事はこちら

前回の記事はこちら

私の note のトップページはこちら