メインコンテンツへスキップ
見出し画像
Photo bynom99

【第61回】 REST API を使って API イベントまで待機アクティビティを試す

    Nobuyuki Watanabe

    今回は Journey Builder の「API イベントまで待機」アクティビティを説明してみたいと思います。この特別なアクティビティに待機している人に REST API で合図を送って、その人だけを先に進ませることができます。


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

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

    今回、以下のスコープがセットアップにて選択されている必要があります。
    ■ AUTOMATION - Journeys - Read
    ■ CONTACTS - List and Subscribers - Read


    それでは Journey Builder で API イベントまで待機のアクティビティを使用する手順を見て行きます。

    まずは、顧客 ID を格納できるデータエクステンションを作成します。このデータエクステンションは「送信可能データエクステンション」で作成してください。また、このとき、プライマリーキーは設定せずに、重複を受け入れるように設定して下さい。

    画像

    次に Journey Builder に移動して、API イベントまで待機のアクティビティをキャンバスに配置して、アクティビティをクリックします。

    画像

    「新規作成」のボタンをクリックします。

    画像

    API 名を適当に決めて、イベント定義キーをメモしてください。リクエストする時に使用します。「APIEvent-」の部分から必要です。

    画像

    続いて、データエクステンションの選択画面より、先ほど作成した送信可能データエクステンションを選択します。

    画像

    選択後、最大待機期間を設定します。この「API イベントまで待機」で待機できる最大待機期間は、次の中から選択できます。この期間までに REST API により合図が無い場合は、分岐の下のパスに進みます。

    ■ 1 ~ 10 日
    ■ 1 ~ 10 週
    ■ 1 ~ 10 ヶ月

    画像

    今回は 7 日間で設定しました。設定後、このアクティビティを完了してください。

    画像

    メールアクティビティなど、すべての設定が完了していることを確認して、ジャーニーをアクティブ化してください。

    画像

    アクティブ化されましたら、下記の通り、API イベントまで待機のアクティビティに、連絡先が流れて待機し始めたことを確認します。

    画像

    続いて、Talend API Tester に移動します。新規リクエストを立ち上げてください。新規リクエストの画面を立ち上げたら、以下の情報を入力して、入力後に送信ボタンを押します。

    画像
    --- メソッド 
    POST 
    
    --- エンドポイント
    [REST ベース URL].rest.marketingcloudapis.com/interaction/v1/events 
    
    --- ヘッダー 
    Content-Type:application/json 
    Authorization:Bearer [アクセストークン] 
    
    --- ボディ(サンプル)
    {
      "ContactKey": "待機を終了させたい顧客 ID",
      "EventDefinitionKey": "APIEvent-先ほどメモしたジャーニーのイベント定義キー",
      "Data": {"id": "待機を終了させたい顧客 ID"}
    }
    
    ※待機を終了させたい顧客 ID は同じもので OK です。

    ここで 201 Created でレスポンスがあれば、リクエストは成功です。

    画像

    ここで入力した、アクセストークン以外は、今後も Talend API Tester で使い回しができるので、必要に応じて保存してください。

    画像

    最後に Journey Builder に戻って、待機していたうちの 1 名が、右側のパスに流れたことが確認できました。成功です。

    画像

    一点、この API イベントまで待機アクティビティを使用する際の注意点ですが、ヘルプドキュメントにも記載されています通り、ジャーニーをコピーまたはバージョンアップして、その「待機中の API イベント」を変更すると、アクションは「他のジャーニー」または「他のバージョン」に影響します。

    つまり、設定が連動しているということですね。条件が異なる場合は、別の設定を一から作り直してください。


    ■ 追記:複数連絡先の一括待機解除について

    Summer '24 の新リリースで、この API イベントまで待機アクティビティに複数の連絡先に対する一括待機解除機能が備わりました。

    これは、2 つ前のリリースとなる Winter '24 の方で、最大 100 件の連絡先を同時にジャーニーにエントリーさせる Batch Event API というものができたということで記事にしましたが、その応用になります。

    Summer '24 のリリースノートに、使用例が出ており、「例えば、トラックに積まれた荷物が倉庫から出荷されるときに、出荷確認を送信できます」となっています。

    一応、サンプルコードを書いておきます。

    --- メソッド 
    POST 
    
    --- エンドポイント
    [REST ベース URL].rest.marketingcloudapis.com/interaction/v1/async/events 
    
    --- ヘッダー 
    Content-Type:application/json 
    Authorization:Bearer [アクセストークン] 
    
    --- ボディ(サンプル)
    {
      "eventDefinitionKey": "APIEvent-xxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
      "members": [
        {
          "contactKey": "待機を終了させたい顧客 ID 1",
          "data": {"id": "待機を終了させたい顧客 ID 1"}
        },
        {
          "contactKey": "待機を終了させたい顧客 ID 2",
          "data": {"id": "待機を終了させたい顧客 ID 2"}
        }
      ]
    }
    
    ※待機を終了させたい顧客 ID は同じもので OK です。

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

    API イベントまで待機アクティビティのイメージは掴めましたでしょうか。

    Salesforce MVP のズザンナ・ヤルチンスカさんの記事によると、API イベントまで待機のアクティビティを、ジャーニー内でエンゲージメント分岐の代わりに使用するというアイデアが発表されています。

    これを使用すると、エンゲージメント分岐を使用する場合は、連絡先がメール内のリンクをクリックしたかどうかをジャーニーが確認するまでの特定の待機時間を設定する必要がありますが、API イベントまで待機のアクティビティを使用すると、事前定義された時間が経過するまで待つことなく、誰かがリンクをクリックした直後にアクションを実行できます。

    活用できると思いますので、ご確認ください。

    今回は以上です。


    次の記事はこちら

    前回の記事はこちら

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

     
     
     
    Salesforce Marketing Cloud、Agentforce、Data Cloud、Salesforce 認定資格に関する実践的な情報を発信しています。これらの記事が、皆さまの学習や日々の業務に少しでもお役に立てば幸いです。