Interact API データ・フロー
次の図は、Interact API の単純な実装を示しています。訪問者は Web サイトにログインすると、オファーが表示されるページに移動します。訪問者はオファーを選択して、ログアウトします。対話は単純ですが、タッチポイントとランタイム・サーバーの両方でいくつかのイベントが発生します。
訪問者がログインすると、startSession がトリガーされます。
Interact API データ・フローの単純な実装を示した図
この例では、startSession メソッドは 4 つのことを行います。最初に、新しいランタイム・セッションを作成します。2 番目に、顧客のプロファイル・データをセッションにロードするように求める要求を送信します。3 番目に、そのプロファイル・データを使用して対話式フローチャートを開始し、その顧客をセグメントに配置するように求める要求を送信します。このフローチャートの実行は非同期です。4 番目に、ランタイムは、オファー非表示、およびグローバル・オファーと個々のオファーの処理に関する情報を、そのセッションにロードします。セッション・データは、そのセッションが存続する間、メモリー内に保持されます。
訪問者は、事前定義されているインタラクション・ポイントに到達するまで、サイトを移動します。 将来的には、2 番目のインタラクション・ポイント (選択項目の選択) が、オファーのセットを表すリンクを訪問者がクリックする場所になります。 executeBatch メソッドをトリガーするリンクは、タッチポイント・マネージャーによって構成されています。
executeBatch メソッドをトリガーする API 呼び出しの図
executeBatch メソッドを使用することで、複数のメソッドを単一の呼び出しでランタイム・サーバーに呼び出すことができます。この特定の executeBatch は、他の 2 つのメソッド (getOffers および postEvent) を呼び出します。getOffers メソッドは、オファーのリストを要求します。ランタイムは、セグメンテーション・データ、オファー非表示リスト、処理ルール、および学習モジュールを使用して、オファーのセットを提案します。ランタイムによって返されたオファーのセットは、コンテンツ・ページに表示されます。
postEvent メソッドは、設計環境で定義されたイベントの 1 つをトリガーします。この特定の事例では、イベントは、表示されたオファーのログをコンタクト履歴に記録するように求める要求を送信します。
訪問者は、オファーの 1 つを選択します (オファーの選択)。
postEvent メソッドを示した図
オファーの選択に関連付けられるボタンは、別の postEvent メソッドを送信するように構成されます。このイベントは、オファー承認のログをレスポンス履歴に記録するように求める要求を送信します。
訪問者は、オファーを選択したら、その Web サイトでの作業を終了し、ログアウトします。ログアウト・コマンドは、endSession メソッドにリンクされています。
API ワークフローの終了 (endSession メソッド) を示した図
endSession メソッドはセッションをクローズします。訪問者がログアウトするのを忘れた場合に、確実にすべてのセッションが最終的には終了されるようにするために、構成可能なセッション・タイムアウトがあります。セッションに渡された任意のデータ (例えば、startSession メソッドまたは setAudience メソッドのパラメーターに含まれる情報など) を保持する場合は、対話式フローチャートを作成した人物と協力します。対話式フローチャートを作成した人物は、セッションが終了してそのデータが失われる前に、スナップショット・プロセスを使用してそのデータをデータベースに書き込むことができます。スナップショット・プロセスに含まれる対話式フローチャートは、postEvent メソッドを使用して呼び出すことができます。
この例は、タッチポイントとランタイム環境の間での API の基本的な動作を示す、非常に単純な例です (訪問者がログイン、オファーが表示されるページへの移動、オファーの選択、およびログアウトの 4 つのアクションのみを実行する単純な対話)。 統合の設計は、必要に応じて (パフォーマンス要件の範囲内で) 複雑にすることができます。