本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
處理來自 AppInstanceBot for Amazon Chime SDK 訊息的回應
當使用者傳送訊息時,AppInstanceBot 會以頻道訊息回應。您可以列出頻道訊息,以取得機器人的回應。
下列範例顯示您使用 CLI 列出頻道訊息。
aws chime-sdk-messaging list-channel-messages \ --chime-bearercaller_app_instance_user_arn\ --channel-arnchannel_arn
AppInstanceBot 的成功回應採用下列格式。
{ "MessageId": "messageId", "Content": "*{\"Messages\":[{\"...\"}]}*", "ContentType": "application/amz-chime-lex-msgs", "MessageAttributes": { "CHIME.LEX.sessionState.intent.name": { "StringValues": [ "lex_bot_intent_name" ] }, "CHIME.LEX.sessionState.intent.state": { "StringValues": [ "lex_bot_intent_fullfilment_status" ] }, "CHIME.LEX.sessionState.originatingRequestId": { "StringValues": [ "lex_bot_originating_request_id" ] }, "CHIME.LEX.sessionState.sessionId": { "StringValues": [ "lex_bot_session_id" ] } }, "Sender": { "Arn": "app_instance_bot_arn", "Name": "app_instance_bot_name" }, "Type": "STANDARD", }
- Content
-
Content欄位包含來自 Amazon Lex V2 機器人的訊息清單。如需這些訊息的詳細資訊,請參閱 Amazon Lex V2RecognizeTextAPI 中的訊息。下列範例示範如何在歡迎訊息中使用
Content欄位。{ "Messages": [ { "Content": "Hello!", "ContentType": "PlainText" }, { "ContentType": "ImageResponseCard", "ImageResponseCard": { "Title": "Hello! I'm BB, the Bank Bot.", "Subtitle": "I can help you with the following transactions", "Buttons": [ { "Text": "Check balance", "Value": "Check balance" }, { "Text": "Escalate to agent", "Value": "Escalate to agent" } ] } } ] }對於失敗回應,內容欄位包含以下格式的錯誤訊息和程式碼:
{ "Code":error_code} - ContentType
-
ContentType是指Content欄位包含的承載類型,且必須進行檢查以剖析Content欄位。注意
Lex V2 機器人使用不同的
ContentType。ContentType為成功回應設為application/amz-chime-lex-msgs,或application/amz-chime-lex-error為失敗回應設為 。 - MessageAttribute
-
MessageAttribute 是字串索引鍵與字串值的映射。的回應
AppInstanceBot包含下列映射至 Amazon Lex 機器人回應的訊息屬性。-
CHIME.LEX.sessionState.intent.name – 請求嘗試履行的 Lex 機器人意圖名稱。
-
CIFNE.LEX.sessionState.intent.state – 意圖的目前狀態。可能的值包括:
Fulfilled、InProgress和Failed。 -
CIFNE.LEX.sessionState.originatingRequestId – 對 Amazon Lex 機器人提出特定請求的唯一識別符。這是設定為觸發 AppInstanceBot
MessageId之原始使用者訊息的 。 -
CIFNE.LEX.sessionState.sessionId – 使用者與機器人之間對話的唯一識別符。當使用者開始與您的機器人聊天時,Amazon Lex 會建立工作階段。
如需 Amazon Lex 工作階段和工作階段狀態的詳細資訊,請參閱《Amazon Lex API 參考SessionState》中的 ,以及《Amazon Lex V2 開發人員指南》中的管理工作階段。 Amazon Lex V2
如需 Amazon Lex V2 傳回屬性的詳細資訊,請參閱 Amazon Lex 執行期 V2 APIs。
-