カードのロックに関する事前構築済みコンポーネント

カードのロックに関する事前構築済みコンポーネントがユーザーを認証し、そのユーザーに登録されたカードを取得して、ユーザーがカードを一時的にロックするか、カードを完全にロックするか、再有効化を行うことができるようにします。ロックされたカードを確認した後、コンポーネントでは、ユーザーに新しいカードのリクエストを許可します。このコンポーネントは、Authentication 事前構築済みコンポーネントのカスタマイズ版を使用して、カード所有者を認証します。

制限事項

一般的な事前構築済みコンポーネントの制限に加えて、この事前構築済みコンポーネントには次の制限があります。

  • このコンポーネントはデータを暗号化しません。

サンプル ダイアログ

次のサンプル ダイアログは、この事前構築されたコンポーネントによって処理される一般的なシナリオを示しています。サンプル ダイアログは、コンポーネントがテレフォニー経由で呼び出されたときの動作を示しています。これにより、Default Welcome Intent と会話開始時の最初のエージェント レスポンスがトリガーされます。

複数のカードを持つ未認証ユーザー

エージェントは、ユーザーが以前に認証されていないことを確認して、ユーザーが登録済みのカード所有者であることを確認するための情報を収集します。ユーザーが認証されると、エージェントはユーザーに登録されているカードに関する情報を取得します。選択されたカードを一時的にロックしたいことをユーザーが確認すると、エージェントがカードのロック リクエストを生成します。

ユーザー入力 エージェントの応答
エージェントが事前構築済みの Authentication コンポーネントを使用してユーザーを認証します。
ありがとうございます。認証が完了しました。
カード情報を取得する間、お待ちください。

その番号に登録されているカードが複数あります。末尾が 5555 の Visa、末尾が 6666 の Visa、末尾が 4444 の MasterCard、末尾が 4449 の Mastercard です。

ロックするか再有効化するカードの末尾 4 桁をお知らせください。
4444
カード番号の末尾 4 桁は 4444 で間違いありませんか?
はい
カードを一時的にロック、または完全にロックしますか?
一時的にロックする
カードをロックする理由をお聞かせください。破損、盗難、紛失などの選択肢があります。
破損した
ご不便をおかけして申し訳ございません。セキュリティ上の理由から、本人確認が必要なため、コードを送信します。コードを電話とメールのどちらで受け取ることをご希望ですか?
スマートフォンに送信
続行する前に、登録携帯電話番号にコードが送信されます。リクエストを検証するため、コードをご確認ください。
123456
末尾が 4444 のカードが一時的にロックされます。ロックすると、そのカードでオンラインまたはPOS マシンでの取引ができなくなります。この操作を確定しますか?
はい
カードは正常にロックされました。お客様のリクエスト番号は 9711485 です。登録携帯電話番号は正常に共有されています。

1 つのカードを持つ認証済みユーザー

エージェントは、ユーザーが以前に認証されたことを識別し、ユーザーに登録されているカードに関する情報を取得します。ユーザーがカードを完全にロックすることを選択すると、エージェントは永続的なカードのロック リクエストを生成します。エージェントは、完全にロックされたカードに対して新しいカードを再発行するかどうかをユーザーに尋ね、そのカードの再発行リクエストを作成します。

ユーザー入力 エージェントの応答
カード情報を取得する間、しばらくお待ちください。

末尾が 4444 の MasterCard が見つかりました。カードを一時的にロック、または完全にロックしますか?
完全にロック
カードをロックする理由をお聞かせください。破損、盗難、紛失などの選択肢があります。
破損した
ご不便をおかけして申し訳ございません。ご安心ください。カードは完全にロックされます。カードの末尾は 4444 ですか?
はい
続行する前に、登録携帯電話番号にコードが送信されます。リクエストを検証するため、コードをご確認ください。
123456
末尾が 4444 のカードが一時的にロックされます。ロックすると、そのカードでオンラインまたはPOS マシンでの取引ができなくなります。この操作を確定しますか?
はい
カードは正常にロックされました。お客様のリクエスト番号は 6108410 です。登録携帯電話番号は正常に共有されています。

新しいカードを再発行しますか?
はい
カードは登録住所に配送されます。配送先住所の郵便番号が 12345 であることを確認していただけますか?
その通りです
新しいカードの再発行をリクエストしている間、しばらくお待ちください。

新しいカードの再発行のリクエストは正常に完了しました。リクエスト番号は 3808109 で、登録携帯電話番号に正常に共有されました。

カードは 3 営業日以内に登録住所に配送されます。カードを使用するには、カードで共有された手順に沿って操作してください。

カードの再有効化

エージェントは、ユーザーに追加の認証が必要であることを識別し、ユーザーの本人確認のためにワンタイム パスワードを送信します。ユーザーがカードを再有効化するようリクエストすると、エージェントはそれを人間のエージェントに転送して続行します。

ユーザー入力 エージェントの応答
セキュリティ上の理由から、本人確認が必要なため、コードを送信します。コードをスマートフォンで受け取りますか?
はい
末尾が 5041 の登録電話番号にコードを送信しました。この処理には数秒かかることがあります。コードを確認してください。
123456
確認が完了しました。

カード情報の取得が完了するまでお待ちください。

電話番号に登録されているカードが複数見つかりました。末尾が 1456 の Visa、末尾が 1457 の MasterCard、末尾が 1345 の American Express、末尾が 3456 の Visa です。

ロックするか再有効化するカードの末尾 4 桁をお知らせください。
1456
カード番号の末尾 4 桁は 1456 でお間違いないでしょうか?
はい
リクエストしたカードはすでに一時的にロックされています。カードを再び有効にするか、完全にブロックしますか?
再有効化
より良いサポートをご提供するため、通話を転送しています。しばらくお待ちください。

命名規則

この事前構築済みコンポーネントでは、次の命名規則が使用されています。

機能 形式
フロー [コンポーネント名] カードをロック
エンティティ タイプ prebuilt_components_[component_name]_[entity_type] prebuilt_components_lock_card_locked_reason
Webhook prebuilt_components_[component_name]:[webhook_action] prebuilt_components_lock_card:lock_card_ticket_number

入力パラメータ

入力パラメータは、コンポーネントの特定の動作を構成するために使用されるパラメータです。このパラメータは、コンポーネントの動作を決定するためにフロー内の 1 つ以上の条件によって使用されます。フロースコープのパラメータは、後述するように、コンポーネントのスタートページで設定する必要があります。セッション スコープのパラメータは、呼び出しフローまたはこのコンポーネントのスタートページで設定できます。

この事前構築済みコンポーネントは、次の入力パラメータを受け入れます。

パラメータ名 説明 入力形式
$session.params.auth_level 発信者の認証レベルを示します。 integer
$session.params.auth_level_req ユーザーが取引履歴にアクセスする前に必要な認証レベルを示します。この値は、check auth level ページのページ エントリのフルフィルメントパラメータ プリセットで構成されます。デフォルト値は 1 です。 整数
$session.params.account_auth_enabled 認証タイプで説明されているように、ユーザーをアカウント所有者として認証する必要があるかどうかを示します。この値は、check auth level ページのページ エントリのフルフィルメントパラメータ プリセットで構成されます。デフォルト値は false です。 ブール値
$session.params.card_auth_enabled 認証タイプで説明されているように、ユーザーをカード所有者として認証する必要があるかどうかを示します。この値は、check auth level ページのページ エントリのフルフィルメントパラメータ プリセットで構成されます。デフォルト値は true です。 ブール値
$session.params.phone_number (省略可)認証に使用するお客様の登録電話番号。 文字列
$session.params.card_count (省略可)認証されたユーザーに関連付けられているクレジット カードの数。 integer
$flow.card_status_active [カードを検証] Webhook から返されるパラメータの値を指定して、選択したカードが現在アクティブであることを示します。デフォルトでは、値は "active" です。 文字列
$flow.card_status_lock_temp [カードを検証] Webhook から返されるパラメータの値を指定して、選択したカードが一時的にロックされていることを示します。デフォルトでは、値は "inactive" です。 文字列
$flow.card_status_lock_permanent [カードを検証] Webhook から返されるパラメータの値を指定して、選択したカードが完全にロックされていることを示します。デフォルトでは、値は "blocked" です。 文字列
$flow.card_status_reactivate [カードを検証] Webhook から返されるパラメータの値を指定して、選択したカードが再有効化されることを示します。デフォルトでは、値は "reactivate" です。 文字列
$flow.max_retry_card_number クレジット カードの末尾 4 桁を収集する際に許可される再試行回数を指定します。デフォルト値は 3 です。 integer
$flow.max_otp_retry_count ユーザーからワンタイム パスワード(OTP)を収集する際に許可する再試行回数を指定します。デフォルト値は 3 です。 integer

このコンポーネントの入力パラメータを構成するには、開いて手順を確認します。

  1. Dialogflow CX Console を開きます。
  2. ご自身の Google Cloud プロジェクトを選択します。
  3. エージェントを選択します。
  4. [Build] タブを選択します。
  5. [Flows] セクションでインポートされたコンポーネントをクリックします。
  6. [Pages] セクションで [Start Page] をクリックします。
  7. スタートページで true ルートをクリックします。
  8. [Route] ウィンドウで、必要に応じて [Parameter Presets] 値を編集します。
  9. [Save] をクリックします。

出力パラメータ

出力パラメータは、コンポーネントを終了した後もアクティブな状態を継続するセッション パラメータです。これらのパラメータには、コンポーネントによって収集される重要な情報が含まれます。この事前構築されたコンポーネントは、次の出力パラメータの値を提供します。

パラメータ名 説明 出力形式
auth_level 発信者の認証レベルを示します。 integer
phone_number ユーザーの識別に使用されるユーザーの電話番号(国コードなし)。 文字列
card_count 登録されている電話番号に関連付けられているカードの数。 integer
last_four_digit_of_card_number ユーザーが 1 枚のカードを持っている場合は、カード番号の末尾 4 桁が返されます。ユーザーが複数のカードを持っている場合、このパラメータの値は、ユーザーが新しいカードをロックまたは再発行するために選択したカードの末尾 4 桁です。 文字列
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 の組み込みイベントをご覧ください。
文字列

基本設定

この事前構築済みコンポーネントを設定するには:

  1. 事前構築済みコンポーネントをインポートします。
  2. 外部サービスを記述する構成を使用して、付属の柔軟な Webhook を構成します。下記の Webhook の設定をご覧ください。

Webhook の設定

このコンポーネントを使用するには、付属の Flexible Webhook を構成して外部サービスから必要な情報を取得する必要があります。

認証

認証に必要な外部サービスをまだ構成していない場合は、このコンポーネントのユーザーの認証を有効にするようにそれらを構成する必要があります。詳細な手順については、Authentication Webhook の設定をご覧ください。

カード情報を取得

prebuilt_components_account_services:get_card_details Webhook は、コンポーネントによって、ユーザーに登録されたカードに関する情報を取得するために使用されます。

API リクエスト パラメータ

以下のパラメータは、コンポーネントによって API リクエストへの入力として提供されます。

パラメータ名 説明 入力形式
$session.params.phone_number ユーザーの識別に使用されるユーザーの電話番号(国コードなし)。 文字列

API レスポンス パラメータ

以下のパラメータは、コンポーネントで使用される API レスポンスから取得されます。

パラメータ名 説明 出力形式
last_four_digit_of_all_cards ユーザーに登録されている各カードの末尾 4 桁を含むリスト(例: ["0000", "1111", "2222"])。このリスト内の各要素は、card_vendor_all で同じインデックスを持つ要素と同じカードを表します。 リスト(文字列)
card_vendor_all ユーザーに登録されている各カードのクレジット カード ベンダーを含むリスト(例: ["Visa", "Mastercard", "Discover"])。このリスト内の各要素は、last_four_digit_of_all_cards で同じインデックスを持つ要素と同じカードを表します。 リスト(文字列)
card_count 認証されたユーザーに関連付けられているカードの数。 integer

このコンポーネントの [カードの詳細を取得] Webhook を構成するには、開いて手順を確認してください。

  1. Dialogflow CX Console を開きます。
  2. ご自身の Google Cloud プロジェクトを選択します。
  3. エージェントを選択します。
  4. [Manage] タブを選択します。
  5. [Webhooks] をクリックします。
  6. prebuilt_components_account_services:get_card_details Webhook を選択します。
  7. 会話エージェント(Dialogflow CX)Webhook URL フィールドの URL を、統合するサービスのエンドポイントに置き換えます。プルダウンで適切なメソッドを選択します。
  8. Webhook に適したリクエスト形式になるように、リクエスト本文を確認して更新します。
  9. レスポンス構成を確認して更新し、Webhook のレスポンスから特定のフィールドを抽出します。パラメータ名は、コンポーネントが返されたフィールド値にアクセスするために必要であるため、変更しないでください。
  10. 必要に応じて [Authentication] の設定を確認し、更新します。
  11. [保存] をクリックします。

カードを検証

prebuilt_components_lock_card:validate_card Webhook は、コンポーネントによって、ユーザーのアカウントに登録されている特定のカードに関する情報を取得するために使用されます。

API リクエスト パラメータ

以下のパラメータは、コンポーネントによって API リクエストへの入力として提供されます。

パラメータ名 説明 入力形式
$session.params.phone_number ユーザーの識別に使用されるユーザーの電話番号(国コードなし)。 文字列
$session.params.last_four_digit_of_card_number ユーザーがロックをリクエストしたカード番号の末尾 4 桁。 文字列

API レスポンス パラメータ

以下のパラメータは、コンポーネントで使用される API レスポンスから取得されます。

パラメータ名 説明 出力形式
zip_code お客様のアカウントに登録されている郵便番号。 文字列
card_vendor 選択したカードのクレジット カード事業者。 文字列
card_status カードの現在のステータスを示します。デフォルトでは、有効な値はアクティブ、一時的にブロックされているか、または完全にブロックされています。これらのステータスは、パラメータ $flow.card_status_active$flow.card_status_lock_temp$flow.card_status_lock_permanent で指定されます。入力パラメータをご覧ください。 文字列

このコンポーネントの [カードを検証] Webhook を構成するには、展開して手順を確認してください。

  1. Dialogflow CX Console を開きます。
  2. ご自身の Google Cloud プロジェクトを選択します。
  3. エージェントを選択します。
  4. [Manage] タブを選択します。
  5. [Webhooks] をクリックします。
  6. prebuilt_components_lock_card:validate_card Webhook を選択します。
  7. 会話エージェント(Dialogflow CX)Webhook URL フィールドの URL を、統合するサービスのエンドポイントに置き換えます。プルダウンで適切なメソッドを選択します。
  8. Webhook に適したリクエスト形式になるように、リクエスト本文を確認して更新します。
  9. レスポンス構成を確認して更新し、Webhook のレスポンスから特定のフィールドを抽出します。パラメータ名は、コンポーネントが返されたフィールド値にアクセスするために必要であるため、変更しないでください。
  10. 必要に応じて [Authentication] の設定を確認し、更新します。
  11. [保存] をクリックします。

カードをロック

prebuilt_components_lock_card:lock_card_ticket_number Webhook は、選択したカードをロックするリクエストを作成するためにコンポーネントによって使用されます。

API リクエスト パラメータ

以下のパラメータは、コンポーネントによって API リクエストへの入力として提供されます。

パラメータ名 説明 入力形式
$session.params.phone_number ユーザーの識別に使用されるユーザーの電話番号(国コードなし)。 文字列
$session.params.last_four_digit_of_card_number ユーザーがロックをリクエストしたカード番号の末尾 4 桁。 文字列
$flow.lock_type ユーザーのカードに適用されるロックのタイプを示します。有効な値は、prebuilt_components_lock_card_lock_type_active カスタム エンティティによって定義されます。デフォルトでは、"blocked"(永続ロック)と "inactive(一時ロック)がサポートされています。 文字列
$flow.lock_reason ユーザーがカードのロック リクエストを行った理由を示します。有効な値は、prebuilt_components_lock_card_locked_reason カスタム エンティティによって定義されます。デフォルトでは、"damaged""stolen""lost""others" がサポートされています。 文字列

API レスポンス パラメータ

以下のパラメータは、コンポーネントで使用される API レスポンスから取得されます。

パラメータ名 説明 出力形式
ticket_number 作成したカードのロック リクエストのチケット番号。 integer

このコンポーネントの [カードをロック] Webhook を構成するには、展開して手順を確認してください。

  1. Dialogflow CX Console を開きます。
  2. ご自身の Google Cloud プロジェクトを選択します。
  3. エージェントを選択します。
  4. [Manage] タブを選択します。
  5. [Webhooks] をクリックします。
  6. prebuilt_components_lock_card:lock_card_ticket_number Webhook を選択します。
  7. 会話エージェント(Dialogflow CX)Webhook URL フィールドの URL を、統合するサービスのエンドポイントに置き換えます。プルダウンで適切なメソッドを選択します。
  8. Webhook に適したリクエスト形式になるように、リクエスト本文を確認して更新します。
  9. レスポンス構成を確認して更新し、Webhook のレスポンスから特定のフィールドを抽出します。パラメータ名は、コンポーネントが返されたフィールド値にアクセスするために必要であるため、変更しないでください。
  10. 必要に応じて [Authentication] の設定を確認し、更新します。
  11. [保存] をクリックします。

カードを再発行する

prebuilt_components_lock_card:reissue_card_number Webhook は、新しいカードまたはアップグレードされたカードの再発行リクエストを作成するために、コンポーネントによって使用されます。

API リクエスト パラメータ

以下のパラメータは、コンポーネントによって API リクエストへの入力として提供されます。

パラメータ名 説明 入力形式
$session.params.phone_number ユーザーの識別に使用されるユーザーの電話番号(国コードなし)。 文字列
$session.params.last_four_digit_of_card_number ユーザーがロックをリクエストしたカード番号の末尾 4 桁。 文字列
zip_code お客様のアカウントに登録されている郵便番号。 文字列

API レスポンス パラメータ

以下のパラメータは、コンポーネントで使用される API レスポンスから取得されます。

パラメータ名 説明 出力形式
acknowledgement_number 作成したカードの再発行リクエストのチケット番号。 integer

このコンポーネントの [カードを再発行] Webhook を構成するには、展開して手順を確認してください。

  1. Dialogflow CX Console を開きます。
  2. ご自身の Google Cloud プロジェクトを選択します。
  3. エージェントを選択します。
  4. [Manage] タブを選択します。
  5. [Webhooks] をクリックします。
  6. prebuilt_components_lock_card:reissue_card_number Webhook を選択します。
  7. 会話エージェント(Dialogflow CX)Webhook URL フィールドの URL を、統合するサービスのエンドポイントに置き換えます。プルダウンで適切なメソッドを選択します。
  8. Webhook に適したリクエスト形式になるように、リクエスト本文を確認して更新します。
  9. レスポンス構成を確認して更新し、Webhook のレスポンスから特定のフィールドを抽出します。パラメータ名は、コンポーネントが返されたフィールド値にアクセスするために必要であるため、変更しないでください。
  10. 必要に応じて [Authentication] の設定を確認し、更新します。
  11. [Save] をクリックします。

完了

これで、エージェントとその Webhook が設定され、テストの準備が整いました。