Sends user input (text-only) to Amazon Lex. Client applications can use this API to send requests to Amazon Lex at runtime. Amazon Lex then interprets the user input using the machine learning model it built for the bot.
In response, Amazon Lex returns the next
to convey to the user an optional
to display. Consider the following example messages:
- For a user input "I would like a pizza", Amazon Lex might return a response with a message eliciting slot data (for example, PizzaSize): "What size pizza would you like?"
- After the user provides all of the pizza order information, Amazon Lex might return a response with a message to obtain user confirmation "Proceed with the pizza order?".
- After the user replies to a confirmation prompt with a "yes", Amazon Lex might return a conclusion statement: "Thank you, your cheese pizza has been ordered.".
Not all Amazon Lex messages require a user response. For example, a conclusion statement does not require a response. Some messages require only a "yes" or "no" user response. In addition to the
, Amazon Lex provides additional context about the message in the response that you might use to enhance client behavior, for example, to display the appropriate client user interface. These are the
fields in the response. Consider the following examples:
- If the message is to elicit slot data, Amazon Lex returns the following context information:
dialogState set to ElicitSlot
intentName set to the intent name in the current context
slotToElicit set to the slot name for which the
message is eliciting information
slots set to a map of slots, configured for the intent, with currently known values
- If the message is a confirmation prompt, the
dialogState is set to ConfirmIntent and
SlotToElicit is set to null.
- If the message is a clarification prompt (configured for the intent) that indicates that user intent is not understood, the
dialogState is set to ElicitIntent and
slotToElicit is set to null.
In addition, Amazon Lex also returns your application-specific
. For more information, see Managing Conversation Context