開発者向けの基本を学ぶ get-started-developers

このページについて: Adobe Journey Optimizer にアプリケーションを接続する SDK、イベントストリーミング、カスタムアクションのエンドポイント、API を実装します。これにより、ジャーニーをライブデータに基づいて実行できます。

開発者​は、Adobe Journey Optimizer をアプリケーションやシステムに実装し、統合する責任を負います。 システム管理者データエンジニアからアクセス権を付与され、環境の準備ができたら、Adobe Journey Optimizer での作業を開始できます。

NOTE
実装順序: 管理者データエンジニア → 現在:開発者マーケター
モバイルと web の統合を実装する前に、データスキーマとイベントが設定されていることを確認してください。

Journey Optimizer エコシステムでの役割

他のチームメンバーがユーザーインターフェイスを通じて Journey Optimizer を設定している間、以下に焦点を当てます。

  • モバイルアプリケーションと web アプリケーションでの SDK の実装
  • ジャーニーをトリガーするためのアプリケーションからの​イベントの送信
  • カスタムアクションを通じて Journey Optimizer が呼び出せる API エンドポイントの作成
  • Journey Optimizer と既存のシステムおよびインフラストラクチャとの​統合
  • 実装の​テストとデバッグ

データエンジニアは、データスキーマ、イベント設定およびデータソースを処理します。 管理者は、権限とチャネル設定を指定します。 マーケターは、実装を使用するジャーニーとコンテンツをデザインします。

このガイドでは、Journey Optimizer を開始するための基本的な技術的実装手順について説明します。 モバイルアプリ、web エクスペリエンス、API 統合のいずれを作成する場合でも、以下の節に従って実装を設定してください。

前提条件 prerequisites

実装を開始する前に、以下の点を確認してください。

カテゴリ
要件
技術スキル
* JavaScript(Web SDK の場合)または Swift/Kotlin(Mobile SDK の場合)の使用経験
* RESTful API と JSON に関する理解
* 非同期プログラミングとイベント駆動型アーキテクチャに関する知識
* 組織のアプリケーションアーキテクチャに関する知識
アクセスとツール
* API 資格情報用の Adobe Developer Console へのアクセス権
* アプリケーションのコードベースへのアクセス権がある開発環境
* API テスト用の Postman などのテストツール
* ブラウザー開発者ツールまたはモバイルデバッグツール
他のチームメンバーから
* 管理者
から付与された環境へのアクセス権* データエンジニア
からの XDM スキーマとイベント定義* マーケターからの要件とユースケース

技術的な基盤について technical-foundation

実装に進む前に、次のコアとなる技術概念を理解しておきます。

  1. Adobe Experience Platform の統合:Journey Optimizer は、Adobe Experience Platform でネイティブに作成されています。 基盤となるアーキテクチャを理解すると、より効果的な実装を作成できます。 詳しくは、Journey Optimizer の仕組みを参照してください。

  2. XDM データモデル:Journey Optimizer は、エクスペリエンスデータモデル(XDM)を使用して、イベントデータとプロファイルデータを構造化します。 開発者は、データエンジニアが設定したスキーマに準拠するデータの送信方法を理解する必要があります。 詳しくは、XDM スキーマを参照してください。

  3. 認証とセキュリティ:すべての実装に適切な認証が必要です。 SDK と API の認証を設定する方法を理解します。 詳しくは、API 認証を参照してください。

モバイルアプリの統合の設定 mobile-integration

Adobe Experience Platform Mobile SDK の設定

モバイル SDK は、iOS または Android アプリに直接埋め込むライブラリのコレクションです。 アプリと Adobe Experience Platform の間のコミュニケーション層として機能し、利用者の特定、行動イベントの収集、プッシュ通知、アプリ内メッセージ、パーソナライズされたコンテンツなど、Journey Optimizer からの指示を配信します。 この機能がなければ、Journey Optimizer はアプリユーザーの行動を把握できず、そうしたユーザーにリーチすることはできません。

  1. Mobile SDK をインストールして設定Adobe Experience Platform Mobile SDK ドキュメントに従って、SDK 統合を開始します。

  2. モバイルプロパティを作成:Adobe Experience Platform Data Collection でモバイルプロパティを設定します。 詳しくは、モバイルプロパティの作成と設定方法を参照してください。

  3. プッシュ通知を設定

    • iOS アプリ​の場合:アプリを APNs(Apple プッシュ通知サービス)に登録します。 詳しくは、Apple のドキュメントを参照してください。
    • Android アプリ​の場合:Android アプリに Firebase Cloud Messaging を設定します。 詳しくは、Google のドキュメントを参照してください。
  4. モバイル統合をテストモバイルオンボーディングのクイックスタートワークフローを使用して、モバイル設定を迅速に設定およびテストします。

プッシュ通知を設定する手順について詳しくは、このページを参照してください。

コードベースのエクスペリエンスの実装(Mobile SDK)

コードベースのエクスペリエンスにより、新しいアプリのリリースを必要とせずに、オンボーディング画面や製品詳細ページ、アプリ内バナーや機能フラグなど、ネイティブモバイルアプリのあらゆるサーフェスにパーソナライズされたコンテンツを配信できます。 モバイル SDK を使用すると、ランタイムにパーソナライズされたコンテンツを取得してレンダリングできるため、チームは配置とプレゼンテーションを完全に制御できます。

Web エクスペリエンスの実装 web-implementation

Adobe Experience Platform Web SDK の設定

Web SDK(alloy.js)を使用すれば、複数の Adobe タグをサイトに個別に実装する代わりに、1 つの JavaScript ライブラリで対応できます。 行動データを収集し、設定したデータストリームを通じて Adobe Experience Platform にストリーミングし、パーソナライゼーションの指示を受け取ります。これらすべてを 1 回のネットワーク往復で行います。 Journey Optimizer を導入すれば、訪問者を特定し、その行動に基づいてジャーニーをトリガーし、パーソナライズされたコンテンツをページに即座に配信できるようになります。

  1. Web SDK をインストールWeb SDK 実装ガイドに従って、web サイトに SDK を設定します。

  2. データストリームを設定:Journey Optimizer を有効にして、Adobe Experience Platform Data Collection でデータストリームを作成および設定します。 詳しくは、データストリームドキュメントを参照してください。

  3. Web プッシュ通知を有効にする(オプション):Web プッシュ通知が一般提供されるようになりました。 Web SDK 設定で pushNotifications プロパティを設定し、sendPushSubscription コマンドを使用してプッシュ購読を登録します。 Web プッシュ設定の詳細情報

コードベースのエクスペリエンスの実装(Web SDK)

マーケターがレイアウトを完全に制御するビジュアルチャネルとは異なり、コードベースのエクスペリエンスでは、パーソナライズされたコンテンツをページ上でどのように表示するかを完全にコントロールできます。 Journey Optimizer は、パーソナライゼーションデータを含む JSON ペイロードを返し、そのデータをどこに、どのように表示するかはコードで決定します。 このモデルは、ビジュアルエディターやページ公開のワークフローを必要とせずに、ヒーローバナー、レコメンデーションカルーセル、検索結果ランキング、A/B テストのバリエーションなど、あらゆる web サーフェスに対応します。

  1. 実装方法を選択:クライアントサイド、サーバーサイド、ハイブリッド。 各アプローチの実装サンプルを確認します。

  2. サーフェスを定義:パーソナライズされたコンテンツを配信するアプリケーション内の場所を特定します。 詳しくは、サーフェスの設定を参照してください。

  3. コンテンツレンダリングを実装:Web SDK を使用して、パーソナライゼーションコンテンツを取得および適用します。 コードベースの実装チュートリアルを参照してください。

  4. 表示イベントとインタラクションイベントを送信:コンテンツが表示されるタイミングと、ユーザーがコンテンツとやり取りするタイミングを追跡して、分析と最適化を行います。

実際のコードベースのエクスペリエンスを確認するには、GitHub のサンプル実装を参照してください。

詳しくは、コードベースのエクスペリエンスの基本を学ぶを参照してください。

イベントストリーミングの実装 event-streaming

ジャーニーをトリガーするイベントの送信

ジャーニーは、イベントに基づいて実行されます。ユーザーのログイン、カートに商品の追加、購入の完了、フォームの放棄などが挙げられます。 ユーザーの役割は、こうしたイベントを適切なタイミングでアプリケーションから送信することです。 各イベントは、Experience Platform Streaming Ingestion API に送信される XDM 構造化 JSON ペイロードです。Journey Optimizer は、ミリ秒以内にイベントを受け取り、該当するジャーニーへとプロファイルをルーティングします。 イベントスキーマとペイロード構造は、データエンジニアが定義するので、コーディングを開始する前にデータエンジニアと連携して確認してください。

  1. イベントペイロードを理解:データエンジニアと連携して、イベントスキーマと必要なペイロード構造を取得します。 ペイロードは、設定した XDM スキーマに準拠する必要があります。 詳しくは、イベントスキーマ要件を参照してください。

  2. イベントストリーミングを実装Streaming Ingestion API を使用して、Adobe Experience Platformにイベントを送信します。 詳しくは、イベントの送信手順 を参照してください。

  3. イベントタイプを処理

    • 単一イベント:ユーザー固有のアクション(例:ボタンのクリック、購入完了)に対するイベント送信を実装します
    • ビジネスイベント:ビジネス関連のイベント(例:在庫の更新、価格の変更)を送信します
  4. イベント配信をテスト:イベントが適切に受信され、期待どおりにジャーニーがトリガーされることを確認します。 詳しくは、イベントのトラブルシューティングを参照してください。

API 経由でイベントを送信する場合の​実装例

POST https://{DATACOLLECTION_ENDPOINT}/collection/{DATASTREAM_ID}
Content-Type: application/json

{
  "header": {
    "datasetId": "{DATASET_ID}",
    "imsOrgId": "{ORG_ID}",
    "source": {
      "name": "Web SDK"
    }
  },
  "body": {
    "xdmMeta": {
      "schemaRef": {
        "id": "{SCHEMA_ID}"
      }
    },
    "xdmEntity": {
      "_id": "unique-event-id",
      "eventType": "purchase",
      "timestamp": "2024-01-01T12:00:00Z",
      // ... your event data
    }
  }
}

詳しくは、ジャーニーイベントの操作を参照してください。

カスタムアクションエンドポイントの開発 custom-actions

ジャーニーがカスタムアクションのステップに到達すると、Journey Optimizer は指定した URL(バックエンド、CRM、ロイヤルティプラットフォーム、REST エンドポイントなど)に対して、アウトバウンド HTTP 呼び出しを行います。 ユーザーの役割は、エンドポイントを構築して公開することです。リクエストの仕様(ペイロードの形状、認証方法、応答形式)を定義し、その背後にあるビジネスロジックを実装し、Journey Optimizer が生成する呼び出し量に対応できるようにする必要があります。 次に、管理者がエンドポイントを Journey Optimizer に登録することで、マーケターがジャーニーのステップとして利用できるようになります。

  1. API エンドポイントを作成:ジャーニー実行中に Journey Optimizer により呼び出される RESTful API エンドポイントを作成します。 エンドポイントで次の操作を実行する必要があります。

    • JSON ペイロードを受け入れる
    • リクエストを認証(OAuth、API キーまたは JWT)
    • 適切なタイムアウト制限内でリクエストを処理
    • 応答を想定される形式で返す
  2. カスタムアクションの機能を理解:カスタムアクションは、Epsilon、Slack、Firebase などのサードパーティシステムや独自のサービスに接続できます。 詳しくは、カスタムアクションを参照してください。

  3. アクション設定を操作管理者またはデータエンジニアは、Journey Optimizer でカスタムアクションを設定し、API エンドポイント URL、認証方法、パラメーターを定義します。 お客様は、API 仕様を管理者またはデータエンジニアに提供してください。 詳しくは、カスタムアクション設定を参照してください。 オプションの​ エラー応答ペイロード ​を、タイムアウト/エラー分岐のよりリッチなフォールバックロジックに対して定義できます。

  4. アクションにつながるデータを返す:後続のジャーニーステップで使用できるデータを返すように API をデザインします。 詳しくは、アクション応答を参照してください。

  5. カスタムアクションの正常性を監視:カスタムアクション監視ダッシュボードを使用して、呼び出しの成功、エラー、スループット、応答時間、キュー待ち時間を追跡します。 詳しくは、カスタムアクションレポートを参照してください。

  6. レート制限を実装:エンドポイントが想定されるボリュームを処理できることを確認します。 Journey Optimizer では、1 秒あたり 5000 回の呼び出しの制限が適用されますが、システムは回復力を備えている必要があります。 詳しくは、キャップとスロットルを参照してください。

ユースケース例:カスタムアクションを使用して、ジャーニーイベントを Experience Platform に書き込みます

Journey Optimizer API の操作 apis

すべての操作を Journey Optimizer UI を通じて行う必要はありません。 自社のバックエンドからキャンペーンをトリガーする、プライバシーリクエストを受けてメールアドレスへの配信を停止する、外部の CMS からコンテンツテンプレートを同期させる、といった必要が生じることもあります。 Journey Optimizer の REST API では、プラットフォームのコア機能にプログラムでアクセスできます。 すべての呼び出しは OAuth サーバー間認証を使用します。古い JWT メソッドは非推奨となっています。

  1. API 機能を理解:Journey Optimizer API を使用すると、様々なリソースをプログラムで作成、読み取り、更新、削除できます。 詳しくは、Journey Optimizer API を参照してください。

  2. 認証このチュートリアルに従って、Adobe Developer Console を使用して API 認証を設定します。

  3. API リファレンスを探索:完全な API ドキュメントを参照して、Adobe Journey Optimizer API リファレンスで API を直接試します。

  4. API トリガーキャンペーン:API トリガーキャンペーンを使用して、トランザクションメッセージを作成します。 大量のシナリオ(最大 5000 TPS)の場合は、高スループットモードを探索します(アドオンライセンスが必要)。

  5. Decision Management API:オファー管理と決定に専用の API を使用します。 詳しくは、Decision Management API ガイドを参照してください。

  6. Decisioning 移行 API:柔軟なスコープ、自動検証、ロールバックのサポートにより、意思決定管理エンティティを Decisioning にプログラムで移行します。 詳しくは、Decision 移行 API ガイドを参照してください。

  7. SMS Webhook:受信メッセージを取得するように受信 Webhook を設定し、配信レシートとステータス更新を受信するようにフィードバック Webhook を設定します。 学習を増やす

テストとデバッグ testing

本番環境で実装を開始する前に、イベントが適切なタイミングで実行され、ジャーニーが期待どおりにトリガーされ、カスタムアクションが実際の負荷下でも正常に動作し、パーソナライズされたコンテンツが正しくレンダリングされることを確認する必要があります。 このセクションでは、低レベルの SDK のログ記録から、実際のプロファイルを使用したエンドツーエンドのジャーニーテストの実行まで、問題を早期に発見するためのツールやテクニックについて説明します。

  1. SDK 実装をデバッグ:Adobe Experience Platform Assurance を使用して、SDK イベントの検査、データ収集の検証、統合に関する問題のトラブルシューティングをリアルタイムで行います。 オーディエンスの詳細情報

  2. イベント配信をテスト:アプリケーションからのイベントが Adobe Experience Platform により正しく受信され、期待どおりにジャーニーがトリガーされることを確認します。 イベントの取り込みを監視し、ペイロード構造を検証します。

  3. API 統合を検証:カスタムアクションエンドポイントをテストして、Journey Optimizer リクエストが正しく処理され、タイムアウト制限内に応答し、期待されるデータ形式が返されることを確認します。

  4. テストプロファイルでテストモードを使用データエンジニアと連携してテストプロファイルにアクセスし、ジャーニーテストモードを使用して実装を検証します。 詳しくは、ジャーニーのテスト方法を参照してください。

  5. SDK ログを監視:SDK 実装でデバッグログを有効にして、開発中の問題をトラブルシューティングします。

    • Mobile SDK:ログを有効にして、SDK イベントと API 呼び出しを確認します
    • Web SDK:ブラウザーコンソールを使用して SDK アクティビティを監視します
  6. データストリームの設定を確認:データストリームが Journey Optimizer にデータを送信するために正しく設定されていることを確認します。 イベントがデータストリームを通じて正しい宛先にフローされることを確認します。

  7. 分析用にジャーニーデータのクエリを実行:データレイクで SQL クエリを使用して、ジャーニーステップイベントの分析、問題のデバッグ、カスタムアクションのパフォーマンスの監視を行います。 次を含むジャーニー分析のクエリ例を探索します。

    • プロファイルのエントリ/終了のトラッキングと破棄理由
    • カスタムアクションのパフォーマンス指標(待ち時間、スループット、エラー)
    • イベントの配信パターンとエラーパターン
    • ジャーニーインスタンスの状態

高度な開発者向けトピック advanced-topics

コア SDK、イベント、API を導入したら、次のトピックで、さらに高度な活用が可能になります。プロファイルを肥大化させることなく、実行時にジャーニーデータを強化する、オプトアウトが各統合を通じて伝播するように同意シグナルを処理する、本番環境の規模に求められるスループットと信頼性を実現するために実装を最適化する、といった重要な機能です。

コンテキストデータとエンリッチメントの操作

一般的に、ジャーニーでは、トリガーとなるイベントに含まれる情報(製品名、ロイヤリティ層、注文明細リストなど)だけでは不十分な場合があります。 これらすべてを各プロファイルに事前に読み込むのではなく、コンテキストエンリッチメントを使用すると、ジャーニーで AEP データセットから実行時に情報を検索するか、カスタムアクションの応答から情報を取得できます。 これにより、プロファイルに永続的にデータを保存することなく、メッセージや分岐条件でそのデータを参照できるようになります。

  • 配列を反復処理:Handlebars 構文を使用して、イベント、カスタムアクション応答およびメッセージ内のデータセット検索からの動的なリストを表示します。 詳しくは、コンテキストデータの反復処理を参照してください。
  • データセット参照:データセット参照を実装して、Adobe Experience Platform データセットからのジャーニーデータを強化します。 設定について詳しくは、データエンジニアと連携してください。 詳しくは、データセット参照を参照してください。

同意とガバナンスの操作

Journey Optimizer はデータガバナンスと同意ポリシーをプラットフォームレベルで適用しますが、統合でもこれらのポリシーを遵守する必要があります。 顧客がマーケティングコミュニケーションをオプトアウトした場合、またはデータ使用ラベルによりフィールドの使用方法が制限されている場合は、UI のアクションをブロックするだけでなく、カスタムアクションやデータセットの参照にもこれらのルールが適用される必要があります。

  • データガバナンス:カスタムアクションにデータ使用ポリシーを適用します。 詳しくは、データガバナンスを参照してください。
  • 同意管理:実装で顧客の同意環境設定を処理します。 詳しくは、同意を参照してください。

最適化とベストプラクティス

Journey Optimizer の本番環境では、数百万のイベントと 1 秒間に数千ものジャーニー実行が定期的に処理されます。 これらのリソースは、そのような規模に合わせて統合を調整するのに役立ちます。例えば、レート制限に達する前にレート制限を把握し、プロファイルが密かに除外されるような一般的なジャーニー設計上の問題を回避して、原因不明のまま失敗するのではなく機能が低下しても動作を継続できるエラー処理を構築したりすることが重要です。

Journey Optimizer REST API の呼び出し rest-apis

SDK やイベントストリーミングを実装するだけでなく、独自のシステムからプログラムで Journey Optimizer を実行することもできます。 API の完全なリファレンス、OpenAPI 仕様、コードサンプルは、Journey Optimizer 開発者ポータルにあります。

NOTE
すべての統合では、OAuth サーバー間認証を使用する必要があります。JWT メソッドは非推奨となっています。 認証の設定

API トリガーキャンペーンの実行 api-triggered

Interactive Message Execution REST API を使用して、外部システムからトランザクションメッセージまたはマーケティングメッセージをトリガーします。 エンドポイントを呼び出す前に、以下を実行してください。

  • エンドポイントが呼び出しを受け入れる前に、キャンペーンを​ アクティブ化 ​する必要があります。
  • 呼び出しのタイムアウトは 60 秒​です。予期しないタイムアウトが発生した場合は、内部で再試行されます。
  • キャンペーンの開始日/終了日が設定されている場合、それらの日付以外の API 呼び出しは失敗します。
  • ペイロードを作成するには、Journey Optimizer UI のライブキャンペーンの「cURL リクエスト」セクションから、生成されたサンプル cURL リクエストを取得します。このリクエストには、そのキャンペーンで使用するすべてのパーソナライゼーション変数が含まれています。
  • 標準キャンペーンと高スループットキャンペーンでは、使用するエンドポイントが異なります。

API リファレンス · コードサンプル · API トリガーキャンペーンの操作

外部エンドポイントのキャップとスロットル capping-throttling

ジャーニーがカスタムアクションまたはデータソースを介して外部システムを呼び出す場合、Capping API と Throttling API は、これらのシステムを過負荷から保護します。 キャップは、設定された制限を超える呼び出しを拒否します。スロットルキューは最大 6 時間待機します(本番サンドボックス、カスタムアクションのみ)。

Capping API リファレンス · Capping API の操作 · Throttling API の操作

その他の REST API more-rest-apis

Journey Optimizer では、メッセージとキャップに加えて、抑制管理、コンテンツテンプレート、キャンペーン検索、プルーフ、オーケストレーションキャンペーンの実行など、REST エンドポイントを活用できます。 これらを使用すると、UI での手動操作が必要となるような処理を自動化できます。例えば、データプル後にアドレスを一括で配信停止したり、外部のコンテンツパイプラインからテンプレートを同期したりできます。

必要なアクション
API リファレンス
メールアドレスまたはドメインをプログラムでの送信から除外する
Suppression API · 抑制リストの管理
監査または外部同期用にジャーニーのメタデータを取得する
Journeys API
外部パイプラインからのコンテンツテンプレートとフラグメントを作成および管理する
Content API · テンプレート · フラグメント
アクションキャンペーンを取得およびフィルタリングする
Campaigns API
キャンペーンをプレビューし、本配信前確認をプログラムで送信する
Simulations API
NOTE
Simulations API は、API トリガーおよびアクション(スケジュール済み)キャンペーンで使用できます。 オーケストレーションされたキャンペーンでははサポートされていません:代わりに、オーケストレーションされたキャンペーンのユーザーインターフェイスでプレビューと本配信前確認のワークフローを使用します。

| データセットの検証とオーケストレーションされたキャンペーン実行のトリガー| データセットの検証 · トリガー · データセットを有効にする |

その他のリソース additional-resources

  • Developer ConsoleAdobe Developer Console にアクセスして統合を作成し、API 資格情報を管理します。
  • サンプルコードGitHub のサンプル実装を探索します。
  • チュートリアルビデオExperience League の実践的なチュートリアルを通じて学びます。
  • 開発者コミュニティ:アドビコミュニティフォーラムで、他の開発者とつながり、サポートを受けることができます。

役割をまたいだ共同作業 next-steps

実装作業は、次の他のチームメンバーと連携します。

データエンジニアとの連携

データエンジニアと連携して、データやイベントの設定を行います。 ユーザーの行動に反応するあらゆるジャーニーは、送信するイベントによって異なります。データエンジニアがスキーマを定義し、開発者がスキーマを生成するコードを実装します。

  • 実装に必要な XDM スキーマとイベント構造を取得
  • 送信する必要があるイベントとその必須のペイロード形式を理解 - ジャーニーイベントの操作を参照
  • 各イベントペイロードで必須フィールドとオプションのフィールド、および必要なフィールドが欠落している場合や形式が正しくない場合に、ジャーニーで何が起こるかを確認します。スキーマ要件を参照
  • Adobe Experience Platform Assurance を使用して、イベント配信とデータ取り込みをテスト
管理者との連携

管理者と連携して、アクセス権やチャネルの設定を行います。 ジャーニーは、管理者が設定したチャネルを通じてのみユーザーにリーチできます。早期に調整して、SDK の作業と設定を同期しておいてください。

マーケターとの連携

マーケターと連携して、ジャーニー設計とテストを行います。 マーケターは、送信するイベントと公開するサーフェスに基づいてジャーニーとコンテンツを構築します。これらをより緊密に連携させるほど、ジャーニーをより迅速に公開することができます。

実装の開始

作成を開始する準備は整っていますか? 上記の節から最初の実装領域を選択します。

  1. モバイルアプリですか? Mobile SDK 統合から開始します
  2. Web サイトですか? Web SDK 設定から開始します
  3. API 統合ですか? API の操作にジャンプします
  4. カスタムシステムですか? カスタムアクションを確認します

各節には、実装をガイドする詳細な技術ドキュメント、コードサンプル、チュートリアルへのリンクが含まれています。

その他の役割ガイド other-role-guides

役割と責任の概要に戻る · 開始に戻る

AI Knowledge Reference

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 is the Developer getting-started path, covering how to implement the Mobile and Web SDKs, event streaming, custom action endpoints, and Journey Optimizer REST APIs, then test and debug those integrations.

Intents:

  • Set up Adobe Experience Platform Mobile SDK and Web SDK integrations
  • Implement code-based experiences for mobile and web surfaces
  • Send events to trigger journeys using the Streaming Ingestion APIs
  • Develop custom action endpoints that Journey Optimizer calls during journey execution
  • Work with Journey Optimizer REST APIs, including API-triggered campaigns and capping and throttling
  • Test and debug implementations using test mode with test profiles and Adobe Experience Platform Assurance

Glossary:

  • Mobile SDK: A collection of libraries embedded in an iOS or Android app that identifies users, collects behavioral events, and delivers instructions from Journey Optimizer (product-specific)
  • Web SDK (alloy.js): A single JavaScript library that collects behavioral data, streams it to Adobe Experience Platform through a datastream, and receives personalization instructions back (product-specific)
  • Custom action: A journey step where Journey Optimizer makes an outbound HTTP call to a URL you provide, such as a backend, CRM, or loyalty platform (product-specific)
  • Code-based experiences: Personalized content delivered to any mobile or web surface, where Journey Optimizer returns a JSON payload and your code decides where and how to display it (product-specific)
  • Unitary events: Person-specific action events (for example a button click or purchase completion), as distinct from business events such as inventory updates or price changes (product-specific)

Guardrails:

  • Journey Optimizer applies a 5000 calls/second limit for custom action endpoints, but your system should be resilient.
  • API-triggered campaign calls have a timeout of 60 seconds; internal retries handle unexpected timeouts.
  • An API-triggered campaign must be activated before the endpoint accepts calls, and calls made outside configured campaign start and end dates will fail.
  • Throttling queues calls for up to 6 hours (production sandboxes, custom actions only), while capping rejects calls that exceed the configured limit.
  • High Throughput mode for API-triggered campaigns supports up to 5000 TPS and requires an add-on license.
  • All integrations must use OAuth Server-to-Server authentication; the JWT method is deprecated.
  • The Simulations API is available for API-triggered and Action (scheduled) campaigns and is not supported for Orchestrated campaigns.

Terminology:

  • Canonical name: Developer — variants: Developer getting-started path
  • Acronyms: SDK = Software Development Kit; XDM = Adobe Experience Data Model; TPS = transactions per second; API = Application Programming Interface
  • Implementation order: Administrator → Data Engineer → Developer → Marketer
  • Do not confuse: “Mobile SDK” (embedded iOS or Android libraries) ≠ “Web SDK” (alloy.js JavaScript library)
  • Do not confuse: “Capping” (rejects calls that exceed the configured limit) ≠ “Throttling” (queues calls for up to 6 hours)

FAQ:

  • Q: What is the rate limit for custom action endpoints? — Journey Optimizer applies a 5000 calls/second limit, but your endpoints should still be resilient.
  • Q: Which authentication method must API integrations use? — OAuth Server-to-Server authentication; the JWT method is deprecated.
  • Q: What must be true before an API-triggered campaign endpoint accepts calls? — The campaign must be activated, and calls outside any configured start and end dates will fail.
  • Q: What is the difference between capping and throttling? — Capping rejects calls that exceed the configured limit, while throttling queues them for up to 6 hours (production sandboxes, custom actions only).
  • Q: Is the Simulations API supported for Orchestrated campaigns? — No; it is available for API-triggered and Action (scheduled) campaigns, and you use the preview and proof workflow in the Orchestrated campaigns user interface instead.
  • Q: How do I test my implementation before it goes live? — Use test mode with test profiles obtained from your Data Engineer, and use Adobe Experience Platform Assurance to inspect SDK events and troubleshoot.
recommendation-more-help
journey-optimizer-help