

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Amazon Connect のフローブロック: 顧客の入力の取得
<a name="get-customer-input"></a>

このトピックでは、顧客情報のキャプチャ、顧客の応答用のインタラクティブな電話メニューの作成、フロー内の特定のパスへの顧客のルーティングなどのタスクのフローブロックを定義します。

## 説明
<a name="get-customer-input-description"></a>

お客様からのインタラクティブで動的な入力を取得します。DTMF 入力 (電話からの入力) と Amazon Lex ボットによる割り込み可能なプロンプトに対応しています。

このブロックでは、個々の数字 (0～9) と特殊文字 \$1 と \$1 のみを使用できます。複数桁の入力はサポートされていません。顧客のクレジットカード番号を収集するなど、複数桁を入力する場合は、[[顧客の入力を保存する](store-customer-input.md)] ブロックを使用します。

## このブロックのユースケース
<a name="scenarios-get-customer-input"></a>

このブロックは、以下のシナリオでの使用を想定して設計されています。
+ お客様がタッチトーンキーパッドを使用して応答できる、インタラクティブな電話メニューを作成する。たとえば、「セールスの場合は 1 を押し、サポートの場合は 2 を押してください」
+ Amazon Lex ボットでこのブロックを使用して、音声認識のプロンプトを有効にする。お客様は話しかけることでプロンプトを中断できます。お客様にとって、対話がより自然で、応答性の高いものになります。
+ お客様からの入力内容に基づいて、フロー内の特定のパスにお客様をルーティングする。これにより、お客様をご要望に基づいて適切な部署やサービスに案内できます。
+ お客様が満足度や懸念を表明できるような選択肢を提示して、お客様からのフィードバックを収集する。
+ アンケートを実施してお客様の意見を聞き、貴重なフィードバックやインサイトを収集する。
+ お客様の問題に関する具体的な質問をして、お客様にトラブルシューティングプロセスを案内する。回答内容に基づいて、お客様に合わせたソリューションを提案できます。

## コンタクトのタイプ
<a name="get-customer-input-channels"></a>

次の表は、このブロックでのコンタクトのルーティング方法をチャネルごとに示しています。


| [チャネル] | サポート対象? | 
| --- | --- | 
| 音声 | はい | 
| Chat | はい (ただし、Amazon Lex が使用されている場合。それ以外の場合は **[エラー]** ブランチに分岐)  | 
| タスク | いいえ | 
| E メール | いいえ | 

## フロータイプ
<a name="get-customer-input-types"></a>

このブロックは、次の[フロータイプ](create-contact-flow.md#contact-flow-types)で使用できます。


| フロータイプ | サポート対象? | 
| --- | --- | 
| 着信フロー | はい | 
| 顧客キューフロー | はい | 
| 顧客保留フロー | いいえ | 
| 顧客ウィスパーフロー | いいえ | 
| アウトバウンドウィスパーフロー | はい | 
| エージェント保留フロー | いいえ | 
| エージェントウィスパーフロー | いいえ | 
| エージェントへの転送フロー | はい | 
| キューへの転送フロー | はい | 

## このブロックの設定方法
<a name="get-customer-input-properties"></a>

Get customer input ブロックを設定するには、 Amazon Connect 管理ウェブサイトを使用するか、Amazon Connect Flow 言語の [GetParticipantInput](https://docs.aws.amazon.com/connect/latest/APIReference/participant-actions-getparticipantinput.html) アクション、または [ConnectParticipantWithLexBot](https://docs.aws.amazon.com/connect/latest/APIReference/participant-actions-connectparticipantwithlexbot.html) および [Compare](https://docs.aws.amazon.com/connect/latest/APIReference/flow-control-actions-compare.html) アクションを使用します。

**Topics**
+ [プロンプトの選択](#get-customer-input-prompt)
+ [DTMF 入力用に設定する](#get-customer-input-dtmf)
+ [Amazon Lex 入力用に を設定する](#get-customer-input-lex-tab-properties)
+ [フローブロックのブランチ](#gci-branches)
+ [追加の設定のヒント](#get-customer-input-tips)
+ [このブロックで生成されるデータ](#gci-data)

### プロンプトの選択
<a name="get-customer-input-prompt"></a>

次の画像は、**[お客様の入力を取得する]** ブロックの **[プロパティ]** ページを示しています。「Welcome to Example Corp」という音声プロンプトを再生するように、手動で設定されています。

![\[[顧客の入力を取得する] ブロックのプロパティページ。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/get-customer-input-properties1a.png)


次のオプションの中から、お客様に再生するプロンプトを選択します。
+ **プロンプトライブラリ (オーディオ) から選択**: Amazon Connect に含まれている録音済みプロンプトのいずれかから選択するか、 Amazon Connect 管理ウェブサイトを使用して独自のプロンプトを記録およびアップロードできます。
+ **[S3 バケットから音声ファイルを指定]**: S3 バケットにある音声ファイルを手動で、または動的に指定できます。
+ **[テキスト読み上げまたはチャットテキスト]**: 再生するプロンプトをプレーンテキストまたは SSML で入力できます。これらのテキストベースのプロンプトは、Amazon Polly を使用してお客様に音声プロンプトとして再生されます。SSML 拡張テキストで入力した方が、指定したテキストから Amazon Connect で音声を生成する方法を細かく制御できます。発音、音量、話す速度など、音声のさまざまな要素をカスタマイズして制御できます。

### DTMF 入力用に設定する
<a name="get-customer-input-dtmf"></a>

次の画像は、**[プロパティ]** ページの [DTMF] セクションを示しています。お客様が 1 を押すか 2 を押すかに応じて適切な分岐を判断するために、条件が 2 つ追加されています。お客様が何も入力しなかった場合は 5 秒後にタイムアウトします。

![\[プロパティページの [DTMF] セクション。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/get-customer-input-properties2a.png)


次のオプションを選択します。
+ [**Set timeout (タイムアウトの設定)**]: ユーザーがプロンプトに応答する方法を決定するまでの待機時間を指定します。
  + 最小値: 1 秒
  + 最大値: 180 秒

  この時間が経過すると、タイムアウトエラーが発生します。音声チャネルの場合、一桁目の DTMF が入力されるまでのタイムアウトです。静的に定義する必要があり、0 より大きい有効な整数でなければなりません。
+ **[条件の追加]**: 顧客の入力と比較照合される数値。

#### DTMF を使用する場合の Flow 言語表現
<a name="flow-language-dtmf"></a>

次のコード例は、DTMF の設定が、Flow 言語の [GetParticipantInput](https://docs.aws.amazon.com/connect/latest/APIReference/participant-actions-getparticipantinput.html) アクションではどのように表現されるかを示しています。

```
{
      "Parameters": {
        "StoreInput": "False",
        "InputTimeLimitSeconds": "5",
        "Text": "Welcome to Example Corp. Please press 1 for sales, press 2 for support"
      },
      "Identifier": "Get Customer Input",
      "Type": "GetParticipantInput",
      "Transitions": {
        "NextAction": "d8701db7-3d31-4581-bd4c-cb49c38c6f43",
        "Conditions": [
          {
            "NextAction": "d8701db7-3d31-4581-bd4c-cb49c38c6f43",
            "Condition": {
              "Operator": "Equals",
              "Operands": [
                "1"
              ]
            }
          },
          {
            "NextAction": "d8701db7-3d31-4581-bd4c-cb49c38c6f43",
            "Condition": {
              "Operator": "Equals",
              "Operands": [
                "2"
              ]
            }
          }
        ],
        "Errors": [
          {
            "NextAction": "d8701db7-3d31-4581-bd4c-cb49c38c6f43",
            "ErrorType": "InputTimeLimitExceeded"
          },
          {
            "NextAction": "d8701db7-3d31-4581-bd4c-cb49c38c6f43",
            "ErrorType": "NoMatchingCondition"
          },
          {
            "NextAction": "d8701db7-3d31-4581-bd4c-cb49c38c6f43",
            "ErrorType": "NoMatchingError"
          }
        ]
      }
    }
```

### Amazon Lex 入力用に を設定する
<a name="get-customer-input-lex-tab-properties"></a>
+ **Lex ボットを選択**: Amazon Lex ボットを作成したら、ドロップダウンリストからボットの名前を選択します。構築済みのボットのみが、ドロップダウンリストに表示されます。
+ [ARN を入力]: Amazon Lex ボットの Amazon リソースネームを指定します。
+ **[セッション属性]**: 現在のコンタクトのセッションにのみ適用される [Amazon Lex セッション属性](connect-attrib-list.md#attribs-lex-table)を指定します。次の図は、最大通話時間が 8000 ミリ秒 (8 秒) に設定されたセッション属性を示しています。  
![\[[顧客の入力の取得] ブロックの [プロパティ] ページ、[セッション属性] セクション。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/get-customer-input-properties3.png)
+ **インテント**
  + **[インテントを追加]**: このオプションを選択し、比較対象とする Amazon Lex ボットのインテントの名前を入力します。

    インテントを追加する方法はいくつかあります。
    + インテントをテキストボックスに手動で入力します。
    + インテントを検索します。
    + ドロップダウンリストからインテントを選択します。
    + インテントのドロップダウンリストをロケールでフィルタリングします。選択したロケールに基づいて、ボットのインテントがドロップダウンリストに表示されます。

    ドロップダウンリストから Lex ボットの ARN とエイリアスを選択すると、ロケールを使用して検索することで、そのボットのインテントを追加できます。インテントをリストに表示するには、ボットに Amazon Connect タグが付いていて、ボットエイリアスにバージョンが関連付けられている必要があります。

    **[インテント]** ドロップダウンボックスには、Amazon Lex V1 ボットやクロスリージョンボットのインテントは表示されません。ボット ARN が動的に設定されている場合のインテントも表示されません。これらのインテントについては、次のオプションを使って検索してください。
    + **AmazonConnectEnabled** タグが true に設定されているかどうかを確認します。

      1. Amazon Lex コンソールを開いて **[ボット]** を選択し、ボットを選択して、**[タグ]** を選択します。

      1.  **AmazonConnectEnabled** タグが存在しない場合は、**AmazonConnectEnabled = true** を追加します。

      1.  Amazon Connect 管理者ウェブサイトに戻ります。フローデザイナーを更新して、**[顧客の入力の取得]** ブロックの選択内容を確認します。
    + バージョンがエイリアスに関連付けられているかどうか確認します。

      1.  Amazon Connect 管理ウェブサイトで、**ルーティング**、**フロー**、ボット、**エイリアス**を選択します。次の図に示すように、**[フローとフローモジュールで使用]** が有効になっていることを確認します。  
![\[[エイリアス] タブ、[フローとフローモジュールで使用] トグル。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/bot-alias-enabled.png)

      1. フローデザイナーを更新して、**[顧客の入力の取得]** ブロックの選択内容を確認します。
  + **[Use sentiment override]** (感情の上書きを使用): Amazon Lex インテントの前に、感情スコアに基づいて分岐します。

    感情スコアは、顧客の最後の発話に基づいています。会話全体に基づいているわけではありません。

    例えば、希望する予約時間が空いていないため、否定的な感情を抱いた顧客から電話があったとします。この場合、否定的な感情スコアに基づいてフローを分岐できます (例: 否定的な感情が 80% を超える場合)。または、顧客から電話があった場合に、その顧客が 80% を超える肯定的な感情を抱いているときは、分岐してサービスでアップセルすることができます。

    次の画像は、[Amazon Lex] タブの [インテント] セクションを示しています。否定的な感情スコアが 80% のときにコンタクトをルーティングするように設定されています。  
![\[[顧客の入力の取得] ブロックの [プロパティ] ページ、[インテント] タブ。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/get-customer-input-properties5.png)

    否定的な感情スコアと肯定的な感情スコアの両方を追加すると、常に否定的なスコアが最初に評価されます。

    感情スコア、代替インテント、および感情ラベルを問い合わせ属性とともに使用する方法については、「[コンタクト属性を確認する](check-contact-attributes.md)」を参照してください。
+ **メッセージでボットを初期化**
  + **目的**: 顧客の初期メッセージを渡すには、このオプションを選択します。または、カスタムメッセージを手動で入力するか動的に入力し、これを Lex ボットを初期化する初期メッセージとして使用して、顧客のチャットエクスペリエンスを向上させます。どちらのオプションもテキストのみをサポートしています。

    [StartChatContact](https://docs.aws.amazon.com/connect/latest/APIReference/API_StartChatContact.html) API の呼び出し中に、初期メッセージが新しく作成されたチャットに送信されます。

    カスタムメッセージを設定するには、初期メッセージを手動で入力するか、属性を動的に渡します。
    + **お客様の最初のアトランスを使用 (テキストのみ)**: 常にボット初期化メッセージを ``$.Media.InitialMessage`` としてブロックをシリアル化します。
    + **手動で設定**: プレーンテキストメッセージまたは[属性の参照](connect-attrib-list.md)を受け入れます。最大 1,024 文字をサポートします。
    + **動的に設定**: テキスト値を持つ、選択された属性を受け入れます。最大 1,024 文字をサポートします。
  + **必須**: いいえ。これは必須パラメータではありません。
  + **ユースケース**:
    + ウェブチャット、SMS、WhatsApp、または Apple Messages for Business チャネルで **[お客様の最初のアトランスを使用 (テキストのみ)]** を使用して、Lex により、顧客の最初のチャットメッセージに対してインテントで応答します。
    + **[手動で設定]** を使用して、フローのユースケースに基づいて Lex インテントに静的にジャンプします。

      このオプションを使用すると、顧客がチャットウィジェットを開いたときに、インタラクティブメッセージをプロアクティブに表示できます。
    + **[動的に設定]** を使用して、属性 (顧客プロファイル、コンタクトの詳細、ケース情報など) またはチャットウィジェットから渡された追加情報 (製品ページ、顧客のショッピングカートの詳細、[ユーザー定義属性](connect-attrib-list.md#user-defined-attributes)に割り当てられた顧客設定など) に基づいて Lex インテントに動的にジャンプします。

      このオプションを使用すると、顧客がチャットウィジェットを開いたときに、インタラクティブメッセージをプロアクティブに表示できます。

**注記**  
初期メッセージ属性がコンタクトの一部として含まれていない場合、コンタクトは **[エラー]** ブランチにルーティングされます。  
ウェブチャット、SMS、Apple Messages for Business などの異なるメッセーングタイプごとに個別のフローを設定するには、**[顧客の入力の取得]** ブロックの前に、[[コンタクト属性を確認する]](check-contact-attributes.md) ブロックを使用して、初期メッセージが使用可能であることを確認します。

次の画像は、**[顧客の入力の取得]** ブロックを示しています。**[メッセージでボットを初期化]** と **[手動で設定]** が選択されています。

![\[[顧客の入力の取得] ブロックの [メッセージでボットを初期化] オプション。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/get-customer-input-properties-initialize-bot-1.png)


#### 音声入力の設定可能なタイムアウト
<a name="get-customer-input-configurable-timeouts"></a>

音声の問い合わせのタイムアウト値を設定するには、Lex ボットを呼び出す [**顧客の入力を取得する**] ブロックで、次のセッション属性を使用します。これらの属性を使用すると、発信者からの音声入力 (はい/いいえの質問に対する回答、日付やクレジットカード番号の提供) を Amazon Lex で収集する前に顧客が発話を終了したと判断するまで待つ時間を指定できます。

------
#### [ Amazon Lex ]
+ **発話の最大時間**

  `x-amz-lex:audio:max-length-ms:[intentName]:[slotToElicit]`

  入力を打ち切って Amazon Connect に戻るという判断をするまでの顧客の発話時間の長さ。多くの入力が予想される場合や、顧客が情報を提供するまでの時間を増やす場合は、この時間を延長できます。

  デフォルト = 12,000 ミリ秒 (12 秒)。最大許容値は 15000 ミリ秒です。
**重要**  
**[発話の最大時間]** を 15000 ミリ秒より長くすると、コンタクトは **[エラー]** ブランチにルーティングされます。
+ **無音開始しきい値**

   `x-amz-lex:audio:start-timeout-ms:[intentName]:[slotToElicit]`

  顧客は話さないと見なすまでに待つ時間。顧客のために、情報を探したり思い出したりする時間を確保する場合には、発話前として割り当てられた時間を延長することが可能です。例えば、顧客がクレジットカードを取り出してその番号を入力できるまでの時間をより長く見込む場合は、時間を延長できます。

  デフォルト = 3,000 ミリ秒 (3 秒)。
+ **無音終了しきい値**

  `x-amz-lex:audio:end-timeout-ms:[intentName]:[slotToElicit] ` 

  顧客が発話を停止してから発話が完了したと見なすまでに待つ時間。入力している間の無音の時間を見込む場合は、割り当てられた時間を延長できます。

  デフォルト = 600 ミリ秒 (0.6 秒)

------
#### [ Amazon Lex (Classic) ]
+ **発話の最大時間**

  `x-amz-lex:max-speech-duration-ms:[intentName]:[slotToElicit]`

  入力を打ち切って Amazon Connect に戻るという判断をするまでの顧客の発話時間の長さ。多くの入力が予想される場合や、顧客が情報を提供するまでの時間を増やす場合は、この時間を延長できます。

  デフォルト = 12,000 ミリ秒 (12 秒)。最大許容値は 15000 ミリ秒です。
**重要**  
**[発話の最大時間]** を 15000 ミリ秒より長くすると、コンタクトは **[エラー]** ブランチにルーティングされます。
+ **無音開始しきい値**

   `x-amz-lex:start-silence-threshold-ms:[intentName]:[slotToElicit]`

  顧客は話さないと見なすまでに待つ時間。顧客のために、情報を探したり思い出したりする時間を確保する場合には、発話前として割り当てられた時間を延長することが可能です。例えば、顧客がクレジットカードを取り出してその番号を入力できるまでの時間をより長く見込む場合は、時間を延長できます。

  デフォルト = 3,000 ミリ秒 (3 秒)。
+ **無音終了しきい値**

  `x-amz-lex:end-silence-threshold-ms:[intentName]:[slotToElicit]` 

  顧客が発話を停止してから発話が完了したと見なすまでに待つ時間。入力している間の無音の時間を見込む場合は、割り当てられた時間を延長できます。

  デフォルト = 600 ミリ秒 (0.6 秒)

------

#### Lex 音声対話中のチャット入力のタイムアウトを設定可能
<a name="get-customer-input-configurable-timeouts-chat"></a>

**[Intents]** (インテント) の下の **[Chat timeout]** (チャットタイムアウト) フィールドを使用して、チャット入力のタイムアウトを設定します。Lex 音声対話で非アクティブな顧客がタイムアウトするまでの時間を入力します。
+ 最小: 1 分
+ 最大 7 日

次の画像は、顧客が 2 分間非アクティブになるとチャットをタイムアウトするように設定された **[顧客の入力の取得]** ブロックを示しています。

![\[[プロパティ] ページの [インテント] セクション、[チャットのタイムアウト] オプション。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/get-customer-input-chattimeout.png)


すべての参加者が人間である場合のチャットタイムアウトの設定については、「[チャット参加者のチャットタイムアウトを設定する](setup-chat-timeouts.md)」を参照してください。

#### Amazon Lex への割り込みの設定と使用
<a name="get-customer-input-bargein"></a>

説明が終わるのを待つことなく、顧客が自分の声を使って Amazon Lex ボットを文の途中で中断できるようにすることができます。例えば、オプションのメニューからの選択に慣れている顧客は、プロンプト全体を聞かなくてもすぐに選択できるようになっています。

------
#### [ Amazon Lex ]
+ **割り込み**

  割り込みは、デフォルトではグローバルで有効になっています。Amazon Lex コンソールで無効にすることができます。詳細については、「[Enabling your bot to be interrupted by your user](https://docs.aws.amazon.com/lexv2/latest/dg/interrupt-bot.html)」を参照してください。さらに、`allow-interrupt` セッション属性を使用して割り込みの動作を変更できます。例えば、`x-amz-lex:allow-interrupt:*:*` は、すべてのインテントとすべてのスロットについて割り込みを許可します。詳細については、「*Amazon Lex V2 開発者ガイド*」の「[ユーザー入力をキャプチャするためのタイムアウトの設定](https://docs.aws.amazon.com/lexv2/latest/dg/session-attribs-speech.html)」を参照してください。

------
#### [ Amazon Lex (Classic) ]
+ **割り込み**

  `x-amz-lex:barge-in-enabled:[intentName]:[slotToElicit]`

  割り込みは、デフォルトではグローバルで無効になっています。グローバル、ボット、またはスロットのレベルで Lex ボットを有効にするには、 Lex ボットを呼び出している [**顧客入力の取得**] ブロックでセッション属性を設定する必要があります。この属性は Amazon Lex 割り込みのみを制御し、DTMF 割り込みは制御しません。詳細については、「[フローブロックが Amazon Lex セッション属性を使用する方法](how-to-use-session-attributes.md)」を参照してください。

  次の画像は、割り込みが有効な **[セッション属性]** セクションを示しています。  
![\[[プロパティ] ページの [セッション属性] セクション、[値] が [true] に設定されています。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/barge-in-session-attribute.png)

------

#### DTMF 入力の設定可能なフィールド
<a name="get-customer-input-configurable-dtmf"></a>

次のセッション属性を使用して、Lex ボットが DTMF 入力に応答する方法を指定します。
+ **終了文字**

  `x-amz-lex:dtmf:end-character:[IntentName]:[SlotName]`

  発話を終了する DTMF 終了文字。

  デフォルト = \$1 
+ **削除文字**

   `x-amz-lex:dtmf:deletion-character:[IntentName]:[SlotName]`

  それまでに入力された DTMF ディジットをクリアして発声を終了する DTMF 文字。

  デフォルト = \$1
+ **終了タイムアウト**

  `x-amz-lex:dtmf:end-timeout-ms:[IntentName]:[SlotName]` 

  発話が終了したと見なすための DTMF ディジットの間のアイドル時間 (ミリ秒単位)。

  デフォルト = 5000 ミリ秒 (5 秒)。
+ **発話あたりの許可される DTMF ディジットの最大数**

  `x-amz-lex:dtmf:max-length:[IntentName]:[SlotName]` 

  特定の発話で許可される DTMF ディジットの最大数。増やすことはできません。

  デフォルト = 1024 文字

詳細については、「[フローブロックが Amazon Lex セッション属性を使用する方法](how-to-use-session-attributes.md)」を参照してください。

#### Amazon Lex を使用する場合の Flow 言語表現
<a name="flow-language-lex"></a>

次のコード例は、Amazon Lex の設定が、Flow 言語の [ConnectParticipantWithLexBot](https://docs.aws.amazon.com/connect/latest/APIReference/participant-actions-connectparticipantwithlexbot.html) アクションではどのように表現されるかを示しています。

```
{
    "Parameters": {
      "Text": "Welcome to Example Corp. Please press 1 for sales, press 2 for support",
      "LexV2Bot": {
        "AliasArn": "arn:aws:lex:us-west-2:23XXXXXXXXXX:bot-alias/3HL7SXXXXX/TSTALXXXXX"
      },
      "LexTimeoutSeconds": {
        "Text": "300"
      }
    },
    "Identifier": "Get Customer Input",
    "Type": "ConnectParticipantWithLexBot",
    "Transitions": {
      "NextAction": "d8701db7-3d31-4581-bd4c-cb49c38c6f43",
      "Errors": [
        {
          "NextAction": "d8701db7-3d31-4581-bd4c-cb49c38c6f43",
          "ErrorType": "InputTimeLimitExceeded"
        },
        {
          "NextAction": "d8701db7-3d31-4581-bd4c-cb49c38c6f43",
          "ErrorType": "NoMatchingError"
        },
        {
          "NextAction": "Get Customer Input-ygqIfPM1n2",
          "ErrorType": "NoMatchingCondition"
        }
      ]
    }
  }
```

#### フラグメント化されたアクションの表現
<a name="flow-language-frag-gci"></a>

次のコード例は、会話の後で Lex ボットから返された Amazon Lex 感情スコアに対する、フラグメント化された [Compare](https://docs.aws.amazon.com/connect/latest/APIReference/flow-control-actions-compare.html) アクションを示しています。

```
{
      "Parameters": {
        "ComparisonValue": "$.Lex.SentimentResponse.Scores.Negative"
      },
      "Identifier": "Get Customer Input-ygqIfPM1n2",
      "Type": "Compare",
      "Transitions": {
        "NextAction": "Get Customer Input-xDRo1hbBRB",
        "Conditions": [
          {
            "NextAction": "d8701db7-3d31-4581-bd4c-cb49c38c6f43",
            "Condition": {
              "Operator": "NumberGreaterOrEqualTo",
              "Operands": [
                "0.08"
              ]
            }
          }
        ],
        "Errors": [
          {
            "NextAction": "Get Customer Input-xDRo1hbBRB",
            "ErrorType": "NoMatchingCondition"
          }
        ]
      }
    }
```

### フローブロックのブランチ
<a name="gci-branches"></a>

次の図は、このブロックが DTMF 入力用に設定されている場合の表示例です。入力の 2 つのブランチとして **[Pressed 1]** と **[Pressed 2]** が表示されています。また、**[タイムアウト]**、**[デフォルト]**、および **[エラー]** のブランチも示しています。

![\[設定された [顧客の入力の取得] ブロック。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/get-customer-input-branches.png)


1. **[タイムアウト]**: Amazon Lex で指定されたチャットタイムアウト、または DTMF 用に **[タイムアウトの設定]** で指定した時間が経過しても、お客様から何も入力がない場合の対応。

1. **[デフォルト]**: お客様の入力が DTMF のどの条件にも一致しない場合、または Amazon Lex ボットでインテントが実行された場合。上の図のように、1 または 2 以外の値を入力した場合、コンタクトは **[デフォルト]** ブランチにルーティングされます。

1. **[エラー]**: ブロックを実行したが、DTMF でエラーが発生した場合、または Amazon Lex ボットのインテントに基づいた処理ができない場合。

### 追加の設定のヒント
<a name="get-customer-input-tips"></a>
+ Amazon Connect ライブラリまたは S3 バケットからのプロンプトの選択については、[プロンプトの再生](play.md) ブロックを参照してください。
+ このブロックは、DTMF 入力またはチャット応答を受け入れるように設定できます。Amazon Lex と連携するように設定することもでき、例えば、コンタクトを発話に基づいてルーティングできます。
  + Amazon Lex との統合に使用できるセッション属性。このトピックでは、Amazon Lex との統合に使用できるセッション属性の一部について説明します。使用可能なすべての Amazon Lex セッション属性のリストについては、「[ユーザー入力をキャプチャするためのタイムアウトの設定](https://docs.aws.amazon.com/lexv2/latest/dg/session-attribs-speech)」を参照してください。(テキスト読み上げまたはチャットに) テキストを使用する場合は、最大 3,000 の課金対象文字 (合計 6,000 文字) を使用できます。
  + Amazon Lex ボットは、フローで使用すると、発声とキーパッド入力の両方をサポートします。
  + 音声と DTMF の両方で、会話ごとに 1 つのセッション属性のセットしか存在できません。優先順位は次のとおりです。

    1. Lambda が提供するセッション属性: 顧客の Lambda 呼び出し中はセッション属性よりも優先されます。

    1. Amazon Connect コンソールが提供するセッション属性: [**顧客入力の取得**] ブロックで定義されます。

    1. サービスのデフォルト: 属性が定義されていない場合にのみ使用されます。
+ 入力をシャープ記号 \$1 で終了し、星の記号 \$1 を使用してキャンセルするよう問い合わせに求めることができます。Lex ボットの使用時に顧客に \$1 で入力を終了するよう求めないと、さらにキーが押されるのを待機するのを Lex が停止するまで顧客は 5 秒待つことになります。
+ タイムアウト機能を制御するには、Lex セッション属性をこのブロックで使用するか、Lex Lambda 関数で設定します。Lex Lambda 関数で属性を設定する場合は、Lex ボットが呼び出されるまでデフォルト値が使用されます。詳細については、[Amazon Lex デベロッパーガイド](https://docs.aws.amazon.com/lex/latest/dg/using-lambda.html)の「*Using Lambda Functions*」を参照してください。
+ この記事で説明しているセッション属性のいずれかを指定する場合は、ワイルドカードを使用できます。ワイルドカードを使用すると、インテントまたはボットに複数のスロットを設定できます。

  ワイルドカードの使用例をいくつか以下に示します。
  + 特定のインテント (PasswordReset など) のすべてのスロットを 2000 ミリ秒に設定する例は、次のとおりです。

    名前 = `x-amz-lex:max-speech-duration-ms:PasswordReset:*`

    値 = 2000
  + すべてのボットのすべてのスロットを 4000ミリ秒に設定する例は、次のとおりです。

    名前 = `x-amz-lex:max-speech-duration-ms:*:*`

    値 = 4000

  ワイルドカードは、フローのボット全体に適用されますが、ブロック全体には適用されません。

  例えば、Get\$1Account\$1Number ボットがあるとします。フローには、2 つの **[Get customer input]** (顧客の入力を取得する) ブロックがあります。最初のブロックでは、ワイルドカードを使用してセッション属性を設定します。2番目のブロックでは、属性を設定しません。このシナリオでは、ボットの動作の変更は、セッション属性が設定されている最初の [**顧客の入力を取得する**] ブロックにのみ適用されます。
+ セッション属性をインテントレベルとスロットレベルに適用するように指定できるため、特定のタイプの入力を収集するときにのみ属性を設定するように指定できます。例えば、アカウント番号を収集する場合は、日付を収集する場合よりも長い [**無音開始しきい値**] を指定できます。
+ Amazon Connect を使用して Lex ボットに DTMF 入力が送信された場合、顧客入力は [[Lex リクエスト属性](https://docs.aws.amazon.com/lex/latest/dg/context-mgmt-request-attribs.html)] として利用可能になります。属性名は `x-amz-lex:dtmf-transcript` で、この値は最大 1024 文字です。

  さまざまな DTMF 入力シナリオを以下に示します。    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/get-customer-input.html)

  コードの説明は以下のとおりです。
  + [DEL] = 削除文字 (デフォルトは **\$1**)
  + [END] = 終了文字 (デフォルトは **\$1**)

### このブロックで生成されるデータ
<a name="gci-data"></a>

このブロックではデータは生成されません。

## エラーシナリオ
<a name="getcustomerinput-errorscenarios"></a>

次のシナリオを検討してみましょう。フローが 2 つあり、それぞれがお客様からの DTMF 入力を取得します。

1. 1 つのコンタクトフローでは **[顧客の入力の取得]** ブロックを使用して、顧客から DTMF 入力を要求します。

1. DTMF 入力があると、その入力が **[フローへの転送]** ブロックを使用して、コンタクトを次のフローに移動します。

1. 次のコンタクトフローでは、**[顧客の入力を保存する]** ブロックを使用して、顧客からより多くの DTMF 入力を取得します。

最初のフローと 2 番目のフローの間には設定時間があります。このため、顧客が 2 番目のフローに対して非常に速く DTMF 入力を入力すると、一部の DTMF の桁が削除される可能性があります。

例えば、顧客は 5 を押し、2 番目のフローからのプロンプトを待ってから「123」と入力する必要があります。この場合、123 は問題なくキャプチャされます。しかし、プロンプトを待たずに非常に速く「5123」と入力すると、[顧客の入力を保存する] ブロックは 23 または 3 しかキャプチャできない可能性があります。

2 番目のフローの **[顧客の入力を保存する]** ブロックですべての桁が確実に取得されるようにするには、お客様がプロンプトの再生を待ってから DTMF 入力を行う必要があります。

## サンプルフロー
<a name="get-customer-input-samples"></a>

Amazon Connect には、サンプルフローのセットが含まれています。フローデザイナーでサンプルフローにアクセスする方法については、「[Amazon Connect のサンプルフロー](contact-flow-samples.md)」を参照してください。以下のトピックでは、このブロックを含むサンプルフローについて説明します。
+ [Amazon Connect に含まれる最初のコンタクトエクスペリエンスの着信フローのサンプル](sample-inbound-flow.md)
+ [Amazon Connect のコールバックでの割り込み可能キューフローのサンプル](sample-interruptible-queue.md) 
+ [Amazon Connect のキュー設定フローのサンプル](sample-queue-configurations.md) 
+ [Amazon Connect での記録動作のサンプル](sample-recording-behavior.md) 

## その他のリソース
<a name="get-customer-input-scenarios"></a>

Amazon Lex の詳細とプロンプトの追加については、以下のトピックを参照してください。
+ [Amazon Connect で会話型 AI ボットを作成する](connect-conversational-ai-bots.md)
+ [音声とチャットに同じ Amazon Lex ボットを使用する方法](one-bot-voice-chat.md)
+ [Amazon Polly でフローブロックのプロンプトにテキスト読み上げを追加する](text-to-speech.md)