カスタムアクションでの API 呼び出し応答の使用 custom-action-enhancements

カスタムアクションで API 呼び出し応答を活用し、これらの応答に基づいてジャーニーを調整できるようになりました。

重要な注意事項 custom-action-enhancements-notes

  • 応答ペイロードでは、スカラー配列はサポートされています。

    code language-none
    "dummyScalarArray": [
    "val1",
    "val2"
    ]
    
  • 応答ペイロードでは、ヘテロジニアス配列はサポートされていません。

    code language-none
    "dummyRandomArray": [
    20,
    "aafw",
    false
    ]
    

カスタムアクションの設定 config-response

  1. カスタムアクションを作成します。このページを参照してください。

  2. 応答」フィールド内でクリックします。

    {width="80%"}

  3. 呼び出しで返されたペイロードの例をペーストします。フィールドのタイプが正しい(文字列、整数など)ことを確認します。次に、呼び出し中にキャプチャされた応答ペイロードの例を示します。ローカルエンドポイントは、ロイヤルティポイントの数と、プロファイルのステータスを送信します。

    code language-none
    {
    "customerID" : "xY12hye",
    "status":"gold",
    "points": 1290 }
    

    {width="80%"}

    API が呼び出されるたびに、ペイロードの例に含まれるすべてのフィールドが取得されます。

  4. では、クエリパラメーターとして customerID も追加してみましょう。

    {width="80%"}

  5. 保存」をクリックします。

ジャーニーで応答を活用 response-in-journey

カスタムアクションをジャーニーに追加するだけです。その後、条件、その他のアクションおよびメッセージのパーソナライゼーションで応答ペイロードフィールドを活用できます。

例えば、ロイヤルティポイント数を確認する条件を追加できます。ユーザーがレストランに入ると、ローカルエンドポイントは、プロファイルのロイヤルティ情報が入った呼び出しを送信します。プロファイルがゴールド顧客の場合は、プッシュを送信できます。また、呼び出しでエラーが検出された場合は、カスタムアクションを送信して、システム管理者に通知します。

  1. イベントと、先ほど作成した「ロイヤルティ」カスタムアクションを追加します。

  2. 「ロイヤルティ」カスタムアクションで、プロファイル ID を使用して顧客 ID クエリパラメーターをマッピングします。「タイムアウトまたはエラーの場合に代替パスを追加」オプションをオンにします。

  3. 1 つ目の分岐で、条件を追加し、高度なエディターを使用して、「コンテキスト」ノードの下にあるアクション応答フィールドを活用します。

  4. 次に、プッシュを追加し、応答フィールドを使用してメッセージをパーソナライズします。この例では、ロイヤルティポイント数と顧客ステータスを使用してコンテンツをパーソナライズします。アクション応答フィールドは、コンテキスト属性Journey Orchestrationアクション ​で使用できます。

    note note
    NOTE
    各プロファイルがカスタムアクションに入ると、呼び出しをトリガーします。応答が常に同じであっても、ジャーニーはプロファイルごとに 1 回の呼び出しを実行します。
  5. タイムアウトとエラーの分岐で、条件を追加し、組み込みの jo_status_code フィールドを活用します。この例では、
    http_400 エラータイプを使用しています。この節を参照してください。

    code language-none
    @action{ActionLoyalty.jo_status_code} == "http_400"
    

  6. 組織に送信するカスタムアクションを追加します。

テストモードログ test-mode-logs

カスタムアクション応答に関連するステータスログに、テストモードでアクセスできます。ジャーニーに応答を含むカスタムアクションを定義している場合は、(そのカスタムアクションからの応答として)外部エンドポイントから返されたペイロードを表示するログの「アクション履歴」セクションが表示されます。これは、デバッグの面で非常に役立つ場合があります。

エラーステータス error-status

jo_status_code フィールドは、応答ペイロードが定義されていない場合でも常に使用できます。

このフィールドに指定できる値は次のとおりです。

  • http ステータスコード:http_<HTTP API call returned code>、例えば、http_200 や http_400
  • タイムアウトエラー:timedout
  • キャッピングエラー:capped
  • 内部エラー:internalError

返された http コードが 2xx より大きい場合やエラーが発生した場合、アクション呼び出しはエラーと見なされます。この場合、ジャーニーは専用のタイムアウトまたはエラー分岐に進みます。

WARNING
新しく作成したカスタムアクションにのみ、jo_status_code フィールドが標準で含まれます。既存のカスタムアクションで使用する場合は、アクションを更新する必要があります。例えば、説明を更新して保存できます。

式の構文 exp-syntax

構文は次のとおりです。

#@action{myAction.myField}

以下に、いくつかの例を示します。

 // action response field
 @action{<action name>.<path to the field>}
 @action{ActionLoyalty.status}
 // action response field
 @action{<action name>.<path to the field>, defaultValue: <default value expression>}
 @action{ActionLoyalty.points, defaultValue: 0}
 @action{ActionLoyalty.points, defaultValue: @event{myEvent.newPoints}}

カスタムアクションの応答でコレクションを操作する際、currentActionField を利用して現在のアイテムにアクセスできます。

count(
@action{MyAction.MyCollection.all(
currentActionField.description == "abc"
)}
)

その他のリソース

詳しくは、次のページを参照してください。

recommendation-more-help
b22c9c5d-9208-48f4-b874-1cefb8df4d76