StartConversation - Amazon Lex

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

StartConversation

오디오, 텍스트 또는 DTMF 입력을 실시간으로 전송할 수 있는 HTTP/2 양방향 이벤트 스트림을 시작합니다. 애플리케이션이 대화를 시작한 후 사용자는 Amazon Lex V2에 이벤트 스트림으로 입력을 전송합니다. Amazon Lex V2는 수신 이벤트를 처리하고 스트리밍 텍스트 또는 오디오 이벤트로 응답합니다.

오디오 입력은 다음 형식이어야 합니다.audio/lpcm sample-rate=8000 sample-size-bits=16 channel-count=1; is-big-endian=false.

선택적 사후 처리 응답이 지정된 경우 메시지는 다음과 같이 반환됩니다. 자세한 내용을 알아보려면 다음 섹션을 참조하세요.PostFulfillmentStatusSpecification.

  • 성공 메시지를 표시합니다- Lambda 함수가 성공적으로 완료되고 의도 상태가 충족되거나 이행 준비 (메시지가 있는 경우) 일 때 반환됩니다.

  • 실패 메시지- Lambda 함수에서 예외가 발생하거나 Lambda 함수가 메시지 없이 실패한 인텐트 상태를 반환하는 경우 실패한 메시지가 반환됩니다.

  • 제한 시간 메시지- 타임아웃 메시지와 타임아웃을 구성하지 않고 Lambda 함수가 30초 이내에 반환되지 않는 경우 타임아웃 메시지가 반환됩니다. 타임아웃을 구성한 경우 기간이 만료되면 타임아웃 메시지가 반환됩니다.

자세한 내용을 알아보려면 다음 섹션을 참조하세요.완료 메시지를 표시합니다.

선택적 업데이트 메시지가 구성된 경우, Lambda 함수가 실행 중이고 업데이트 메시지 상태가 활성 상태인 동안 지정된 빈도로 재생됩니다. 주문 처리 업데이트 메시지가 활성화되지 않은 경우 Lambda 함수는 30초의 제한 시간으로 실행됩니다.

자세한 내용을 알아보려면 다음 섹션을 참조하세요.업데이트 메시지

StartConversation작업은 다음 SDK에서만 지원됩니다.

요청 구문

POST /bots/botId/botAliases/botAliasId/botLocales/localeId/sessions/sessionId/conversation HTTP/2 x-amz-lex-conversation-mode: conversationMode Content-type: application/json { "requestEventStream": { "AudioInputEvent": { "audioChunk": blob, "clientTimestampMillis": number, "contentType": "string", "eventId": "string" }, "ConfigurationEvent": { "clientTimestampMillis": number, "disablePlayback": boolean, "eventId": "string", "requestAttributes": { "string" : "string" }, "responseContentType": "string", "sessionState": { "activeContexts": [ { "contextAttributes": { "string" : "string" }, "name": "string", "timeToLive": { "timeToLiveInSeconds": number, "turnsToLive": number } } ], "dialogAction": { "slotElicitationStyle": "string", "slotToElicit": "string", "subSlotToElicit": { "name": "string", "subSlotToElicit": "ElicitSubSlot" }, "type": "string" }, "intent": { "confirmationState": "string", "name": "string", "slots": { "string" : { "shape": "string", "subSlots": { "string" : "Slot" }, "value": { "interpretedValue": "string", "originalValue": "string", "resolvedValues": [ "string" ] }, "values": [ "Slot" ] } }, "state": "string" }, "originatingRequestId": "string", "runtimeHints": { "slotHints": { "string" : { "string" : { "runtimeHintValues": [ { "phrase": "string" } ], "subSlotHints": { "string" : "RuntimeHintDetails" } } } } }, "sessionAttributes": { "string" : "string" } }, "welcomeMessages": [ { "content": "string", "contentType": "string", "imageResponseCard": { "buttons": [ { "text": "string", "value": "string" } ], "imageUrl": "string", "subtitle": "string", "title": "string" } } ] }, "DisconnectionEvent": { "clientTimestampMillis": number, "eventId": "string" }, "DTMFInputEvent": { "clientTimestampMillis": number, "eventId": "string", "inputCharacter": "string" }, "PlaybackCompletionEvent": { "clientTimestampMillis": number, "eventId": "string" }, "TextInputEvent": { "clientTimestampMillis": number, "eventId": "string", "text": "string" } } }

URI 요청 파라미터

요청은 다음의 URI 파라미터를 사용합니다.

botAliasId

요청을 처리하는 봇에 사용되는 별칭 식별자입니다.

필수: 예

botId

요청을 처리할 봇의 식별자입니다.

길이 제약: 고정 길이는 10입니다.

패턴: ^[0-9a-zA-Z]+$

필수: 예

conversationMode

Amazon Lex V2를 사용하고 있는 대화 유형입니다. 대화 모드가 다음과 같은 경우AUDIO오디오 및 DTMF 정보를 모두 전송할 수 있습니다. 모드가 로 설정됨TEXT문자만 보낼 수 있습니다.

유효한 값: AUDIO | TEXT

localeId

세션이 사용 중인 로케일.

길이 제약: 최소 길이는 1이고,

필수: 예

sessionId

대화를 진행 중인 사용자 세션의 식별자입니다.

길이 제약: 최소 길이는 2이고, 최대 길이는 100입니다.

Pattern: [0-9a-zA-Z._:-]+

필수: 예

요청 본문

요청은 JSON 형식의 다음 데이터를 받습니다.

requestEventStream

애플리케이션에서 Amazon Lex V2로 전송되는 이벤트 스트림을 나타냅니다. 이벤트는 HTTP/2 데이터 프레임으로 인코딩됩니다.

유형: StartConversationRequestEventStream 객체

필수: 예

응답 구문

HTTP/2 200 Content-type: application/json { "responseEventStream": { "AccessDeniedException": { }, "AudioResponseEvent": { "audioChunk": blob, "contentType": "string", "eventId": "string" }, "BadGatewayException": { }, "ConflictException": { }, "DependencyFailedException": { }, "HeartbeatEvent": { "eventId": "string" }, "IntentResultEvent": { "eventId": "string", "inputMode": "string", "interpretations": [ { "intent": { "confirmationState": "string", "name": "string", "slots": { "string" : { "shape": "string", "subSlots": { "string" : "Slot" }, "value": { "interpretedValue": "string", "originalValue": "string", "resolvedValues": [ "string" ] }, "values": [ "Slot" ] } }, "state": "string" }, "nluConfidence": { "score": number }, "sentimentResponse": { "sentiment": "string", "sentimentScore": { "mixed": number, "negative": number, "neutral": number, "positive": number } } } ], "requestAttributes": { "string" : "string" }, "sessionId": "string", "sessionState": { "activeContexts": [ { "contextAttributes": { "string" : "string" }, "name": "string", "timeToLive": { "timeToLiveInSeconds": number, "turnsToLive": number } } ], "dialogAction": { "slotElicitationStyle": "string", "slotToElicit": "string", "subSlotToElicit": { "name": "string", "subSlotToElicit": "ElicitSubSlot" }, "type": "string" }, "intent": { "confirmationState": "string", "name": "string", "slots": { "string" : { "shape": "string", "subSlots": { "string" : "Slot" }, "value": { "interpretedValue": "string", "originalValue": "string", "resolvedValues": [ "string" ] }, "values": [ "Slot" ] } }, "state": "string" }, "originatingRequestId": "string", "runtimeHints": { "slotHints": { "string" : { "string" : { "runtimeHintValues": [ { "phrase": "string" } ], "subSlotHints": { "string" : "RuntimeHintDetails" } } } } }, "sessionAttributes": { "string" : "string" } } }, "InternalServerException": { }, "PlaybackInterruptionEvent": { "causedByEventId": "string", "eventId": "string", "eventReason": "string" }, "ResourceNotFoundException": { }, "TextResponseEvent": { "eventId": "string", "messages": [ { "content": "string", "contentType": "string", "imageResponseCard": { "buttons": [ { "text": "string", "value": "string" } ], "imageUrl": "string", "subtitle": "string", "title": "string" } } ] }, "ThrottlingException": { }, "TranscriptEvent": { "eventId": "string", "transcript": "string" }, "ValidationException": { } } }

응답 요소

작업이 성공하면 서비스가 HTTP 200 응답을 다시 전송합니다.

다음 데이터는 서비스에 의해 JSON 형식으로 반환됩니다.

responseEventStream

Amazon Lex V2에서 애플리케이션으로 전송되는 이벤트 스트림을 나타냅니다. 이벤트는 HTTP/2 데이터 프레임으로 인코딩됩니다.

유형: StartConversationResponseEventStream 객체

오류

모든 작업에 공통적인 오류에 대한 자세한 내용은 을 참조하십시오.일반적인 오류.

AccessDeniedException

HTTP 상태 코드: 403

InternalServerException

HTTP 상태 코드: 500

ThrottlingException

HTTP 상태 코드: 429

ValidationException

HTTP 상태 코드: 400

참고 항목

이 API를 언어별 AWS SDK 중 하나로 사용하는 방법에 대한 자세한 내용은 다음을 참조하세요.