Logo
Logo
CTRLK

ユーザージャーニーと情報フロー

各アプリには独自の機能がありますが、カスタマーエクスペリエンスは、同じ種類のアプリに対して同じ全体的なフローに従います。ほとんどのアプリには、インストールまたはセットアップ フェーズと実行フェーズがあります。

アプリのインストールとセットアップ

アプリのインストール、セットアップ、および構成フェーズでは、ユーザーがアプリをアカウントに接続し、アプリのアクセス許可を設定し、アプリまたはアプリが接続するプラットフォームの資格情報を入力し、アカウント レベルのアプリ設定を定義します。

アプリのインストール [#app-installation-app-installation-and-setup]

アプリのインストールとセットアップは、アプリが私的使用のみを目的としているか、Exchange マーケットプレースに登録する予定かによって異なります。

プライベートアクセスアプリ [#private-access-apps-app-installation-and-setup]

アプリがユーザー専用の場合、インストールとセットアップは省略可能です。

構成ページにアクセスするには、[公開] タブで、アプリの 3 ドット メニューをクリックし、[構成] を選択します。

設定ページは、Web インターフェイス内で iframe として読み込まれます。

Private app

一般公開されているアプリ [#publicly-available-apps-app-installation-and-setup]

アプリが Exchange マーケットプレースにリストされている場合、顧客がアプリを使用するにはインストールが必要です。セットアップ手順はオプションですが、強くお勧めします。

アプリのアクティベーション [#app-activation-app-installation-and-setup]

ユーザーは、Exchange マーケットプレースでリストを見つけ、追加 ボタンをクリックすることで、アプリをアクティブ化できます。Answers チャットボット ブロックとConversations コンテキスト カードの場合、アプリはすぐに使用可能になり、Answers または Conversations 内に表示されます。

使用するコンポーネント:

  • アプリシェル
App activation

アプリのセットアップ [#app-setup-app-installation-and-setup]

アプリの構成ページが定義されている場合、ユーザーはアプリをインストールした直後にアプリのセットアップにアクセスします。ユーザは [設定(Configuration)] ページに転送され、Web インターフェイス内に iframe として読み込まれます。

ユーザーは、Exchange の [マイ アプリ] タブでインストールされているアプリを見つけることで、いつでも構成ページにアクセスできます。設定ページを再度開くには (使用可能な場合)、リストの [開く] ボタンをクリックします。設定ページは、Web インターフェイス内で iframe として読み込まれます。

使用するコンポーネント:

  • アプリシェル
  • 構成ページの UI
  • アプリ設定データベース
App setup

アプリの実行

次のセクションでは、アプリの実行フェーズで何が起こるか、およびアプリの種類に必要なコンポーネントについて説明します。

  • コンテキスト カード
  • Answers チャットボットブロック
  • Moments - フロー エレメント
  • People データ同期

コンテキスト カードの実行 (iframe の読み込み) [#context-card-execution-iframe-load-app-execution]

コンテクストカードに NTT CPaaS アカウント、Conversations エージェント、またはエンド ユーザーに関する情報が必要な場合は、OAuth フロー を実装してこの情報を取得する必要があります。

コンテクストカードの実行中に使用されるコンポーネント [#components-used-during-context-card-execution-app-execution]

  • アプリシェル
  • 積荷目録
  • コンテキスト カード UI
  • アプリ設定データベース (使用する場合)
App execution

Answers チャットボットブロック作成 [#answers-bot-block-creation-app-execution]

Answers チャットボット ブロックは、Answers チャットボット エディターでチャットボットデザイナーが使用できます。設計者は、チャットボット フロー全体の任意のステップにチャットボットブロックを配置し、チャットボット属性のリストから入力フィールドと出力フィールドを選択し、使用するチャットボットをアクティブ化できます。チャットボットの設定中に、Answersは、そのアカウントに対してアクティブ化されたすべてのチャットボットブロックをチャットボット要素として表示します。ブロックがチャットボット フローに追加されると、ユーザーはアプリのマニフェストで定義されているように、要求と応答の属性を選択できます。

Answers チャットボットブロック作成時に使用されるコンポーネント [#components-used-during-answers-bot-block-creation-app-execution]

  • アプリシェル
  • 積荷目録
  • API エンドポイント
Answers bot creation

Answers チャットボットブロック実行 [#answers-bot-block-execution-app-execution]

Answers チャットボットブロックがアクティブで、ユーザーがそれと相互作用すると、チャットボットブロックがアクティブになります。Answers は、チャットボットの動的属性を使用して入力フィールドに入力し、エンドポイントまたはミドルウェアへの API 呼び出しを構築します。必要に応じて、ミドルウェアは Answers からの呼び出しを API エンドポイントの正しい形式に変換できます。一般的な翻訳は次のとおりです。

  • アプリ設定データベースから API 要求へのアカウントの詳細の追加
  • アプリ設定データベースから API 要求へのアプリ設定の追加
  • API エンドポイントでヘッダー パラメーターを使用する場合の API 要求の再構築 (現在、Exchange では Query パラメーターと Path パラメーターのみがサポートされています)

Answers チャットボットブロックの実行中に使用されるコンポーネント [#components-used-during-answers-bot-block-execution-app-execution]

  • アプリシェル
  • 積荷目録
  • API エンドポイント
  • API ミドルウェア (使用する場合)
  • アプリ設定データベース (使用する場合)

Answers チャットボットブロック実行中に使用可能なデータ [#data-available-during-answers-bot-block-execution-app-execution]

NTT CPaaS 内からアプリを実行すると、マニフェストで指定した request/uri からエンドポイントが呼び出され、アカウントを識別する情報が送信されます。

署名は、次の 2 つの要素に基づいて作成されます。

  • タイムスタンプ値
  • 要求本文

署名は、"X-Ib-Exchange-Req-Signature" と呼ばれる 3 つのヘッダーの 1 つにあります。このヘッダーには、タイムスタンプ値の後に使用している要求本文が含まれ、データとして空白や区切り文字はありません (タイムスタンプ + 本文)。

ヘッダー:

  • X-IB-Exchange-Req-AccountKey: [暗号化されたアカウント ID]
  • X-IB-Exchange-Req-Signature: [暗号化されたタイムスタンプ + 本文]
  • X-Ib-Exchange-Req-タイムスタンプ: [生のタイムスタンプ]

例:

1 
2 {
3 "user-agent": "Java-http-client/20",
4 "content-length": "21",
5 "content-type": "application/json",
6 "x-forwarded-for": "193.105.74.4",
7 "x-forwarded-host": "appendpoint.free.beeceptor.com",
8 "x-forwarded-proto": "https",
9 "x-ib-exchange-req-accountkey": "D8ADC25936426DE0279BC0C4EA791D9B",
10 "x-ib-exchange-req-signature": "e5adabc728a6f1a561f13b043e11c1acb0a5cff61948aec691c86d2bd8ff3fcd",
11 "x-ib-exchange-req-timestamp": "1689697378017",
12 "accept-encoding": "gzip"
13 }

体:

  • request body: [生データ]
  • 要求サンプル: {"email":"test@test.com"}
  • リクエストサンプル: {"order_id": "1212721005877-01"}

例:

1 
2 {
3 "order_id": 152512
4 "email": "test@test.com"
5 }

署名メッセージを検証する [#validate-your-signature-message-app-execution]

  1. アプリの署名シークレットを取得します (App Shell で使用可能)。
  2. X-Ib-Exchange-Req-Timestamp ヘッダーからタイムスタンプを抽出します。
  3. タイムスタンプと使用している要求本文を、スペースや区切り文字を入れずに連結して、base_stringとして使用します。たとえば、タイムスタンプ: 1667951050990 と要求本文: {"email":"test@test.com"} の場合は 1667951050990{"email":"test@test.com"} です。
  4. HmacSHA256アルゴリズムでお気に入りのMAC(メッセージ認証コード)実装を使用して、署名シークレットを秘密鍵として使用して上記のbase_stringを小文字の16進数文字列に署名/ハッシュします。
  5. この 16 進数のテキストを取得したら、リクエストで送信した X-Ib-Exchange-Req-Signature ヘッダーと比較できます。
Validate signature

フロー エレメント作成 [#flow-element-creation-app-execution]

フロー エレメントは、Moments の フロー エディターで使用できます。

フロー デザイナーは、顧客体験に機能を追加し、サイド パネルに表示される入力フィールドと出力フィールドを選択できます。各関数は、[統合] の [エレメントの選択] リストに表示されます。

フロー エレメントが顧客体験で使用される場合、ユーザーはマニフェストで定義されているフィールドを選択できます。

フロー エレメント作成時に使用されるコンポーネント [#components-used-during-flow-element-creation-app-execution]

  • アプリシェル
  • 積荷目録
  • API エンドポイント
Moments - Flow element creation

フロー エレメント実行 [#flow-element-execution-app-execution]

トリガー イベントが顧客体験フローを開始すると、要求された属性が入力されます。フローがフロー エレメントを検出すると、属性を使用して入力フィールドに入力し、エンドポイントまたはミドルウェアへの直接のAPI呼び出しを構築します。ミドルウェアは、フローからの呼び出しを、アプリ設定データベースからアカウントの詳細またはアプリ設定を追加する API エンドポイントの正しい形式に変換できます。

フロー エレメント実行中に使用されるコンポーネント [#components-used-during-flow-element-execution-app-execution]

  • アプリシェル
  • 積荷目録
  • API エンドポイント
  • API ミドルウェア (使用する場合)
Moments - Flow element execution

People データ同期の実行 [#people-data-sync-execution-app-execution]

アプリのニーズに応じて、サードパーティのプラットフォームから People CDP にデータをプッシュしたり、People CDP からサードパーティのプラットフォームにデータをプッシュしたり、またはその両方を行ったりすることができます。アプリ ミドルウェアは、2 つのプラットフォーム間のデータのフローを調整します。プラットフォーム資格情報とデータ マッピングの設定は、アプリのセットアップ フェーズで定義する必要があります。

  • サードパーティのプラットフォームからデータをプッシュするには、サードパーティで使用可能なツールを使用して最近の変更を特定し、 People API を使用してプロファイル情報を作成または更新します。
  • People API プラットフォームからサードパーティプラットフォームにデータをプッシュするには、 新しい個人プロファイルまたは変更された個人プロファイルを定期的にチェック します。modifiedAt と createdAt を使用して最近の変更を特定し、サードパーティ プラットフォームのツールを使用してデータをプッシュします。

People データ同期の実行中に使用されるコンポーネント [#components-used-during-people-data-sync-execution-app-execution]

  • アプリ シェル (省略可能、マーケットプレースの登録情報にのみ使用)
  • API ミドルウェア
  • API エンドポイント
  • アプリ設定データベース (使用する場合)