このページ:カスタムアクションのエンドポイント、認証、セキュリティ、ペイロードパラメーターを設定して、サードパーティの REST API をジャーニーに接続します。これにより、ジャーニーでそのサービスを呼び出すことができます。
サードパーティ製システムを使用してメッセージを送信する場合、またはジャーニーがサードパーティ製システムに API 呼び出しを送信する場合は、カスタムアクションを使用してジャーニーへの接続を設定します。 例えば、カスタムアクションを使用して Epsilon、Slack、Adobe Developer、Firebase などのシステムに接続できます。
カスタムアクションは、技術ユーザーが定義し、マーケターが使用できる追加のアクションです。 設定が完了すると、アクションカテゴリの、ジャーニーの左側のパレットに表示されます。 詳しくは、このページを参照してください。
設定の手順 configuration-steps
カスタムアクションを設定する際に必要な主な手順は次のとおりです。
-
管理メニューセクションで、「設定」を選択します。 「アクション」セクションで、「管理」をクリックします。 「アクションを作成」をクリックして、新規のアクションを作成します。 画面右側にアクション設定ペインが開きます。
-
アクションの名前を入力します。
note NOTE 英数字とアンダースコアのみが使用できます。 最大長は 30 文字です。 -
アクションに説明を追加します。 この手順はオプションです。
-
このアクションを使用しているジャーニーの数は、「使用されている場所」フィールドに表示されます。 「ジャーニーを表示」ボタンをクリックすると、このアクションを使用するジャーニーのリストを表示できます。
-
様々な URL 設定パラメーターを定義します。 このページを参照してください。
-
「認証」セクションを設定します。 この設定はデータソースの場合と同じです。 詳しくは、この節を参照してください。
note NOTE エンドポイントが access_tokenとid_tokenの両方を返す場合は、「tokenInResponse」フィールドを使用して、Journey Optimizer が認証資格情報として使用するトークンを指定します。"tokenInResponse": "json://access_token"- アクセストークンを使用します(OAuth 2.0 のデフォルト)"tokenInResponse": "json://id_token"- ID トークンを使用します(OpenID Connect フローで一般的)
カスタム認証の詳細情報 -
アクションパラメーターを定義します。 このページを参照してください。
-
「保存」をクリックします。
カスタムアクションが設定され、ジャーニーで使用できる状態になります。 このページを参照してください。
note NOTE ジャーニーでカスタムアクションを使用する場合、ほとんどのパラメーターは読み取り専用です。 変更できるのは、名前、説明、URL フィールド、および 認証 セクションのみです。
制限事項 custom-actions-limitations
カスタムアクションには、このページに一覧表示されるいくつかの制限事項が伴います。
カスタムアクションパラメーターでは、単純なコレクションとオブジェクトのコレクションを渡すことができます。 コレクションの制限事項について詳しくは、このページを参照してください。
また、カスタムアクションパラメーターには想定される形式(例:文字列、10 進数など)があります。 これらの想定される形式に従うように注意する必要があります。 詳しくは、このユースケースを参照してください。
カスタムアクションは、リクエストまたは応答ペイロードを使用する際にのみ JSON 形式をサポートします。
ベストプラクティス custom-action-enhancements-best-practices
ターゲットにするエンドポイントをカスタムアクションを使用して選択する場合は、次の点を確認します。
- このエンドポイントは、Throttling API または Capping API の設定を使用してジャーニーのスループットをキャップすることでサポートできます。 スロットル設定は、200 TPS を下回ることはできません。 ターゲットにするエンドポイントは、200 TPS 以上をサポートする必要があります。 ジャーニーの処理率について詳しくは、この節を参照してください。
- このエンドポイントの応答時間は、できるだけ短くする必要があります。 予想されるスループットに応じて、応答時間が長いと、実際のスループットに影響を与える可能性があります。
すべてのカスタムアクションには、1 分間に 300,000 件の呼び出しというキャップが定義されています。 また、デフォルトのキャップは、ホストごとおよびサンドボックスごとに実行されます。 例えば、サンドボックスで、同じホストに 2 つのエンドポイントがある場合(例:https://www.adobe.com/endpoint1 と https://www.adobe.com/endpoint2)、キャップは adobe.com ホストの下にあるすべてのエンドポイントに適用されます。 「endpoint1」と「endpoint2」は同じキャップ設定を共有し、一方のエンドポイントがキャップに達すると、もう一方のエンドポイントに影響が生じます。
デフォルトの 1 分あたり 300,000 回の呼び出し制限は、ドメインレベル(例:example.com)で適用されます。 より高い制限が必要な場合は、使用状況の証拠を添えてアドビサポートに連絡し、エンドポイントのスループットを確認します。 キャップの増加をリクエストするには、予想される呼び出し量とエンドポイントの処理能力の詳細を提供します。 処理能力テストにより、エンドポイントがより高いスループットを処理できることが示された場合、アドビではキャップをカスタマイズすることがあります。 ベストプラクティスとしては、アウトバウンド呼び出しを調整し、キャップエラーを回避するために、ジャーニーを再構築するか、待機アクティビティを実装することを考慮します。
この制限は、カスタムアクションによって対象となる外部エンドポイントを保護することを目的に、顧客の使用状況に基づいて設定されます。 必要に応じて、Capping API と Throttling API でキャップまたはスロットルキャップを大きく定義することで、この設定を上書きできます。 このページを参照してください。
次に示すような様々な理由により、カスタムアクションを使用してパブリックエンドポイントをターゲット設定しないでください。
- 適切なキャップやスロットルがない場合、パブリックエンドポイントに対して過剰な呼び出しが送信される恐れがあり、その量に対応できない可能性があります。
- プロファイルデータは、カスタムアクションを通じて送信できるため、パブリックエンドポイントをターゲティングすると、誤って個人情報を外部と共有してしまう可能性があります。
- パブリックエンドポイントから返されるデータを制御できません。 エンドポイントの API を変更した場合や誤った情報の送信を開始した場合は、送信された通信でそれらの情報が使用可能になり、悪影響が出る可能性があります。
同意とデータガバナンス privacy
Journey Optimizer では、カスタムアクションにデータガバナンスポリシーと同意ポリシーを適用して、特定のフィールドがサードパーティシステムにエクスポートされないようにしたり、メール、プッシュまたは SMS 通信の受信に同意しない顧客を除外したりできます。 詳しくは、次のページを参照してください。
エンドポイントの設定 url-configuration
カスタムアクションを設定する際に、次の エンドポイント設定 パラメーターを定義する必要があります。
-
「URL」フィールドに、外部サービスの URL を指定します。
-
URL が静的な場合は、このフィールドに URL を入力します。
-
URL に動的パスが含まれる場合は、URL の静的な部分(スキーム、ホスト、ポート、オプションでパスの静的な部分)のみを入力します。
例:
https://xxx.yyy.com/somethingstatic/URL の動的パスは、カスタムアクションをジャーニーに追加する際に指定します。 学習を増やす。
note NOTE セキュリティ上の理由から、URL には HTTPS スキームを使用することを強くお勧めします。 また、アドビの非公開アドレスや IP アドレスの使用は許可されていません。 カスタムアクションを定義する場合は、デフォルトのポートのみ使用できます。http の場合は 80、https の場合は 443 です。 -
-
呼び出し メソッド を選択します。POST、GET または PUT を選択できます。
note NOTE DELETE メソッドはサポートされていません。 既存のリソースを更新する必要がある場合は、PUT メソッドを選択します。 -
潜在的なリダイレクト(302 応答)を処理します。 カスタムアクションは、リクエストごとに HTTP 302 リダイレクトに自動的に従います。
-
ヘッダーとクエリパラメーターを定義:
- 「ヘッダー」セクションで「ヘッダーフィールドを追加」をクリックし、外部サービスに送信されるリクエストメッセージの HTTP ヘッダーを定義します。 Content-Type および Charset ヘッダーフィールドは、デフォルトで設定されます。 これらのフィールドは削除できません。 Content-Type ヘッダーのみを変更できます。 この値は JSON 形式に従う必要があります。 デフォルト値は次のとおりです。
- 「クエリパラメーター」セクションで「クエリパラメーターフィールドを追加」をクリックして、URL に追加するパラメーターを定義します。
-
フィールドのラベルまたは名前を入力します。
-
タイプを選択:定数または変数。 定数を選択した場合は、値フィールドに定数の値を入力します。 「変数」を選択した場合は、カスタムアクションをジャーニーに追加する際に、この変数を指定します。 学習を増やす。
note NOTE カスタムアクションをジャーニーに追加した後でも、ジャーニーがドラフトステータスの場合は、ヘッダーフィールドまたはクエリパラメータフィールドを追加できます。 設定変更によってジャーニーに影響を与えたくない場合は、カスタムアクションを複製し、フィールドを新しいカスタムアクションに追加します。 ヘッダーは、フィールド解析ルールに従って検証されます。 詳しくは、このドキュメントを参照してください。
トランスポートセキュリティレイヤー tls
TLS プロトコルのサポート tls-protocol-support
Adobe Journey Optimizer は、カスタムアクションに対してデフォルトで TLS 1.3 をサポートしています。 クライアントも TLS 1.3 をサポートしている場合、通信は TLS 1.3 経由で行われます。 そうでない場合、TLS ネゴシエーションプロセスは TLS 1.2 にフォールバックする可能性があります。
mTLS プロトコルのサポート mtls-protocol-support
Mutual Transport Layer Security(mTLS)は、Adobe Journey Optimizer カスタムアクションへの送信接続のセキュリティを強化します。 mTLS は、データが共有される前に情報を共有する両者が本人であることを確認する、相互認証のためのエンドツーエンドのセキュリティ方式です。 mTLS には TLS と比較して追加の手順が含まれており、サーバーはクライアントの証明書を要求し、クライアント側でそれを検証します。
カスタムアクションでは相互 TLS(mTLS)認証がサポートされています。 mTLS をアクティブ化するためにカスタムアクションまたはジャーニーで追加の設定は必要ありません。mTLS 対応エンドポイントが検出されると、自動的に実行されます。 学習を増やす。
- サービスに関連付けられている更新された証明書について詳しくは、定期的に Adobe Public Certificate API を確認してください。
- エンドポイントを設定して、重複する証明書(古い証明書と新しい証明書の両方を同時に)を受け入れるようにします。これにより、ローテーション中に接続性のギャップが生じなくなります。
- アドビでは現在、証明書のローテーション時にプロアクティブな通知を送信していません。 証証明書の更新を監視し、トラストストアを最新の状態に保持することは、お客様の責任です。
- 信頼の検証は、特定のリーフ証明書のフィンガープリントにピン留めするのではなく、ルート CA(DigiCert)までの証明書チェーンに基づいて行う必要があります。
証明書ベースのカスタム認証 certificate-based-auth
Microsoft Entra ID など、証明書ベースの ID 確認を適用するエンタープライズ API の場合、カスタムアクションは 証明書ベースのカスタム認証 をサポートします。 これを有効にするには、「認証」セクションで設定するカスタム認証ペイロードに "subType": "certificateCredential" を設定します。
Journey Optimizer は、アドビが管理する証明書を使用して JWT クライアントアサーションに署名し、アクセストークンと自動的に交換します。 クライアント秘密鍵は不要です。
完全なペイロード構造、フィールドの説明、設定ガードレールについて詳しくは、証明書ベースのカスタム認証を参照してください。
ペイロードパラメーターの定義 define-the-message-parameters
以下で説明するように、ペイロードパラメーターを定義できます。
-
「リクエスト」セクションに、外部サービスに送信する JSON ペイロードの例をペーストします。 このフィールドはオプションで、POST および PUT 呼び出しメソッドでのみ使用できます。
「NULL 値を許可」オプションを有効にして、外部呼び出しで Null 値を保持します。 Null 値を含む int や string などの配列の送信は、完全にはサポートされていないことに注意してください。 例えば、次の整数の配列
[1, null, 2, 3]は、このオプションがオンになっていても[1, 2, 3]として送信されます。 さらに、そのような配列が null の場合は、空の配列として送信されます。 {width="70%"}
-
「応答」セクションに、呼び出しが成功した際に返されるペイロードの例をペーストします。 このフィールドはオプションで、すべての呼び出しメソッドで使用できます。 カスタムアクションで API 呼び出し応答を活用する方法について詳しくは、このページを参照してください。
{width="70%"}
-
(オプション)「エラー応答ペイロードを定義」を選択して、エラー応答ペイロードフィールドを有効にします。 有効にすると、「エラー応答」セクションを使用して、呼び出しが失敗した際に返されるペイロードの例をペーストできます。 応答ペイロード(フィールドタイプと形式)と同じ要件が適用されます。 ジャーニーでエラー応答ペイロードを活用する方法について詳しくは、こちらを参照してください。
{width="70%"}
. 文字を含んだり、$ 文字で始まったりすることはできません。
これらのフィールド設定では、次の操作を実行する必要があります。
-
パラメーターのタイプ(例:文字列、整数など)を選択
-
定数または変数パラメーターを定義
-
定数は、パラメーターの値が、技術担当者によって「アクション設定」ペインで定義されることを意味します。 この値は、ジャーニーをまたいで常に同じになります。 ジャーニーでカスタムアクションを使用する場合、この値は変わらず、マーケターは確認できません。 例えば、サードパーティのシステムが予期する ID を指定できます。 この場合、「定数/変数」切替スイッチの右側にあるフィールドに定数値が設定されます。
-
変数は、パラメーターの値が変化する可能性があることを意味します。 ジャーニーでこのカスタムアクションを使用するマーケターは、必要な値を渡したり、このパラメーターの値をどこから取得するか(例:イベント、Adobe Experience Platform など)を指定したりすることが自由にできます。 この場合、定数/変数切替スイッチの右側にあるフィールドは、マーケターがこのパラメーターに名前を付ける際にジャーニーで表示されるラベルです。
オプションのパラメーターについては、行の最後にある「はオプションです」オプションを有効にします。 このオプションをオンにすると、パラメーターが非必須としてマークされ、ジャーニー担当者はジャーニーでそのカスタムアクションをオーサリングする際に、そのパラメーターを入力するかどうかを選択できます。
-
その他のリソース
カスタムアクションの設定、使用、トラブルシューティングについて詳しくは、以下の節を参照してください。
- カスタムアクションの基本を学ぶ - カスタムアクションの概要と、サードパーティシステムへの接続に役立つ仕組みについて説明します。
- カスタムアクションの使用 - ジャーニーでのカスタムアクションの使用方法について説明します
- カスタムアクションのトラブルシューティング - カスタムアクションのトラブルシューティング方法について説明します
- コレクションをカスタムアクションパラメーターに渡す - 実行時に値が動的に入力されるコレクションをカスタムアクションパラメーターに渡す方法について説明します
This section contains structured knowledge intended to support interpretation, retrieval, and question answering related to this topic.
For complete understanding, this information should be combined with the documentation on this page. Neither source is intended to stand alone; the page describes the feature, while this section provides additional context that helps disambiguate terminology, intent, applicability, and constraints.
- TL;DR: This page explains how to configure a custom action that connects a third-party REST API to your journeys by defining its endpoint, authentication, transport security, and payload parameters.
Intents:
- Create and name a custom action from the Configurations Actions area
- Define the endpoint URL, method, headers, and query parameters
- Configure authentication, including certificate-based custom authentication and mutual TLS
- Define request, response, and failure response payload parameters as constants or variables
- Understand the capping, throughput, and endpoint constraints that apply to custom actions
Glossary:
- Custom action: An additional action defined by technical users and made available to marketers that calls a third-party service through a REST API with a JSON-formatted payload (product-specific)
- Endpoint Configuration: The section where you define the external service URL, method, headers, and query parameters (product-specific)
- Constant parameter: A parameter whose value is set in the action configuration by a technical persona and is always the same across journeys; the marketer cannot see it (product-specific)
- Variable parameter: A parameter whose value can vary and that marketers fill or map when using the custom action in a journey (product-specific)
- Allow NULL values: An option that keeps Null values in the external call (product-specific)
- Certificate-Based Custom Authentication: An authentication type enabled by setting “subType”: “certificateCredential” in the custom authorization payload, where Journey Optimizer signs a JWT client assertion with Adobe’s managed certificate and exchanges it for an access token (product-specific)
- Slow custom action service: A dedicated service through which calls are routed when an endpoint has a response time greater than 0.75 seconds (product-specific)
Guardrails:
- The action name allows only alphanumeric characters and underscores, with a maximum length of 30 characters (hard limit).
- Custom actions support JSON format only when using request or response payloads.
- Custom actions cannot use the DELETE method; only POST, GET, or PUT are supported. To update an existing resource, use PUT.
- Only the default ports are allowed: 80 for http and 443 for https. Adobe addresses that are not public and IP addresses are not allowed.
- A capping limit of 300,000 calls over one minute is defined for all custom actions (a default that can be raised via the Capping or Throttling APIs); the default capping is performed per host and per sandbox and applies at the domain level.
- The 300,000 calls per minute cap is enforced as a sliding window per sandbox and per endpoint for endpoints with response times less than 0.75 seconds; for endpoints with response times greater than 0.75 seconds, a separate limit of 150,000 calls per 30 seconds (also a sliding window) applies.
- A throttling configuration cannot go below 200 TPS, so any targeted endpoint must support at least 200 TPS.
- When an endpoint has a response time greater than 0.75 seconds, its custom action calls are routed through a dedicated slow custom action service instead of the default service.
- Field names in the payload cannot contain a dot character, nor start with a dollar character.
- When a custom action is used in a journey, most parameters are read-only; only the Name, Description, URL fields and the Authentication section can be modified.
- You should not target public endpoints with custom actions.
Terminology:
- Canonical name: Custom action — Acronym: n/a — variants: custom actions, action configuration
- Synonyms: “URL Configuration” = “Endpoint Configuration”
- Do not confuse: “Constant” (value fixed in the action configuration, hidden from the marketer) ≠ “Variable” (value that marketers pass or map in the journey)
- Do not confuse: “TLS” (transport layer security, with fallback from TLS 1.3 to TLS 1.2) ≠ “mTLS” (mutual TLS, which also verifies the client certificate)
FAQ:
- Q: Why can the action name not be saved? — The name allows only alphanumeric characters and underscores and cannot exceed 30 characters.
- Q: Which methods are supported for a custom action? — POST, GET, and PUT are supported; DELETE is not supported, and PUT should be used to update an existing resource.
- Q: What is the capping limit for custom actions? — 300,000 calls over one minute per host and per sandbox at the domain level; endpoints slower than 0.75 seconds instead use a limit of 150,000 calls per 30 seconds.
- Q: How is mutual TLS activated? — No additional configuration is required in the custom action or journey; mTLS occurs automatically when an mTLS-enabled endpoint is detected.
- Q: Why is a custom action call routed to a different service? — When an endpoint has a response time greater than 0.75 seconds, its calls are routed through a dedicated slow custom action service instead of the default service.