Amazon Chime SDK 메시징을 위한 AppInstanceBot 응답 처리
사용자가 메시지를 보내면 AppInstanceBot은 채널 메시지로 응답합니다. 채널 메시지를 나열하여 봇의 응답을 받을 수 있습니다.
다음 예는 CLI를 사용하여 채널 메시지를 나열하는 방법을 보여 줍니다.
aws chime-sdk-messaging list-channel-messages \ --chime-bearer
caller_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 V2RecognizeText
API의 메시지를 참조하세요.다음은 시작 메시지에서
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 봇 인텐트의 이름입니다.
-
CHIME.LEX.sessionState.intent.state – 인텐트의 현재 상태입니다. 가능한 값은
Fulfilled
,InProgress
,Failed
입니다. -
CHIME.LEX.sessionState.originatingRequestId – Amazon Lex 봇에 대한 특정 요청을 위한 고유 식별자입니다. 이 값은 AppInstanceBot을 트리거한 원본 사용자 메시지의
MessageId
로 설정됩니다. -
CHIME.LEX.sessionState.sessionId – 사용자와 봇 간의 대화를 나타내는 고유 식별자입니다. 사용자가 봇과 대화를 시작하면 Amazon Lex는 세션을 생성합니다.
Amazon Lex 세션과 세션 상태에 대한 자세한 내용은 Amazon Lex API 참조의 SessionState 및 Amazon Lex V2 개발자 안내서의 세션 관리를 참조하세요.
Amazon Lex V2가 반환하는 속성에 대한 자세한 내용은 Amazon Lex 런타임 V2 API를 참조하세요.
-