/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.lexruntimev2; import javax.annotation.Generated; import com.amazonaws.*; import com.amazonaws.regions.*; import com.amazonaws.services.lexruntimev2.model.*; /** * Interface for accessing Lex Runtime V2. *

* Note: Do not directly implement this interface, new methods are added to it regularly. Extend from * {@link com.amazonaws.services.lexruntimev2.AbstractAmazonLexRuntimeV2} instead. *

*

*

* This section contains documentation for the Amazon Lex V2 Runtime V2 API operations. *

*/ @Generated("com.amazonaws:aws-java-sdk-code-generator") public interface AmazonLexRuntimeV2 { /** * The region metadata service name for computing region endpoints. You can use this value to retrieve metadata * (such as supported regions) of the service. * * @see RegionUtils#getRegionsForService(String) */ String ENDPOINT_PREFIX = "runtime-v2-lex"; /** *

* Removes session information for a specified bot, alias, and user ID. *

*

* You can use this operation to restart a conversation with a bot. When you remove a session, the entire history of * the session is removed so that you can start again. *

*

* You don't need to delete a session. Sessions have a time limit and will expire. Set the session time limit when * you create the bot. The default is 5 minutes, but you can specify anything between 1 minute and 24 hours. *

*

* If you specify a bot or alias ID that doesn't exist, you receive a BadRequestException. *

*

* If the locale doesn't exist in the bot, or if the locale hasn't been enables for the alias, you receive a * BadRequestException. *

* * @param deleteSessionRequest * @return Result of the DeleteSession operation returned by the service. * @throws AccessDeniedException * @throws ResourceNotFoundException * @throws ValidationException * @throws ThrottlingException * @throws InternalServerException * @throws ConflictException * @sample AmazonLexRuntimeV2.DeleteSession * @see AWS * API Documentation */ DeleteSessionResult deleteSession(DeleteSessionRequest deleteSessionRequest); /** *

* Returns session information for a specified bot, alias, and user. *

*

* For example, you can use this operation to retrieve session information for a user that has left a long-running * session in use. *

*

* If the bot, alias, or session identifier doesn't exist, Amazon Lex V2 returns a BadRequestException. * If the locale doesn't exist or is not enabled for the alias, you receive a BadRequestException. *

* * @param getSessionRequest * @return Result of the GetSession operation returned by the service. * @throws AccessDeniedException * @throws ResourceNotFoundException * @throws ValidationException * @throws ThrottlingException * @throws InternalServerException * @sample AmazonLexRuntimeV2.GetSession * @see AWS API * Documentation */ GetSessionResult getSession(GetSessionRequest getSessionRequest); /** *

* Creates a new session or modifies an existing session with an Amazon Lex V2 bot. Use this operation to enable * your application to set the state of the bot. *

* * @param putSessionRequest * @return Result of the PutSession operation returned by the service. * @throws AccessDeniedException * @throws ResourceNotFoundException * @throws ValidationException * @throws ThrottlingException * @throws InternalServerException * @throws ConflictException * @throws DependencyFailedException * @throws BadGatewayException * @sample AmazonLexRuntimeV2.PutSession * @see AWS API * Documentation */ PutSessionResult putSession(PutSessionRequest putSessionRequest); /** *

* Sends user input to Amazon Lex V2. Client applications use this API to send requests to Amazon Lex V2 at runtime. * Amazon Lex V2 then interprets the user input using the machine learning model that it build for the bot. *

*

* In response, Amazon Lex V2 returns the next message to convey to the user and an optional response card to * display. *

*

* If the optional post-fulfillment response is specified, the messages are returned as follows. For more * information, see PostFulfillmentStatusSpecification. *

* *

* For more information, see Completion * message. *

* * @param recognizeTextRequest * @return Result of the RecognizeText operation returned by the service. * @throws AccessDeniedException * @throws ResourceNotFoundException * @throws ValidationException * @throws ThrottlingException * @throws InternalServerException * @throws ConflictException * @throws DependencyFailedException * @throws BadGatewayException * @sample AmazonLexRuntimeV2.RecognizeText * @see AWS * API Documentation */ RecognizeTextResult recognizeText(RecognizeTextRequest recognizeTextRequest); /** *

* Sends user input to Amazon Lex V2. You can send text or speech. Clients use this API to send text and audio * requests to Amazon Lex V2 at runtime. Amazon Lex V2 interprets the user input using the machine learning model * built for the bot. *

*

* The following request fields must be compressed with gzip and then base64 encoded before you send them to Amazon * Lex V2. *

* *

* The following response fields are compressed using gzip and then base64 encoded by Amazon Lex V2. Before you can * use these fields, you must decode and decompress them. *

* *

* The example contains a Java application that compresses and encodes a Java object to send to Amazon Lex V2, and a * second that decodes and decompresses a response from Amazon Lex V2. *

*

* If the optional post-fulfillment response is specified, the messages are returned as follows. For more * information, see PostFulfillmentStatusSpecification. *

* *

* For more information, see Completion * message. *

* * @param recognizeUtteranceRequest * @return Result of the RecognizeUtterance operation returned by the service. * @throws AccessDeniedException * @throws ResourceNotFoundException * @throws ValidationException * @throws ThrottlingException * @throws InternalServerException * @throws ConflictException * @throws DependencyFailedException * @throws BadGatewayException * @sample AmazonLexRuntimeV2.RecognizeUtterance * @see AWS API Documentation */ RecognizeUtteranceResult recognizeUtterance(RecognizeUtteranceRequest recognizeUtteranceRequest); /** * Shuts down this client object, releasing any resources that might be held open. This is an optional method, and * callers are not expected to call it, but can if they want to explicitly release any open resources. Once a client * has been shutdown, it should not be used to make any more requests. */ void shutdown(); /** * Returns additional metadata for a previously executed successful request, typically used for debugging issues * where a service isn't acting as expected. This data isn't considered part of the result data returned by an * operation, so it's available through this separate, diagnostic interface. *

* Response metadata is only cached for a limited period of time, so if you need to access this extra diagnostic * information for an executed request, you should use this method to retrieve it as soon as possible after * executing a request. * * @param request * The originally executed request. * * @return The response metadata for the specified request, or null if none is available. */ ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request); }