Skip to content

Commit

Permalink
feat(client-connect): Adds support for WhatsApp Business messaging, I…
Browse files Browse the repository at this point in the history
…VR call recording, enabling Contact Lens for existing on-premise contact centers and telephony platforms, and enabling telephony and IVR migration to Amazon Connect independent of their contact center agents.
  • Loading branch information
awstools committed Dec 2, 2024
1 parent 224d5a7 commit f6492f5
Show file tree
Hide file tree
Showing 26 changed files with 636 additions and 233 deletions.
2 changes: 1 addition & 1 deletion clients/client-connect/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ touch with the appropriate agents.</p>
are also limits to the number of requests that you can make per second. For more information, see
<a href="https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-service-limits.html">Amazon Connect Service Quotas</a> in the <i>Amazon Connect Administrator
Guide</i>.</p>
<p>You can connect programmatically to an Amazon Web Services service by using an endpoint. For
<p>You can use an endpoint to connect programmatically to an Amazon Web Services service. For
a list of Amazon Connect endpoints, see <a href="https://docs.aws.amazon.com/general/latest/gr/connect_region.html">Amazon Connect Endpoints</a>.</p>

## Installing
Expand Down
2 changes: 1 addition & 1 deletion clients/client-connect/src/Connect.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5859,7 +5859,7 @@ export interface Connect {
* are also limits to the number of requests that you can make per second. For more information, see
* <a href="https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-service-limits.html">Amazon Connect Service Quotas</a> in the <i>Amazon Connect Administrator
* Guide</i>.</p>
* <p>You can connect programmatically to an Amazon Web Services service by using an endpoint. For
* <p>You can use an endpoint to connect programmatically to an Amazon Web Services service. For
* a list of Amazon Connect endpoints, see <a href="https://docs.aws.amazon.com/general/latest/gr/connect_region.html">Amazon Connect Endpoints</a>.</p>
* @public
*/
Expand Down
2 changes: 1 addition & 1 deletion clients/client-connect/src/ConnectClient.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1564,7 +1564,7 @@ export interface ConnectClientResolvedConfig extends ConnectClientResolvedConfig
* are also limits to the number of requests that you can make per second. For more information, see
* <a href="https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-service-limits.html">Amazon Connect Service Quotas</a> in the <i>Amazon Connect Administrator
* Guide</i>.</p>
* <p>You can connect programmatically to an Amazon Web Services service by using an endpoint. For
* <p>You can use an endpoint to connect programmatically to an Amazon Web Services service. For
* a list of Amazon Connect endpoints, see <a href="https://docs.aws.amazon.com/general/latest/gr/connect_region.html">Amazon Connect Endpoints</a>.</p>
* @public
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ export interface AssociateFlowCommandOutput extends AssociateFlowResponse, __Met
* InstanceId: "STRING_VALUE", // required
* ResourceId: "STRING_VALUE", // required
* FlowId: "STRING_VALUE", // required
* ResourceType: "SMS_PHONE_NUMBER" || "INBOUND_EMAIL" || "OUTBOUND_EMAIL", // required
* ResourceType: "SMS_PHONE_NUMBER" || "INBOUND_EMAIL" || "OUTBOUND_EMAIL" || "ANALYTICS_CONNECTOR" || "WHATSAPP_MESSAGING_PHONE_NUMBER", // required
* };
* const command = new AssociateFlowCommand(input);
* const response = await client.send(command);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ export interface BatchGetFlowAssociationCommandOutput extends BatchGetFlowAssoci
* ResourceIds: [ // resourceArnListMaxLimit100 // required
* "STRING_VALUE",
* ],
* ResourceType: "VOICE_PHONE_NUMBER" || "INBOUND_EMAIL" || "OUTBOUND_EMAIL",
* ResourceType: "WHATSAPP_MESSAGING_PHONE_NUMBER" || "VOICE_PHONE_NUMBER" || "INBOUND_EMAIL" || "OUTBOUND_EMAIL" || "ANALYTICS_CONNECTOR",
* };
* const command = new BatchGetFlowAssociationCommand(input);
* const response = await client.send(command);
Expand All @@ -49,7 +49,7 @@ export interface BatchGetFlowAssociationCommandOutput extends BatchGetFlowAssoci
* // { // FlowAssociationSummary
* // ResourceId: "STRING_VALUE",
* // FlowId: "STRING_VALUE",
* // ResourceType: "VOICE_PHONE_NUMBER" || "INBOUND_EMAIL" || "OUTBOUND_EMAIL",
* // ResourceType: "WHATSAPP_MESSAGING_PHONE_NUMBER" || "VOICE_PHONE_NUMBER" || "INBOUND_EMAIL" || "OUTBOUND_EMAIL" || "ANALYTICS_CONNECTOR",
* // },
* // ],
* // };
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ export interface CreateIntegrationAssociationCommandOutput
* const client = new ConnectClient(config);
* const input = { // CreateIntegrationAssociationRequest
* InstanceId: "STRING_VALUE", // required
* IntegrationType: "EVENT" || "VOICE_ID" || "PINPOINT_APP" || "WISDOM_ASSISTANT" || "WISDOM_KNOWLEDGE_BASE" || "WISDOM_QUICK_RESPONSES" || "Q_MESSAGE_TEMPLATES" || "CASES_DOMAIN" || "APPLICATION" || "FILE_SCANNER" || "SES_IDENTITY", // required
* IntegrationType: "EVENT" || "VOICE_ID" || "PINPOINT_APP" || "WISDOM_ASSISTANT" || "WISDOM_KNOWLEDGE_BASE" || "WISDOM_QUICK_RESPONSES" || "Q_MESSAGE_TEMPLATES" || "CASES_DOMAIN" || "APPLICATION" || "FILE_SCANNER" || "SES_IDENTITY" || "ANALYTICS_CONNECTOR" || "CALL_TRANSFER_CONNECTOR", // required
* IntegrationArn: "STRING_VALUE", // required
* SourceApplicationUrl: "STRING_VALUE",
* SourceApplicationName: "STRING_VALUE",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ export interface DescribePhoneNumberCommandOutput extends DescribePhoneNumberRes
* and you are calling this API in the alternate Amazon Web Services Region associated with the
* traffic distribution group, you must provide a full phone number ARN. If a UUID is provided
* in
* this scenario, you will receive a
* this scenario, you receive a
* <code>ResourceNotFoundException</code>.</p>
* </important>
* @example
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ export interface DisassociateFlowCommandOutput extends DisassociateFlowResponse,
* const input = { // DisassociateFlowRequest
* InstanceId: "STRING_VALUE", // required
* ResourceId: "STRING_VALUE", // required
* ResourceType: "SMS_PHONE_NUMBER" || "INBOUND_EMAIL" || "OUTBOUND_EMAIL", // required
* ResourceType: "SMS_PHONE_NUMBER" || "INBOUND_EMAIL" || "OUTBOUND_EMAIL" || "ANALYTICS_CONNECTOR" || "WHATSAPP_MESSAGING_PHONE_NUMBER", // required
* };
* const command = new DisassociateFlowCommand(input);
* const response = await client.send(command);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,14 +38,14 @@ export interface GetFlowAssociationCommandOutput extends GetFlowAssociationRespo
* const input = { // GetFlowAssociationRequest
* InstanceId: "STRING_VALUE", // required
* ResourceId: "STRING_VALUE", // required
* ResourceType: "SMS_PHONE_NUMBER" || "INBOUND_EMAIL" || "OUTBOUND_EMAIL", // required
* ResourceType: "SMS_PHONE_NUMBER" || "INBOUND_EMAIL" || "OUTBOUND_EMAIL" || "ANALYTICS_CONNECTOR" || "WHATSAPP_MESSAGING_PHONE_NUMBER", // required
* };
* const command = new GetFlowAssociationCommand(input);
* const response = await client.send(command);
* // { // GetFlowAssociationResponse
* // ResourceId: "STRING_VALUE",
* // FlowId: "STRING_VALUE",
* // ResourceType: "SMS_PHONE_NUMBER" || "INBOUND_EMAIL" || "OUTBOUND_EMAIL",
* // ResourceType: "SMS_PHONE_NUMBER" || "INBOUND_EMAIL" || "OUTBOUND_EMAIL" || "ANALYTICS_CONNECTOR" || "WHATSAPP_MESSAGING_PHONE_NUMBER",
* // };
*
* ```
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ export interface ImportPhoneNumberCommandInput extends ImportPhoneNumberRequest
export interface ImportPhoneNumberCommandOutput extends ImportPhoneNumberResponse, __MetadataBearer {}

/**
* <p>Imports a claimed phone number from an external service, such as Amazon Pinpoint, into an
* <p>Imports a claimed phone number from an external service, such as Amazon Web Services End User Messaging, into an
* Amazon Connect instance. You can call this API only in the same Amazon Web Services Region
* where the Amazon Connect instance was created.</p>
* <important>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ export interface ListFlowAssociationsCommandOutput extends ListFlowAssociationsR
* const client = new ConnectClient(config);
* const input = { // ListFlowAssociationsRequest
* InstanceId: "STRING_VALUE", // required
* ResourceType: "VOICE_PHONE_NUMBER" || "INBOUND_EMAIL" || "OUTBOUND_EMAIL",
* ResourceType: "WHATSAPP_MESSAGING_PHONE_NUMBER" || "VOICE_PHONE_NUMBER" || "INBOUND_EMAIL" || "OUTBOUND_EMAIL" || "ANALYTICS_CONNECTOR",
* NextToken: "STRING_VALUE",
* MaxResults: Number("int"),
* };
Expand All @@ -48,7 +48,7 @@ export interface ListFlowAssociationsCommandOutput extends ListFlowAssociationsR
* // { // FlowAssociationSummary
* // ResourceId: "STRING_VALUE",
* // FlowId: "STRING_VALUE",
* // ResourceType: "VOICE_PHONE_NUMBER" || "INBOUND_EMAIL" || "OUTBOUND_EMAIL",
* // ResourceType: "WHATSAPP_MESSAGING_PHONE_NUMBER" || "VOICE_PHONE_NUMBER" || "INBOUND_EMAIL" || "OUTBOUND_EMAIL" || "ANALYTICS_CONNECTOR",
* // },
* // ],
* // NextToken: "STRING_VALUE",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ export interface ListIntegrationAssociationsCommandOutput
* const client = new ConnectClient(config);
* const input = { // ListIntegrationAssociationsRequest
* InstanceId: "STRING_VALUE", // required
* IntegrationType: "EVENT" || "VOICE_ID" || "PINPOINT_APP" || "WISDOM_ASSISTANT" || "WISDOM_KNOWLEDGE_BASE" || "WISDOM_QUICK_RESPONSES" || "Q_MESSAGE_TEMPLATES" || "CASES_DOMAIN" || "APPLICATION" || "FILE_SCANNER" || "SES_IDENTITY",
* IntegrationType: "EVENT" || "VOICE_ID" || "PINPOINT_APP" || "WISDOM_ASSISTANT" || "WISDOM_KNOWLEDGE_BASE" || "WISDOM_QUICK_RESPONSES" || "Q_MESSAGE_TEMPLATES" || "CASES_DOMAIN" || "APPLICATION" || "FILE_SCANNER" || "SES_IDENTITY" || "ANALYTICS_CONNECTOR" || "CALL_TRANSFER_CONNECTOR",
* NextToken: "STRING_VALUE",
* MaxResults: Number("int"),
* IntegrationArn: "STRING_VALUE",
Expand All @@ -56,7 +56,7 @@ export interface ListIntegrationAssociationsCommandOutput
* // IntegrationAssociationId: "STRING_VALUE",
* // IntegrationAssociationArn: "STRING_VALUE",
* // InstanceId: "STRING_VALUE",
* // IntegrationType: "EVENT" || "VOICE_ID" || "PINPOINT_APP" || "WISDOM_ASSISTANT" || "WISDOM_KNOWLEDGE_BASE" || "WISDOM_QUICK_RESPONSES" || "Q_MESSAGE_TEMPLATES" || "CASES_DOMAIN" || "APPLICATION" || "FILE_SCANNER" || "SES_IDENTITY",
* // IntegrationType: "EVENT" || "VOICE_ID" || "PINPOINT_APP" || "WISDOM_ASSISTANT" || "WISDOM_KNOWLEDGE_BASE" || "WISDOM_QUICK_RESPONSES" || "Q_MESSAGE_TEMPLATES" || "CASES_DOMAIN" || "APPLICATION" || "FILE_SCANNER" || "SES_IDENTITY" || "ANALYTICS_CONNECTOR" || "CALL_TRANSFER_CONNECTOR",
* // IntegrationArn: "STRING_VALUE",
* // SourceApplicationUrl: "STRING_VALUE",
* // SourceApplicationName: "STRING_VALUE",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ export interface ResumeContactRecordingCommandOutput extends ResumeContactRecord
* InstanceId: "STRING_VALUE", // required
* ContactId: "STRING_VALUE", // required
* InitialContactId: "STRING_VALUE", // required
* ContactRecordingType: "AGENT" || "IVR" || "SCREEN",
* };
* const command = new ResumeContactRecordingCommand(input);
* const response = await client.send(command);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ export interface SendChatIntegrationEventCommandOutput extends SendChatIntegrati
* </ul>
* <p>When a chat integration event is sent with chat identifiers that do not map to an active
* chat contact, a new chat contact is also created before handling chat action. </p>
* <p>Access to this API is currently restricted to Amazon Pinpoint for supporting SMS
* <p>Access to this API is currently restricted to Amazon Web Services End User Messaging for supporting SMS
* integration. </p>
* @example
* Use a bare-bones client and the command you need to make an API call.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@ export interface StartContactRecordingCommandOutput extends StartContactRecordin
* InitialContactId: "STRING_VALUE", // required
* VoiceRecordingConfiguration: { // VoiceRecordingConfiguration
* VoiceRecordingTrack: "FROM_AGENT" || "TO_AGENT" || "ALL",
* IvrRecordingTrack: "ALL",
* },
* };
* const command = new StartContactRecordingCommand(input);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,13 +30,13 @@ export interface StartOutboundChatContactCommandOutput extends StartOutboundChat

/**
* <p>Initiates a new outbound SMS contact to a customer. Response of this API provides the
* ContactId of the outbound SMS contact created.</p>
* <code>ContactId</code> of the outbound SMS contact created.</p>
* <p>
* <b>SourceEndpoint</b> only supports Endpoints with
* <code>CONNECT_PHONENUMBER_ARN</code> as Type and <b>DestinationEndpoint</b> only supports Endpoints with <code>TELEPHONE_NUMBER</code> as
* Type. <b>ContactFlowId</b> initiates the flow to manage the new SMS
* contact created.</p>
* <p>This API can be used to initiate outbound SMS contacts for an agent or it can also deflect
* <p>This API can be used to initiate outbound SMS contacts for an agent, or it can also deflect
* an ongoing contact to an outbound SMS contact by using the <a href="https://docs.aws.amazon.com/connect/latest/APIReference/API_StartOutboundChatContact.html">StartOutboundChatContact</a> Flow Action.</p>
* <p>For more information about using SMS in Amazon Connect, see the following topics in the
* <i>Amazon Connect Administrator Guide</i>:</p>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ export interface StopContactRecordingCommandOutput extends StopContactRecordingR
* InstanceId: "STRING_VALUE", // required
* ContactId: "STRING_VALUE", // required
* InitialContactId: "STRING_VALUE", // required
* ContactRecordingType: "AGENT" || "IVR" || "SCREEN",
* };
* const command = new StopContactRecordingCommand(input);
* const response = await client.send(command);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ export interface SuspendContactRecordingCommandOutput extends SuspendContactReco
* InstanceId: "STRING_VALUE", // required
* ContactId: "STRING_VALUE", // required
* InitialContactId: "STRING_VALUE", // required
* ContactRecordingType: "AGENT" || "IVR" || "SCREEN",
* };
* const command = new SuspendContactRecordingCommand(input);
* const response = await client.send(command);
Expand Down
21 changes: 21 additions & 0 deletions clients/client-connect/src/commands/UpdateContactCommand.ts
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,20 @@ export interface UpdateContactCommandOutput extends UpdateContactResponse, __Met
* ValueInteger: Number("int"),
* },
* },
* QueueInfo: { // QueueInfoInput
* Id: "STRING_VALUE",
* },
* UserInfo: { // UserInfo
* UserId: "STRING_VALUE",
* },
* CustomerEndpoint: { // Endpoint
* Type: "TELEPHONE_NUMBER" || "VOIP" || "CONTACT_FLOW" || "CONNECT_PHONENUMBER_ARN" || "EMAIL_ADDRESS",
* Address: "STRING_VALUE",
* },
* SystemEndpoint: {
* Type: "TELEPHONE_NUMBER" || "VOIP" || "CONTACT_FLOW" || "CONNECT_PHONENUMBER_ARN" || "EMAIL_ADDRESS",
* Address: "STRING_VALUE",
* },
* };
* const command = new UpdateContactCommand(input);
* const response = await client.send(command);
Expand All @@ -84,6 +98,13 @@ export interface UpdateContactCommandOutput extends UpdateContactResponse, __Met
* @see {@link UpdateContactCommandOutput} for command's `response` shape.
* @see {@link ConnectClientResolvedConfig | config} for ConnectClient's `config` shape.
*
* @throws {@link AccessDeniedException} (client fault)
* <p>You do not have sufficient permissions to perform this action.</p>
*
* @throws {@link ConflictException} (client fault)
* <p>Operation cannot be performed at this time as there is a conflict with another operation or
* contact state.</p>
*
* @throws {@link InternalServiceException} (server fault)
* <p>Request processing failed because of an error or failure with the service.</p>
*
Expand Down
2 changes: 1 addition & 1 deletion clients/client-connect/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
* are also limits to the number of requests that you can make per second. For more information, see
* <a href="https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-service-limits.html">Amazon Connect Service Quotas</a> in the <i>Amazon Connect Administrator
* Guide</i>.</p>
* <p>You can connect programmatically to an Amazon Web Services service by using an endpoint. For
* <p>You can use an endpoint to connect programmatically to an Amazon Web Services service. For
* a list of Amazon Connect endpoints, see <a href="https://docs.aws.amazon.com/general/latest/gr/connect_region.html">Amazon Connect Endpoints</a>.</p>
*
* @packageDocumentation
Expand Down
28 changes: 27 additions & 1 deletion clients/client-connect/src/models/models_0.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1424,9 +1424,11 @@ export interface AssociateDefaultVocabularyResponse {}
* @enum
*/
export const FlowAssociationResourceType = {
ANALYTICS_CONNECTOR: "ANALYTICS_CONNECTOR",
INBOUND_EMAIL: "INBOUND_EMAIL",
OUTBOUND_EMAIL: "OUTBOUND_EMAIL",
SMS_PHONE_NUMBER: "SMS_PHONE_NUMBER",
WHATSAPP_MESSAGING_PHONE_NUMBER: "WHATSAPP_MESSAGING_PHONE_NUMBER",
} as const;

/**
Expand All @@ -1447,6 +1449,16 @@ export interface AssociateFlowRequest {

/**
* <p>The identifier of the resource.</p>
* <ul>
* <li>
* <p>Amazon Web Services End User Messaging SMS phone number ARN when using <code>SMS_PHONE_NUMBER</code>
* </p>
* </li>
* <li>
* <p>Amazon Web Services End User Messaging Social phone number ARN when using <code>WHATSAPP_MESSAGING_PHONE_NUMBER</code>
* </p>
* </li>
* </ul>
* @public
*/
ResourceId: string | undefined;
Expand Down Expand Up @@ -2348,9 +2360,11 @@ export interface BatchGetAttachedFileMetadataResponse {
* @enum
*/
export const ListFlowAssociationResourceType = {
ANALYTICS_CONNECTOR: "ANALYTICS_CONNECTOR",
INBOUND_EMAIL: "INBOUND_EMAIL",
OUTBOUND_EMAIL: "OUTBOUND_EMAIL",
VOICE_PHONE_NUMBER: "VOICE_PHONE_NUMBER",
WHATSAPP_MESSAGING_PHONE_NUMBER: "WHATSAPP_MESSAGING_PHONE_NUMBER",
} as const;

/**
Expand All @@ -2371,6 +2385,16 @@ export interface BatchGetFlowAssociationRequest {

/**
* <p>A list of resource identifiers to retrieve flow associations.</p>
* <ul>
* <li>
* <p>Amazon Web Services End User Messaging SMS phone number ARN when using <code>SMS_PHONE_NUMBER</code>
* </p>
* </li>
* <li>
* <p>Amazon Web Services End User Messaging Social phone number ARN when using <code>WHATSAPP_MESSAGING_PHONE_NUMBER</code>
* </p>
* </li>
* </ul>
* @public
*/
ResourceIds: string[] | undefined;
Expand Down Expand Up @@ -4030,7 +4054,9 @@ export interface CreateInstanceResponse {
* @enum
*/
export const IntegrationType = {
ANALYTICS_CONNECTOR: "ANALYTICS_CONNECTOR",
APPLICATION: "APPLICATION",
CALL_TRANSFER_CONNECTOR: "CALL_TRANSFER_CONNECTOR",
CASES_DOMAIN: "CASES_DOMAIN",
EVENT: "EVENT",
FILE_SCANNER: "FILE_SCANNER",
Expand Down Expand Up @@ -4082,7 +4108,7 @@ export interface CreateIntegrationAssociationRequest {
/**
* <p>The Amazon Resource Name (ARN) of the integration.</p>
* <note>
* <p>When integrating with Amazon Pinpoint, the Amazon Connect and Amazon Pinpoint
* <p>When integrating with Amazon Web Services End User Messaging, the Amazon Connect and Amazon Web Services End User Messaging
* instances must be in the same account.</p>
* </note>
* @public
Expand Down
Loading

0 comments on commit f6492f5

Please sign in to comment.