/* * 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.connectwisdom; import javax.annotation.Generated; import com.amazonaws.*; import com.amazonaws.regions.*; import com.amazonaws.services.connectwisdom.model.*; /** * Interface for accessing Amazon Connect Wisdom Service. *
* Note: Do not directly implement this interface, new methods are added to it regularly. Extend from * {@link com.amazonaws.services.connectwisdom.AbstractAmazonConnectWisdom} instead. *
**
* Amazon Connect Wisdom delivers agents the information they need to solve customer issues as they're actively speaking * with customers. Agents can search across connected repositories from within their agent desktop to find answers * quickly. Use Amazon Connect Wisdom to create an assistant and a knowledge base, for example, or manage content by * uploading custom files. *
*/ @Generated("com.amazonaws:aws-java-sdk-code-generator") public interface AmazonConnectWisdom { /** * 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 = "wisdom"; /** ** Creates an Amazon Connect Wisdom assistant. *
* * @param createAssistantRequest * @return Result of the CreateAssistant operation returned by the service. * @throws ConflictException * The request could not be processed because of conflict in the current state of the resource. For example, * if you're using aCreate
API (such as CreateAssistant
) that accepts name, a
* conflicting resource (usually with the same name) is being created or mutated.
* @throws ValidationException
* The input fails to satisfy the constraints specified by a service.
* @throws ServiceQuotaExceededException
* You've exceeded your service quota. To perform the requested action, remove some of the relevant
* resources, or use service quotas to request a service quota increase.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @sample AmazonConnectWisdom.CreateAssistant
* @see AWS API
* Documentation
*/
CreateAssistantResult createAssistant(CreateAssistantRequest createAssistantRequest);
/**
* * Creates an association between an Amazon Connect Wisdom assistant and another resource. Currently, the only * supported association is with a knowledge base. An assistant can have only a single association. *
* * @param createAssistantAssociationRequest * @return Result of the CreateAssistantAssociation operation returned by the service. * @throws ConflictException * The request could not be processed because of conflict in the current state of the resource. For example, * if you're using aCreate
API (such as CreateAssistant
) that accepts name, a
* conflicting resource (usually with the same name) is being created or mutated.
* @throws ValidationException
* The input fails to satisfy the constraints specified by a service.
* @throws ServiceQuotaExceededException
* You've exceeded your service quota. To perform the requested action, remove some of the relevant
* resources, or use service quotas to request a service quota increase.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @throws ResourceNotFoundException
* The specified resource does not exist.
* @sample AmazonConnectWisdom.CreateAssistantAssociation
* @see AWS API Documentation
*/
CreateAssistantAssociationResult createAssistantAssociation(CreateAssistantAssociationRequest createAssistantAssociationRequest);
/**
* * Creates Wisdom content. Before to calling this API, use StartContentUpload * to upload an asset. *
* * @param createContentRequest * @return Result of the CreateContent operation returned by the service. * @throws ConflictException * The request could not be processed because of conflict in the current state of the resource. For example, * if you're using aCreate
API (such as CreateAssistant
) that accepts name, a
* conflicting resource (usually with the same name) is being created or mutated.
* @throws ValidationException
* The input fails to satisfy the constraints specified by a service.
* @throws ServiceQuotaExceededException
* You've exceeded your service quota. To perform the requested action, remove some of the relevant
* resources, or use service quotas to request a service quota increase.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @throws ResourceNotFoundException
* The specified resource does not exist.
* @sample AmazonConnectWisdom.CreateContent
* @see AWS API
* Documentation
*/
CreateContentResult createContent(CreateContentRequest createContentRequest);
/**
* * Creates a knowledge base. *
*
* When using this API, you cannot reuse Amazon AppIntegrations
* DataIntegrations with external knowledge bases such as Salesforce and ServiceNow. If you do, you'll get an
* InvalidRequestException
error.
*
* For example, you're programmatically managing your external knowledge base, and you want to add or remove one of * the fields that is being ingested from Salesforce. Do the following: *
** Call DeleteKnowledgeBase * . *
** Call * DeleteDataIntegration. *
** Call * CreateDataIntegration to recreate the DataIntegration or a create different one. *
** Call CreateKnowledgeBase. *
*Create
API (such as CreateAssistant
) that accepts name, a
* conflicting resource (usually with the same name) is being created or mutated.
* @throws ValidationException
* The input fails to satisfy the constraints specified by a service.
* @throws ServiceQuotaExceededException
* You've exceeded your service quota. To perform the requested action, remove some of the relevant
* resources, or use service quotas to request a service quota increase.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @sample AmazonConnectWisdom.CreateKnowledgeBase
* @see AWS API
* Documentation
*/
CreateKnowledgeBaseResult createKnowledgeBase(CreateKnowledgeBaseRequest createKnowledgeBaseRequest);
/**
* * Creates a session. A session is a contextual container used for generating recommendations. Amazon Connect * creates a new Wisdom session for each contact on which Wisdom is enabled. *
* * @param createSessionRequest * @return Result of the CreateSession operation returned by the service. * @throws ConflictException * The request could not be processed because of conflict in the current state of the resource. For example, * if you're using aCreate
API (such as CreateAssistant
) that accepts name, a
* conflicting resource (usually with the same name) is being created or mutated.
* @throws ValidationException
* The input fails to satisfy the constraints specified by a service.
* @throws ResourceNotFoundException
* The specified resource does not exist.
* @sample AmazonConnectWisdom.CreateSession
* @see AWS API
* Documentation
*/
CreateSessionResult createSession(CreateSessionRequest createSessionRequest);
/**
* * Deletes an assistant. *
* * @param deleteAssistantRequest * @return Result of the DeleteAssistant operation returned by the service. * @throws ValidationException * The input fails to satisfy the constraints specified by a service. * @throws AccessDeniedException * You do not have sufficient access to perform this action. * @throws ResourceNotFoundException * The specified resource does not exist. * @sample AmazonConnectWisdom.DeleteAssistant * @see AWS API * Documentation */ DeleteAssistantResult deleteAssistant(DeleteAssistantRequest deleteAssistantRequest); /** ** Deletes an assistant association. *
* * @param deleteAssistantAssociationRequest * @return Result of the DeleteAssistantAssociation operation returned by the service. * @throws ValidationException * The input fails to satisfy the constraints specified by a service. * @throws AccessDeniedException * You do not have sufficient access to perform this action. * @throws ResourceNotFoundException * The specified resource does not exist. * @sample AmazonConnectWisdom.DeleteAssistantAssociation * @see AWS API Documentation */ DeleteAssistantAssociationResult deleteAssistantAssociation(DeleteAssistantAssociationRequest deleteAssistantAssociationRequest); /** ** Deletes the content. *
* * @param deleteContentRequest * @return Result of the DeleteContent operation returned by the service. * @throws ValidationException * The input fails to satisfy the constraints specified by a service. * @throws AccessDeniedException * You do not have sufficient access to perform this action. * @throws ResourceNotFoundException * The specified resource does not exist. * @sample AmazonConnectWisdom.DeleteContent * @see AWS API * Documentation */ DeleteContentResult deleteContent(DeleteContentRequest deleteContentRequest); /** ** Deletes the knowledge base. *
** When you use this API to delete an external knowledge base such as Salesforce or ServiceNow, you must also delete * the Amazon * AppIntegrations DataIntegration. This is because you can't reuse the DataIntegration after it's been * associated with an external knowledge base. However, you can delete and recreate it. See DeleteDataIntegration and CreateDataIntegration in the Amazon AppIntegrations API Reference. *
*Create
API (such as CreateAssistant
) that accepts name, a
* conflicting resource (usually with the same name) is being created or mutated.
* @throws ValidationException
* The input fails to satisfy the constraints specified by a service.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @throws ResourceNotFoundException
* The specified resource does not exist.
* @sample AmazonConnectWisdom.DeleteKnowledgeBase
* @see AWS API
* Documentation
*/
DeleteKnowledgeBaseResult deleteKnowledgeBase(DeleteKnowledgeBaseRequest deleteKnowledgeBaseRequest);
/**
* * Retrieves information about an assistant. *
* * @param getAssistantRequest * @return Result of the GetAssistant operation returned by the service. * @throws ValidationException * The input fails to satisfy the constraints specified by a service. * @throws AccessDeniedException * You do not have sufficient access to perform this action. * @throws ResourceNotFoundException * The specified resource does not exist. * @sample AmazonConnectWisdom.GetAssistant * @see AWS API * Documentation */ GetAssistantResult getAssistant(GetAssistantRequest getAssistantRequest); /** ** Retrieves information about an assistant association. *
* * @param getAssistantAssociationRequest * @return Result of the GetAssistantAssociation operation returned by the service. * @throws ValidationException * The input fails to satisfy the constraints specified by a service. * @throws AccessDeniedException * You do not have sufficient access to perform this action. * @throws ResourceNotFoundException * The specified resource does not exist. * @sample AmazonConnectWisdom.GetAssistantAssociation * @see AWS * API Documentation */ GetAssistantAssociationResult getAssistantAssociation(GetAssistantAssociationRequest getAssistantAssociationRequest); /** ** Retrieves content, including a pre-signed URL to download the content. *
* * @param getContentRequest * @return Result of the GetContent operation returned by the service. * @throws ValidationException * The input fails to satisfy the constraints specified by a service. * @throws AccessDeniedException * You do not have sufficient access to perform this action. * @throws ResourceNotFoundException * The specified resource does not exist. * @sample AmazonConnectWisdom.GetContent * @see AWS API * Documentation */ GetContentResult getContent(GetContentRequest getContentRequest); /** ** Retrieves summary information about the content. *
* * @param getContentSummaryRequest * @return Result of the GetContentSummary operation returned by the service. * @throws ValidationException * The input fails to satisfy the constraints specified by a service. * @throws AccessDeniedException * You do not have sufficient access to perform this action. * @throws ResourceNotFoundException * The specified resource does not exist. * @sample AmazonConnectWisdom.GetContentSummary * @see AWS API * Documentation */ GetContentSummaryResult getContentSummary(GetContentSummaryRequest getContentSummaryRequest); /** ** Retrieves information about the knowledge base. *
* * @param getKnowledgeBaseRequest * @return Result of the GetKnowledgeBase operation returned by the service. * @throws ValidationException * The input fails to satisfy the constraints specified by a service. * @throws AccessDeniedException * You do not have sufficient access to perform this action. * @throws ResourceNotFoundException * The specified resource does not exist. * @sample AmazonConnectWisdom.GetKnowledgeBase * @see AWS API * Documentation */ GetKnowledgeBaseResult getKnowledgeBase(GetKnowledgeBaseRequest getKnowledgeBaseRequest); /** *
* Retrieves recommendations for the specified session. To avoid retrieving the same recommendations in subsequent
* calls, use NotifyRecommendationsReceived. This API supports long-polling behavior with the waitTimeSeconds
* parameter. Short poll is the default behavior and only returns recommendations already available. To perform a
* manual query against an assistant, use QueryAssistant.
*
* Retrieves information for a specified session. *
* * @param getSessionRequest * @return Result of the GetSession operation returned by the service. * @throws ValidationException * The input fails to satisfy the constraints specified by a service. * @throws AccessDeniedException * You do not have sufficient access to perform this action. * @throws ResourceNotFoundException * The specified resource does not exist. * @sample AmazonConnectWisdom.GetSession * @see AWS API * Documentation */ GetSessionResult getSession(GetSessionRequest getSessionRequest); /** ** Lists information about assistant associations. *
* * @param listAssistantAssociationsRequest * @return Result of the ListAssistantAssociations operation returned by the service. * @throws ValidationException * The input fails to satisfy the constraints specified by a service. * @throws AccessDeniedException * You do not have sufficient access to perform this action. * @throws ResourceNotFoundException * The specified resource does not exist. * @sample AmazonConnectWisdom.ListAssistantAssociations * @see AWS API Documentation */ ListAssistantAssociationsResult listAssistantAssociations(ListAssistantAssociationsRequest listAssistantAssociationsRequest); /** ** Lists information about assistants. *
* * @param listAssistantsRequest * @return Result of the ListAssistants operation returned by the service. * @throws ValidationException * The input fails to satisfy the constraints specified by a service. * @throws AccessDeniedException * You do not have sufficient access to perform this action. * @sample AmazonConnectWisdom.ListAssistants * @see AWS API * Documentation */ ListAssistantsResult listAssistants(ListAssistantsRequest listAssistantsRequest); /** ** Lists the content. *
* * @param listContentsRequest * @return Result of the ListContents operation returned by the service. * @throws ValidationException * The input fails to satisfy the constraints specified by a service. * @throws AccessDeniedException * You do not have sufficient access to perform this action. * @throws ResourceNotFoundException * The specified resource does not exist. * @sample AmazonConnectWisdom.ListContents * @see AWS API * Documentation */ ListContentsResult listContents(ListContentsRequest listContentsRequest); /** ** Lists the knowledge bases. *
* * @param listKnowledgeBasesRequest * @return Result of the ListKnowledgeBases operation returned by the service. * @throws ValidationException * The input fails to satisfy the constraints specified by a service. * @throws AccessDeniedException * You do not have sufficient access to perform this action. * @sample AmazonConnectWisdom.ListKnowledgeBases * @see AWS API * Documentation */ ListKnowledgeBasesResult listKnowledgeBases(ListKnowledgeBasesRequest listKnowledgeBasesRequest); /** ** Lists the tags for the specified resource. *
* * @param listTagsForResourceRequest * @return Result of the ListTagsForResource operation returned by the service. * @throws ResourceNotFoundException * The specified resource does not exist. * @sample AmazonConnectWisdom.ListTagsForResource * @see AWS API * Documentation */ ListTagsForResourceResult listTagsForResource(ListTagsForResourceRequest listTagsForResourceRequest); /** *
* Removes the specified recommendations from the specified assistant's queue of newly available recommendations.
* You can use this API in conjunction with GetRecommendations
* and a waitTimeSeconds
input for long-polling behavior and avoiding duplicate recommendations.
*
* Performs a manual search against the specified assistant. To retrieve recommendations for an assistant, use GetRecommendations. *
* * @param queryAssistantRequest * @return Result of the QueryAssistant operation returned by the service. * @throws ValidationException * The input fails to satisfy the constraints specified by a service. * @throws AccessDeniedException * You do not have sufficient access to perform this action. * @throws ResourceNotFoundException * The specified resource does not exist. * @sample AmazonConnectWisdom.QueryAssistant * @see AWS API * Documentation */ QueryAssistantResult queryAssistant(QueryAssistantRequest queryAssistantRequest); /** ** Removes a URI template from a knowledge base. *
* * @param removeKnowledgeBaseTemplateUriRequest * @return Result of the RemoveKnowledgeBaseTemplateUri operation returned by the service. * @throws ValidationException * The input fails to satisfy the constraints specified by a service. * @throws AccessDeniedException * You do not have sufficient access to perform this action. * @throws ResourceNotFoundException * The specified resource does not exist. * @sample AmazonConnectWisdom.RemoveKnowledgeBaseTemplateUri * @see AWS API Documentation */ RemoveKnowledgeBaseTemplateUriResult removeKnowledgeBaseTemplateUri(RemoveKnowledgeBaseTemplateUriRequest removeKnowledgeBaseTemplateUriRequest); /** ** Searches for content in a specified knowledge base. Can be used to get a specific content resource by its name. *
* * @param searchContentRequest * @return Result of the SearchContent operation returned by the service. * @throws ValidationException * The input fails to satisfy the constraints specified by a service. * @throws AccessDeniedException * You do not have sufficient access to perform this action. * @throws ResourceNotFoundException * The specified resource does not exist. * @sample AmazonConnectWisdom.SearchContent * @see AWS API * Documentation */ SearchContentResult searchContent(SearchContentRequest searchContentRequest); /** ** Searches for sessions. *
* * @param searchSessionsRequest * @return Result of the SearchSessions operation returned by the service. * @throws ValidationException * The input fails to satisfy the constraints specified by a service. * @throws AccessDeniedException * You do not have sufficient access to perform this action. * @throws ResourceNotFoundException * The specified resource does not exist. * @sample AmazonConnectWisdom.SearchSessions * @see AWS API * Documentation */ SearchSessionsResult searchSessions(SearchSessionsRequest searchSessionsRequest); /** ** Get a URL to upload content to a knowledge base. To upload content, first make a PUT request to the returned URL * with your file, making sure to include the required headers. Then use CreateContent to * finalize the content creation process or UpdateContent to modify * an existing resource. You can only upload content to a knowledge base of type CUSTOM. *
* * @param startContentUploadRequest * @return Result of the StartContentUpload operation returned by the service. * @throws ValidationException * The input fails to satisfy the constraints specified by a service. * @throws AccessDeniedException * You do not have sufficient access to perform this action. * @throws ResourceNotFoundException * The specified resource does not exist. * @sample AmazonConnectWisdom.StartContentUpload * @see AWS API * Documentation */ StartContentUploadResult startContentUpload(StartContentUploadRequest startContentUploadRequest); /** ** Adds the specified tags to the specified resource. *
* * @param tagResourceRequest * @return Result of the TagResource operation returned by the service. * @throws TooManyTagsException * Amazon Connect Wisdom throws this exception if you have too many tags in your tag set. * @throws ResourceNotFoundException * The specified resource does not exist. * @sample AmazonConnectWisdom.TagResource * @see AWS API * Documentation */ TagResourceResult tagResource(TagResourceRequest tagResourceRequest); /** ** Removes the specified tags from the specified resource. *
* * @param untagResourceRequest * @return Result of the UntagResource operation returned by the service. * @throws ResourceNotFoundException * The specified resource does not exist. * @sample AmazonConnectWisdom.UntagResource * @see AWS API * Documentation */ UntagResourceResult untagResource(UntagResourceRequest untagResourceRequest); /** ** Updates information about the content. *
* * @param updateContentRequest * @return Result of the UpdateContent operation returned by the service. * @throws ValidationException * The input fails to satisfy the constraints specified by a service. * @throws AccessDeniedException * You do not have sufficient access to perform this action. * @throws PreconditionFailedException * The providedrevisionId
does not match, indicating the content has been modified since it
* was last read.
* @throws ResourceNotFoundException
* The specified resource does not exist.
* @sample AmazonConnectWisdom.UpdateContent
* @see AWS API
* Documentation
*/
UpdateContentResult updateContent(UpdateContentRequest updateContentRequest);
/**
*
* Updates the template URI of a knowledge base. This is only supported for knowledge bases of type EXTERNAL.
* Include a single variable in ${variable}
format; this interpolated by Wisdom using ingested content.
* For example, if you ingest a Salesforce article, it has an Id
value, and you can set the template
* URI to https://myInstanceName.lightning.force.com/lightning/r/Knowledge__kav/*${Id}*/view
.
*
* 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); }