

支援終止通知：2025 年 9 月 15 日， AWS 將停止對 Amazon Lex V1 的支援。2025 年 9 月 15 日之後，您將無法再存取 Amazon Lex V1 主控台或 Amazon Lex V1 資源。如果您使用的是 Amazon Lex V2，請改參閱 [Amazon Lex V2 指南](https://docs.aws.amazon.com/lexv2/latest/dg/what-is.html)。

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 步驟 2b (選用)：檢閱輸入型資訊流程的詳細資訊 (主控台)
<a name="gs-bp-details-part1"></a>

本節說明用戶端與 Amazon Lex 之間由用戶端使用 `PostText` API 傳送請求時的資訊流程。如需詳細資訊，請參閱[PostText](API_runtime_PostText.md)。

1. 使用者輸入：我想要訂花

   1. 用戶端 (主控台) 傳送以下 [PostText](API_runtime_PostText.md) 請求給 Amazon Lex：

      ```
      POST /bot/{{OrderFlowers}}/alias/{{$LATEST}}/user/{{4o9wwdhx6nlheferh6a73fujd3118f5w}}/text
      "Content-Type":"application/json"
      "Content-Encoding":"amz-1.0"
      
      {
          "inputText": "I would like to order some flowers",
          "sessionAttributes": {}
      }
      ```

      請求 URI 和內文都會提供資訊給 Amazon Lex：
      + 請求 URI – 提供機器人名稱 (`OrderFlowers`)、機器人別名 (`$LATEST`) 和使用者名稱 （識別使用者的隨機字串）。末尾的 `text` 表示其為 `PostText` API 請求 (而非 `PostContent`)。

         
      + 請求本文 – 包含使用者輸入 (`inputText`) 和空的 `sessionAttributes`。用戶端發出第一次請求時，沒有工作階段屬性。稍後將由 Lambda 函數起始這些屬性。

   1. 從 `inputText`，Amazon Lex 會偵測意圖 (`OrderFlowers`)。此意圖沒有任何程式碼掛鉤 （即 Lambda 函數），用於初始化和驗證使用者輸入或履行。

      Amazon Lex 選擇其中一個意圖的槽 (`FlowerType`) 來引出值。其亦將選取槽 (整個意圖組態) 的其中一個值引出提示，然後傳回以下回應給用戶端。主控台向使用者顯示回應中的訊息。  
![傳送至用戶端包含 JSON 資料的訊息。](http://docs.aws.amazon.com/zh_tw/lex/latest/dg/images/gs-1-details-10.png)

      用戶端顯示回應中的訊息。

1. 使用者輸入：玫瑰

   1. 用戶端 (主控台) 傳送以下 [PostText](API_runtime_PostText.md) 請求給 Amazon Lex：

      ```
      POST /bot/{{OrderFlowers}}/alias/{{$LATEST}}/user/{{4o9wwdhx6nlheferh6a73fujd3118f5w}}/text
      "Content-Type":"application/json"
      "Content-Encoding":"amz-1.0"
      
      {
          "inputText": "roses",
          "sessionAttributes": {}
      }
      ```

      請求內文中的 `inputText` 會提供使用者輸入。`sessionAttributes` 仍為空白。

   1. Amazon Lex 會先在目前意圖的內容`inputText`中解譯 ，該服務會記住已向特定使用者詢問`FlowerType`槽的相關資訊。Amazon Lex 會先更新目前意圖的槽值，並針對槽選擇另一個槽 (`PickupDate`) 及其提示訊息之一：您希望在哪一天收取玫瑰？—``。

      然後，Amazon Lex 會傳回下列回應：  
![對 FlowerType 槽的請求發出回應所傳送的 JSON 資料。](http://docs.aws.amazon.com/zh_tw/lex/latest/dg/images/gs-1-details-20.png)

      用戶端顯示回應中的訊息。

1. 使用者輸入：明天

   1. 用戶端 (主控台) 傳送以下 [PostText](API_runtime_PostText.md) 請求給 Amazon Lex：

      ```
      POST /bot/{{OrderFlowers}}/alias/{{$LATEST}}/user/{{4o9wwdhx6nlheferh6a73fujd3118f5w}}/text
      "Content-Type":"application/json"
      "Content-Encoding":"amz-1.0"
      
      {
          "inputText": "tomorrow",
          "sessionAttributes": {}
      }
      ```

      請求內文中的 `inputText` 會提供使用者輸入。`sessionAttributes` 仍為空白。

   1. Amazon Lex 會先在目前意圖的內容`inputText`中解譯 - 服務會記住已向特定使用者詢問`PickupDate`槽的相關資訊。Amazon Lex 會更新目前意圖的槽 (`PickupDate`) 值。其將選擇另一個槽 (`PickupTime`) 來引出槽值。它會傳回其中一個值引出提示 - 在 2017-01-05 的什麼時間交付玫瑰？ - ``給用戶端。

      然後，Amazon Lex 會傳回下列回應：  
![詢問過 PickupDate 槽資訊之後傳回的 JSON 訊息。](http://docs.aws.amazon.com/zh_tw/lex/latest/dg/images/gs-1-details-30.png)

      用戶端顯示回應中的訊息。

1. 使用者輸入：下午 6 點

   1. 用戶端 (主控台) 傳送以下 [PostText](API_runtime_PostText.md) 請求給 Amazon Lex：

      ```
      POST /bot/{{OrderFlowers}}/alias/{{$LATEST}}/user/{{4o9wwdhx6nlheferh6a73fujd3118f5w}}/text
      "Content-Type":"application/json"
      "Content-Encoding":"amz-1.0"
      
      {
          "inputText": "6 pm",
          "sessionAttributes": {}
      }
      ```

      請求內文中的 `inputText` 會提供使用者輸入。`sessionAttributes` 仍為空白。

   1. Amazon Lex 會先在目前意圖的內容`inputText`中解譯 - 服務會記住已向特定使用者詢問`PickupTime`槽的相關資訊。Amazon Lex 會先更新目前意圖的槽值。現在，Amazon Lex 偵測到它具有所有插槽的資訊。

      `OrderFlowers` 意圖設定了一則確認訊息。因此，Amazon Lex 需要使用者明確確認，才能繼續實現意圖。Amazon Lex 會傳送下列訊息給用戶端，在訂購花之前請求確認：  
![要求確認訂花包含 JSON 資料的訊息。](http://docs.aws.amazon.com/zh_tw/lex/latest/dg/images/gs-1-details-40.png)

      用戶端顯示回應中的訊息。

1. 使用者輸入：好

   1. 用戶端 (主控台) 傳送以下 [PostText](API_runtime_PostText.md) 請求給 Amazon Lex：

      ```
      POST /bot/{{OrderFlowers}}/alias/{{$LATEST}}/user/{{4o9wwdhx6nlheferh6a73fujd3118f5w}}/text
      "Content-Type":"application/json"
      "Content-Encoding":"amz-1.0"
      
      {
          "inputText": "Yes",
          "sessionAttributes": {}
      }
      ```

      請求內文中的 `inputText` 會提供使用者輸入。`sessionAttributes` 仍為空白。

   1. Amazon Lex 會在確認目前意圖`inputText`的情況下解譯 。其已理解使用者想要完成下單。使用 將`OrderFlowers`意圖設定為`ReturnIntent`履行活動 （沒有 Lambda 函數來履行意圖）。因此，Amazon Lex 會將下列槽資料傳回給用戶端。  
![對話結束並已準備好要下單時傳送的 JSON 資料。](http://docs.aws.amazon.com/zh_tw/lex/latest/dg/images/gs-1-details-50.png)

      Amazon Lex 將 `dialogState` 設定為 `ReadyForFulfillment`。隨後用戶端即可實現意圖。

1. 現在，再次測試機器人。為此，您必須由主控台選擇 **Clear (清除)** 連結以建立新的 (使用者) 內容。接著為訂花意圖提供資料，請嘗試提供無效的資料。例如：
   + 花種為「茉莉」(此花種不受支援)，
   + 想要取花的日期為「昨天」。

   請注意，機器人會接受這些值，因為您沒有任何程式碼來初始化/驗證使用者資料。在下一節中，您可以新增 Lambda 函數來執行此操作。請注意下列有關 Lambda 函數的事項：
   + Lambda 函數會在每次使用者輸入後驗證槽資料。其將在結束時實現意圖。也就是說，機器人會處理訂花的下單，然後向使用者傳回一則訊息，而不單只是將槽資料傳回用戶端。如需詳細資訊，請參閱[使用 Lambda 函數](using-lambda.md)。
   + Lambda 函數也會設定工作階段屬性。如需工作階段屬性的詳細資訊，請參閱 [PostText](API_runtime_PostText.md)。

      完成入門章節後，您可以接著做其他練習 ([其他範例：建立 Amazon Lex 機器人](additional-exercises.md) )。[預訂行程](ex-book-trip.md) 將利用工作階段屬性，透過跨意圖共享資訊與使用者進行動態對話。

**後續步驟**  
[步驟 3：建立 Lambda 函數 （主控台）](gs-bp-create-lambda-function.md)