本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
正在处理来自 For Amazon Chime 软件开发工具包消息 AppInstanceBot 的响应
当用户发送消息时,用户会使用频道消息进行 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
-
A MessageAttribute是字符串键到字符串值的映射。来自
AppInstanceBot的响应包含以下消息属性,这些属性映射到来自 Amazon Lex 机器人的响应。-
CHIME.LEX.sessionState.intent.name:请求尝试实现的 Lex 机器人意图名称。
-
CHIME.LEX.sessionState.intent.state:意图的当前状态。可能的值包括:
Fulfilled、InProgress和Failed。 -
chime.lex.sessionState。 originatingRequestId— 向 Amazon Lex 机器人发出的特定请求的唯一标识符。该值设置为触发
MessageId的原始用户消息的 AppInstanceBot。 -
CHIME.LEX.sessionState.sessionId:用户与机器人之间对话的唯一标识符。用户启动与机器人的聊天时,Amazon Lex 将创建一个会话。
有关 Amazon Lex 会话和会话状态的更多信息,请参阅《Amazon Lex API 参考》中的 SessionState 和《Amazon Lex V2 开发人员指南》中的管理会话
有关 Amazon Lex V2 返回的属性的更多信息,请参阅亚马逊 Lex Runtime V APIs 2。
-