注文のキャンセルの事前構築済みコンポーネントは、ユーザーの認証レベルを確認します。ユーザーが認証されると、コンポーネントはユーザーの最新または過去の注文に関する情報を提供します。その後、ユーザーは注文全体をキャンセルするか、注文内の特定のアイテムをキャンセルするかを選択できます。このコンポーネントは、Retail 認証の事前構築済みコンポーネントを使用してユーザーを認証します。このコンポーネントは、呼び出し後の要約に生成ツールも使用します。
制限事項
一般的な事前構築済みコンポーネントの制限に加えて、この事前構築済みコンポーネントには次の制限があります。
- このコンポーネントはデータを暗号化しません。
サンプル ダイアログ
次のサンプル ダイアログは、この事前構築されたコンポーネントによって処理される一般的なシナリオを示しています。サンプル ダイアログは、コンポーネントがテレフォニーを使用して呼び出されたときの動作を示しています。呼び出しにより、Default Welcome Intent と会話開始時の最初のエージェント レスポンスがトリガーされます。
最近の注文に含まれる 1 つの商品をキャンセルする
エンドユーザーは認証済みです。エージェントは、最新の注文のどの商品をキャンセルする必要があるかを確認します。エージェントは元のお支払い方法を確認し、キャンセルの詳細をユーザーに確認します。
ユーザー入力 | エージェントの応答 |
---|---|
2023 年 11 月 9 日の午後 8 時に注文された 5 本の水ボトルと 1 枚の T シャツを含む、末尾が 12978 の最新の注文番号についてお問い合わせですか? | |
はい | |
ご注文内で対象となる商品が見つかりました。キャンセルを希望される商品をお知らせください。 商品 1: Google ウォーターボトル、商品 2: Google T シャツ。 選択することをご希望の商品の商品番号を口頭でお伝えいただくか、入力してください。他の商品を表示するには、「次へ」とおっしゃってください。 |
|
次へ | |
記録には他の商品が見つかりませんでした。共有リストから選択してください。 商品 1: Google ウォーターボトル、商品 2: Google T シャツ。 選択する商品の商品番号を口頭でお伝えいただくか、入力してください。他の商品を表示するには、「次へ」とおっしゃってください。 |
|
1 | |
確認ですが、Google ウォーター ボトルのキャンセルをご希望ですね。よろしいですか? | |
はい | |
選択された商品の購入可能な数量は 5 であることが確認できます。キャンセルを希望される商品の数量をご指定ください。 | |
4 | |
キャンセルの理由をご指定ください。たとえば、考えが変わった、不要になった、別の商品を購入したい、配達が遅れた、誤って購入した、支払い方法を変更したい、などとお伝えください。 | |
別の商品を購入したい | |
ご回答いただき、ありがとうございます。 別の商品のキャンセルをご希望ですか? |
|
いいえ | |
ウォレットを使用して購入した場合、ウォレットまたはストア クレジット アカウントに払い戻しが行われます。払い戻しが口座に反映されるまでに 3~5 営業日を要します。払い戻し額は、配送料と取り扱い手数料を除外して算出されます。 |
注文全体をキャンセルする
エンドユーザーは認証済みです。エージェントは、ユーザーが特定の注文のキャンセルをご希望であることを確認し、キャンセルの理由を収集します。エージェントは元のお支払い方法を確認し、キャンセルの詳細をユーザーに確認します。
ユーザー入力 | エージェントの応答 |
---|---|
2023 年 11 月 10 日午後 6 時に注文された 1 枚のシャツを含む、末尾が 12345 の最新の注文番号についてお問い合わせですか? | |
いいえ | |
別の注文のキャンセルをご希望ですか? | |
はい | |
追跡することをご希望の注文 ID の末尾 5 桁をお知らせください。 | |
12346 | |
お伺いした注文 ID の末尾 5 桁は 12345 です。よろしいですか? | |
はい | |
ありがとうございます。注文 ID の収集が完了しました。 注文全体をキャンセルすることをご希望ですか? |
|
はい | |
キャンセルの理由をご指定ください。たとえば、考えが変わった、不要になった、別の商品を購入したい、配達が遅れた、誤って購入した、支払い方法を変更したい、などとお伝えください。 | |
不要になった | |
ご回答いただき、ありがとうございます。 キャンセル リクエストが生成されました。 |
命名規則
この事前構築済みコンポーネントでは、次の命名規則が使用されています。
機能 | 形式 | 例 |
---|---|---|
フロー | [コンポーネント名] | 注文をキャンセル |
エンティティ タイプ | prebuilt_components_[component_name]_[entity_type] | prebuilt_components_product_cancel_reason |
Webhook | prebuilt_components_[component_name]:[webhook_action] | prebuilt_components_cancel_order:post_cancellation_details |
入力パラメータ
入力パラメータは、コンポーネントの特定の動作を構成するために使用されるパラメータです。このパラメータは、コンポーネントの動作を決定するためにフロー内の 1 つ以上の条件によって使用されます。フロースコープのパラメータは、コンポーネントのスタートページで設定する必要があります。セッション スコープのパラメータは、呼び出しフローまたはこのコンポーネントのスタートページで設定できます。
この事前構築済みコンポーネントは、次の入力パラメータを受け入れます。
パラメータ名 | 説明 | 入力形式 |
---|---|---|
$session.params.phone_number | (省略可)ユーザーの識別に使用される、国コードなしのユーザーの電話番号。 | 文字列 |
$session.params.all_recent_order_id | (省略可)このパラメータは、認証済みユーザーに関連付けられている注文 ID を、注文の日付の降順で並べ替えてリストします。配列の最初の要素は最新の注文を表します。ユーザーの注文がない場合、このパラメータの値は null です。 |
リスト(文字列) |
$session.params.email | (省略可)アカウントに登録されているメールアドレス。 | 文字列 |
$session.params.user_first_name | (省略可)ユーザーの名。挨拶とアカウントの所有権の確認に使用します。 | 文字列 |
この事前構築済みコンポーネントでは、次のオプションのパラメータを使用して、再試行を含むコンポーネントの動作を構成できます。
パラメータ名 | 説明 | 形式 |
---|---|---|
$flow.max_retry_another_account_counter | 別のアカウントで続行するかどうかを選択する際に許可される再試行回数を指定します。デフォルト値は 2 です。 |
integer |
$flow.max_retry_order_number | 注文番号の末尾 5 桁を入力するときに許可される再試行回数を指定します。デフォルト値は 2 です。 |
integer |
$flow.max_retry_another_order | 注文 ID が見つからない場合や、注文がキャンセル可能でない場合に、別の注文を選択する際に許可される再試行回数を指定します。デフォルト値は 2 です。 |
integer |
$flow.max_retry_select_order_number | 複数の注文が同じ最後の 5 桁を共有している場合に、完全な注文番号を入力するときに許可される再試行回数を指定します。デフォルト値は 2 です。 |
integer |
$flow.max_product_display_counter | 1 回のターンで表示する商品の最大数を指定します。デフォルト値は 2 です。 |
integer |
$flow.max_product_display | 会話全体にわたって表示する商品の最大数を指定します。デフォルト値は 9 です。 |
integer |
$flow.max_retry_product_number_counter | キャンセルする商品を選択する際に許可される再試行の最大回数を指定します。デフォルト値は 2 です。 |
integer |
$flow.max_product_cancel_confirm_counter | 選択した商品の確認時に許可される再試行の最大回数を指定します。デフォルト値は 2 です。 |
integer |
$flow.max_retry_select_quantity | キャンセルする商品の数量を選択するときに許可される再試行の最大回数を指定します。デフォルト値は 2 です。 |
integer |
$flow.order_product_cancel_reason_others | ユーザーが「その他」のキャンセル理由を選択したことを示す prebuilt_components_product_cancel_reason エンティティの値を指定します。デフォルト値は "others" です。 |
文字列 |
$flow.max_retry_cancel_reason | キャンセルの理由を確認するときに許可される再試行回数を指定します。デフォルト値は 2 です。 |
integer |
$flow.order_payment_mode_COD | 代金引換(COD)のお支払い方法を示す get_order_details Webhook によって返される order_payment_mode フィールドの値を指定します。デフォルト値は "COD" です。 |
文字列 |
$flow.order_payment_mode_store_credit | ストア クレジットのお支払い方法を示す get_order_details Webhook によって返される order_payment_mode フィールドの値を指定します。デフォルト値は "store_credit" です。 |
文字列 |
このコンポーネントの入力パラメータを構成するには、開いて手順を確認します。
- Dialogflow CX Console を開きます。
- ご自身の Google Cloud プロジェクトを選択します。
- エージェントを選択します。
- [Build] タブを選択します。
- [Flows] セクションでインポートされたコンポーネントをクリックします。
- [Pages] セクションで [Start Page] をクリックします。
- スタートページで true ルートをクリックします。
- [Route] ウィンドウで、必要に応じて [Parameter Presets] 値を編集します。
- [Save] をクリックします。
出力パラメータ
出力パラメータは、コンポーネントを終了した後もアクティブな状態を継続するセッション パラメータです。これらのパラメータには、コンポーネントによって収集される重要な情報が含まれます。この事前構築されたコンポーネントは、次の出力パラメータの値を提供します。
パラメータ名 | 説明 | 出力形式 |
---|---|---|
phone_number | ユーザーの識別に使用されるユーザーの電話番号(国コードなし)。 | 文字列 |
all_recent_order_id | このパラメータは、認証済みユーザーに関連付けられている注文 ID を、注文の日付の降順で並べ替えてリストします。配列の最初の要素は最新の注文を表します。ユーザーの注文がない場合、このパラメータの値は null です。 |
リスト(文字列) |
メール | アカウントに登録されているメールアドレス。 | 文字列 |
user_first_name | ユーザーの名。挨拶とアカウントの所有権の確認に使用します。 | 文字列 |
transfer_reason | このパラメータは、フローが失敗した場合に終了した理由を示します。戻り値は次のいずれかです。agent : エンドユーザーが会話中のいずれかの時点で人間のエージェントをリクエストした。denial_of_information : エンドユーザーが、コンポーネントによってリクエストされた情報を共有することを拒否した。max_no_input : 会話が回答なしイベントの再試行の最大回数に達した。回答なし組み込みイベントをご覧ください。max_no_match : 会話が一致なしイベントの再試行の最大回数に達しました。一致なし組み込みイベントをご覧ください。webhook_error : Webhook エラーが発生しました。webhook.error の組み込みイベントをご覧ください。webhook_not_found : Webhook URL にアクセスできませんでした。webhook.error.not-found の組み込みイベントをご覧ください。 |
文字列 |
生成ツール
このコンポーネントは、生成ツールを使用して会話の特定の部分を有効にします。
要約
Summarization
生成ツールは、コンポーネントによって処理される会話を記述する通話後の要約を生成します。
基本設定
この事前構築済みコンポーネントを設定するには:
- 事前構築済みコンポーネントをインポートします。
- 外部サービスを記述する構成を使用して、付属の柔軟な Webhook を構成します。Webhook の設定をご覧ください。
Webhook の設定
このコンポーネントを使用するには、付属の Flexible Webhook を構成して外部サービスから必要な情報を取得する必要があります。
認証
認証に必要な外部サービスをまだ構成していない場合は、このコンポーネントのユーザーの認証を有効にするようにそれらを構成する必要があります。詳細な手順については、Retail 認証 Webhook の設定をご覧ください。
注文の詳細情報を取得する
prebuilt_components_cancel_order:get_order_details
Webhook は、指定された注文の詳細情報を取得するためにコンポーネントによって使用されます。
API リクエスト パラメータ
以下のパラメータは、コンポーネントによって API リクエストへの入力として提供されます。
パラメータ名 | 説明 | 入力形式 |
---|---|---|
$flow.order_id | 詳細情報を取得する注文 ID。 | 文字列 |
API レスポンス パラメータ
以下のパラメータは、コンポーネントで使用される API レスポンスから取得されます。
パラメータ名 | 説明 | 出力形式 |
---|---|---|
order_date | 注文が行われた日(YYYY-MM-DD 形式)。 |
文字列 |
order_time | 注文が行われた時刻(HH:MM 形式)。 |
文字列 |
order_product_count | 1 つの注文に含まれる一意の商品の数。 | integer |
order_payment_mode | 注文時に使用された支払いモードを示します。 | 文字列 |
cancelable_product_id | 注文に含まれるキャンセル可能な商品の商品 ID のリスト。 | リスト(文字列) |
cancelable_product_name | 注文に含まれるキャンセル可能な商品の商品名のリスト。 | リスト(文字列) |
cancelable_product_brand_name | 注文に含まれるキャンセル可能な商品のブランド名のリスト。 | リスト(文字列) |
cancelable_product_quantity | 注文に含まれるキャンセル可能な商品の数量のリスト。 | リスト(文字列) |
このコンポーネントの [注文の詳細情報を取得する] Webhook を構成するには、開いて手順を確認してください。
- Dialogflow CX Console を開きます。
- ご自身の Google Cloud プロジェクトを選択します。
- エージェントを選択します。
- [Manage] タブを選択します。
- [Webhooks] をクリックします。
- prebuilt_components_cancel_order:get_order_details Webhook を選択します。
- Dialogflow CX Webhook URL フィールドの URL を、統合するサービスのエンドポイントに置き換えます。プルダウンで適切なメソッドを選択します。
- Webhook に適したリクエスト形式になるように、リクエスト本文を確認して更新します。
- レスポンス構成を確認して更新し、Webhook のレスポンスから特定のフィールドを抽出します。パラメータ名は、コンポーネントが返されたフィールド値にアクセスするために必要であるため、変更しないでください。
- 必要に応じて [Authentication] の設定を確認し、更新します。
- [Save] をクリックします。
重複した注文の詳細情報を取得する
prebuilt_components_retail_services:get_duplicate_order_details
Webhook は、複数の注文番号の末尾 5 桁が同じ場合に注文を区別できるよう、詳細情報を取得するためにコンポーネントによって使用されます。
API リクエスト パラメータ
以下のパラメータは、コンポーネントによって API リクエストへの入力として提供されます。
パラメータ名 | 説明 | 入力形式 |
---|---|---|
$flow.duplicate_order_id | ユーザーの 1 つ以上の注文で共有されている注文番号の末尾 5 桁を含むリスト。 | リスト(文字列) |
API レスポンス パラメータ
以下のパラメータは、コンポーネントで使用される API レスポンスから取得されます。
パラメータ名 | 説明 | 出力形式 |
---|---|---|
all_order_date | 指定された末尾 5 桁を持つ重複した注文の注文日のリスト(YYYY-MM-DD 形式)。この配列内の各要素は、all_order_time 配列内の同じ要素に対応します。 |
リスト(文字列) |
all_order_time | 指定された末尾 5 桁を持つ重複した注文の注文時刻のリスト(HH:MM 形式)。この配列内の各要素は、all_order_date 配列内の同じ要素に対応しています。 |
リスト(文字列) |
このコンポーネントの [重複した注文の詳細情報を取得する] Webhook を構成するには、開いて手順を確認してください。
- Dialogflow CX Console を開きます。
- ご自身の Google Cloud プロジェクトを選択します。
- エージェントを選択します。
- [Manage] タブを選択します。
- [Webhooks] をクリックします。
- prebuilt_components_retail_services:get_duplicate_order_details Webhook を選択します。
- Dialogflow CX Webhook URL フィールドの URL を、統合するサービスのエンドポイントに置き換えます。プルダウンで適切なメソッドを選択します。
- Webhook に適したリクエスト形式になるように、リクエスト本文を確認して更新します。
- レスポンス構成を確認して更新し、Webhook のレスポンスから特定のフィールドを抽出します。パラメータ名は、コンポーネントが返されたフィールド値にアクセスするために必要であるため、変更しないでください。
- 必要に応じて [Authentication] の設定を確認し、更新します。
- [Save] をクリックします。
キャンセル後の詳細
prebuilt_components_cancel_order:post_cancellation_details
Webhook は、キャンセル リクエストを送信するためにコンポーネントによって使用されます。
API リクエスト パラメータ
以下のパラメータは、コンポーネントによって API リクエストへの入力として提供されます。
パラメータ名 | 説明 | 入力形式 |
---|---|---|
$session.params.phone_number | ユーザーの識別に使用されるユーザーの電話番号(国コードなし)。 | 文字列 |
$flow.order_id | チケットを送信する注文 ID。 | 文字列 |
$flow.cancel_product_id_list | ユーザーがキャンセルを希望する商品 ID のリスト。 | リスト(文字列) |
$flow.cancel_product_quantity_list | $flow.cancel_product_id_list の各要素に対応する、ユーザーがキャンセルを希望する商品数量のリスト。 |
リスト(文字列) |
$flow.cancel_reason_list | $flow.cancel_product_id_list の各要素に対応する、キャンセルされた各商品のキャンセル理由のリスト。 |
リスト(文字列) |
$flow.order_refund_mode | 払い戻しの支払いモード。有効な値は prebuilt_components_cancel_mode_of_refund エンティティによって定義されます。 |
文字列 |
API レスポンス パラメータ
以下のパラメータは、コンポーネントで使用される API レスポンスから取得されます。
パラメータ名 | 説明 | 出力形式 |
---|---|---|
order_cancellation_ticket_id | 送信済みのキャンセルのチケット ID。 | 文字列 |
このコンポーネントの [キャンセル後の詳細] Webhook を構成するには、開いて手順を確認してください。
- Dialogflow CX Console を開きます。
- ご自身の Google Cloud プロジェクトを選択します。
- エージェントを選択します。
- [Manage] タブを選択します。
- [Webhooks] をクリックします。
- prebuilt_components_cancel_order:post_cancellation_details Webhook を選択します。
- Dialogflow CX Webhook URL フィールドの URL を、統合するサービスのエンドポイントに置き換えます。プルダウンで適切なメソッドを選択します。
- Webhook に適したリクエスト形式になるように、リクエスト本文を確認して更新します。
- レスポンス構成を確認して更新し、Webhook のレスポンスから特定のフィールドを抽出します。パラメータ名は、コンポーネントが返されたフィールド値にアクセスするために必要であるため、変更しないでください。
- 必要に応じて [Authentication] の設定を確認し、更新します。
- [Save] をクリックします。
完了
これで、エージェントとその Webhook が設定され、テストの準備が整いました。