Skip to content

Commit 528d060

Browse files
author
awstools
committed
feat(client-connect): Add support for contact transfers in external voice systems.
1 parent 3466124 commit 528d060

File tree

8 files changed

+49
-17
lines changed

8 files changed

+49
-17
lines changed

clients/client-connect/src/commands/CreateContactCommand.ts

+1
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@ export interface CreateContactCommandOutput extends CreateContactResponse, __Met
8080
* ValueInteger: Number("int"),
8181
* },
8282
* },
83+
* PreviousContactId: "STRING_VALUE",
8384
* };
8485
* const command = new CreateContactCommand(input);
8586
* const response = await client.send(command);

clients/client-connect/src/commands/DescribeContactCommand.ts

+4-3
Original file line numberDiff line numberDiff line change
@@ -35,12 +35,13 @@ export interface DescribeContactCommandOutput extends DescribeContactResponse, _
3535
* <ul>
3636
* <li>
3737
* <p>
38-
* <code>CustomerEndpoint</code> and <code>SystemEndpoint</code> are only populated for EMAIL contacts. </p>
38+
* <code>CustomerEndpoint</code> and <code>SystemEndpoint</code> are only populated for
39+
* EMAIL contacts. </p>
3940
* </li>
4041
* <li>
4142
* <p>Contact information remains available in Amazon Connect for 24 months from the
42-
* <code>InitiationTimestamp</code>, and then it is deleted. Only contact information that is available in
43-
* Amazon Connect is returned by this API.</p>
43+
* <code>InitiationTimestamp</code>, and then it is deleted. Only contact information that is
44+
* available in Amazon Connect is returned by this API.</p>
4445
* </li>
4546
* </ul>
4647
* </important>

clients/client-connect/src/commands/ListRealtimeContactAnalysisSegmentsV2Command.ts

+6-1
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,12 @@ export interface ListRealtimeContactAnalysisSegmentsV2CommandOutput
3737
__MetadataBearer {}
3838

3939
/**
40-
* <p>Provides a list of analysis segments for a real-time analysis session. </p>
40+
* <p>Provides a list of analysis segments for a real-time chat analysis session. This API
41+
* supports CHAT channels only. </p>
42+
* <important>
43+
* <p>This API does not support VOICE. If you attempt to use it for VOICE, an
44+
* <code>InvalidRequestException</code> occurs.</p>
45+
* </important>
4146
* @example
4247
* Use a bare-bones client and the command you need to make an API call.
4348
* ```javascript

clients/client-connect/src/commands/TransferContactCommand.ts

+5-4
Original file line numberDiff line numberDiff line change
@@ -28,15 +28,16 @@ export interface TransferContactCommandInput extends TransferContactRequest {}
2828
export interface TransferContactCommandOutput extends TransferContactResponse, __MetadataBearer {}
2929

3030
/**
31-
* <p>Transfers contacts from one agent or queue to another agent or queue at any point after a
32-
* contact is created. You can transfer a contact to another queue by providing the flow which
33-
* orchestrates the contact to the destination queue. This gives you more control over contact
31+
* <p>Transfers <code>TASK</code> or <code>EMAIL</code>
32+
* contacts from one agent or queue to another agent or queue at any point
33+
* after a contact is created. You can transfer a contact to another queue by providing the flow
34+
* which orchestrates the contact to the destination queue. This gives you more control over contact
3435
* handling and helps you adhere to the service level agreement (SLA) guaranteed to your
3536
* customers.</p>
3637
* <p>Note the following requirements:</p>
3738
* <ul>
3839
* <li>
39-
* <p>Transfer is supported for only <code>TASK</code> contacts.</p>
40+
* <p>Transfer is supported for only <code>TASK</code> and <code>EMAIL</code> contacts.</p>
4041
* </li>
4142
* <li>
4243
* <p>Do not use both <code>QueueId</code> and <code>UserId</code> in the same call.</p>

clients/client-connect/src/models/models_2.ts

+6-1
Original file line numberDiff line numberDiff line change
@@ -904,7 +904,12 @@ export type RealTimeContactAnalysisStatus =
904904
*/
905905
export interface ListRealtimeContactAnalysisSegmentsV2Response {
906906
/**
907-
* <p>The channel of the contact. <code>Voice</code> will not be returned. </p>
907+
* <p>The channel of the contact. </p>
908+
* <important>
909+
* <p>Only <code>CHAT</code> is supported. This API does not support <code>VOICE</code>. If you
910+
* attempt to use it for the VOICE channel, an <code>InvalidRequestException</code> error
911+
* occurs.</p>
912+
* </important>
908913
* @public
909914
*/
910915
Channel: RealTimeContactAnalysisSupportedChannel | undefined;

clients/client-connect/src/models/models_3.ts

+14-2
Original file line numberDiff line numberDiff line change
@@ -1078,7 +1078,8 @@ export interface CreateContactRequest {
10781078
ClientToken?: string | undefined;
10791079

10801080
/**
1081-
* <p>The identifier of the contact in this instance of Amazon Connect. </p>
1081+
* <p>The unique identifier for an Amazon Connect contact. This identifier is related to the
1082+
* contact starting.</p>
10821083
* @public
10831084
*/
10841085
RelatedContactId?: string | undefined;
@@ -1165,6 +1166,15 @@ export interface CreateContactRequest {
11651166
* @public
11661167
*/
11671168
SegmentAttributes?: Record<string, SegmentAttributeValue> | undefined;
1169+
1170+
/**
1171+
* <p>The ID of the previous contact when creating a transfer contact. This value can be provided
1172+
* only for external audio contacts. For more information, see <a href="https://docs.aws.amazon.com/connect/latest/adminguide/contact-lens-integration.html">Integrate Amazon Connect Contact Lens
1173+
* with external voice systems</a> in the <i>Amazon Connect Administrator
1174+
* Guide</i>.</p>
1175+
* @public
1176+
*/
1177+
PreviousContactId?: string | undefined;
11681178
}
11691179

11701180
/**
@@ -3159,7 +3169,9 @@ export interface Contact {
31593169
InitiationTimestamp?: Date | undefined;
31603170

31613171
/**
3162-
* <p>The timestamp when the customer endpoint disconnected from Amazon Connect.</p>
3172+
* <p>The date and time that the customer endpoint disconnected from the current contact, in UTC
3173+
* time. In transfer scenarios, the DisconnectTimestamp of the previous contact indicates the date
3174+
* and time when that contact ended.</p>
31633175
* @public
31643176
*/
31653177
DisconnectTimestamp?: Date | undefined;

clients/client-connect/src/protocols/Aws_restJson1.ts

+1
Original file line numberDiff line numberDiff line change
@@ -1725,6 +1725,7 @@ export const se_CreateContactCommand = async (
17251725
InitiationMethod: [],
17261726
InstanceId: [],
17271727
Name: [],
1728+
PreviousContactId: [],
17281729
References: (_) => _json(_),
17291730
RelatedContactId: [],
17301731
SegmentAttributes: (_) => se_SegmentAttributes(_, context),

codegen/sdk-codegen/aws-models/connect.json

+12-6
Original file line numberDiff line numberDiff line change
@@ -5726,7 +5726,7 @@
57265726
"DisconnectTimestamp": {
57275727
"target": "com.amazonaws.connect#Timestamp",
57285728
"traits": {
5729-
"smithy.api#documentation": "<p>The timestamp when the customer endpoint disconnected from Amazon Connect.</p>"
5729+
"smithy.api#documentation": "<p>The date and time that the customer endpoint disconnected from the current contact, in UTC\n time. In transfer scenarios, the DisconnectTimestamp of the previous contact indicates the date\n and time when that contact ended.</p>"
57305730
}
57315731
},
57325732
"LastUpdateTimestamp": {
@@ -7645,7 +7645,7 @@
76457645
"RelatedContactId": {
76467646
"target": "com.amazonaws.connect#ContactId",
76477647
"traits": {
7648-
"smithy.api#documentation": "<p>The identifier of the contact in this instance of Amazon Connect. </p>"
7648+
"smithy.api#documentation": "<p>The unique identifier for an Amazon Connect contact. This identifier is related to the\n contact starting.</p>"
76497649
}
76507650
},
76517651
"Attributes": {
@@ -7709,6 +7709,12 @@
77097709
"traits": {
77107710
"smithy.api#documentation": "<p>A set of system defined key-value pairs stored on individual contact segments (unique\n contact ID) using an attribute map. The attributes are standard Amazon Connect attributes.\n They can be accessed in flows.</p>\n <p>Attribute keys can include only alphanumeric, -, and _.</p>\n <p>This field can be used to set Segment Contact Expiry as a duration in minutes.</p>\n <note>\n <p>To set contact expiry, a ValueMap must be specified containing the integer number of\n minutes the contact will be active for before expiring, with <code>SegmentAttributes</code> like\n { <code> \"connect:ContactExpiry\": {\"ValueMap\" : { \"ExpiryDuration\": { \"ValueInteger\":\n 135}}}}</code>. </p>\n </note>"
77117711
}
7712+
},
7713+
"PreviousContactId": {
7714+
"target": "com.amazonaws.connect#ContactId",
7715+
"traits": {
7716+
"smithy.api#documentation": "<p>The ID of the previous contact when creating a transfer contact. This value can be provided\n only for external audio contacts. For more information, see <a href=\"https://docs.aws.amazon.com/connect/latest/adminguide/contact-lens-integration.html\">Integrate Amazon Connect Contact Lens\n with external voice systems</a> in the <i>Amazon Connect Administrator\n Guide</i>.</p>"
7717+
}
77127718
}
77137719
},
77147720
"traits": {
@@ -12860,7 +12866,7 @@
1286012866
}
1286112867
],
1286212868
"traits": {
12863-
"smithy.api#documentation": "<p>This API is in preview release for Amazon Connect and is subject to change.</p>\n <p>Describes the specified contact. </p>\n <important>\n <ul>\n <li>\n <p>\n <code>CustomerEndpoint</code> and <code>SystemEndpoint</code> are only populated for EMAIL contacts. </p>\n </li>\n <li>\n <p>Contact information remains available in Amazon Connect for 24 months from the\n <code>InitiationTimestamp</code>, and then it is deleted. Only contact information that is available in\n Amazon Connect is returned by this API.</p>\n </li>\n </ul>\n </important>",
12869+
"smithy.api#documentation": "<p>This API is in preview release for Amazon Connect and is subject to change.</p>\n <p>Describes the specified contact. </p>\n <important>\n <ul>\n <li>\n <p>\n <code>CustomerEndpoint</code> and <code>SystemEndpoint</code> are only populated for\n EMAIL contacts. </p>\n </li>\n <li>\n <p>Contact information remains available in Amazon Connect for 24 months from the\n <code>InitiationTimestamp</code>, and then it is deleted. Only contact information that is\n available in Amazon Connect is returned by this API.</p>\n </li>\n </ul>\n </important>",
1286412870
"smithy.api#http": {
1286512871
"method": "GET",
1286612872
"uri": "/contacts/{InstanceId}/{ContactId}",
@@ -25244,7 +25250,7 @@
2524425250
}
2524525251
],
2524625252
"traits": {
25247-
"smithy.api#documentation": "<p>Provides a list of analysis segments for a real-time analysis session. </p>",
25253+
"smithy.api#documentation": "<p>Provides a list of analysis segments for a real-time chat analysis session. This API\n supports CHAT channels only. </p>\n <important>\n <p>This API does not support VOICE. If you attempt to use it for VOICE, an\n <code>InvalidRequestException</code> occurs.</p>\n </important>",
2524825254
"smithy.api#http": {
2524925255
"method": "POST",
2525025256
"uri": "/contact/list-real-time-analysis-segments-v2/{InstanceId}/{ContactId}",
@@ -25313,7 +25319,7 @@
2531325319
"Channel": {
2531425320
"target": "com.amazonaws.connect#RealTimeContactAnalysisSupportedChannel",
2531525321
"traits": {
25316-
"smithy.api#documentation": "<p>The channel of the contact. <code>Voice</code> will not be returned. </p>",
25322+
"smithy.api#documentation": "<p>The channel of the contact. </p>\n <important>\n <p>Only <code>CHAT</code> is supported. This API does not support <code>VOICE</code>. If you\n attempt to use it for the VOICE channel, an <code>InvalidRequestException</code> error\n occurs.</p>\n </important>",
2531725323
"smithy.api#required": {}
2531825324
}
2531925325
},
@@ -40356,7 +40362,7 @@
4035640362
}
4035740363
],
4035840364
"traits": {
40359-
"smithy.api#documentation": "<p>Transfers contacts from one agent or queue to another agent or queue at any point after a\n contact is created. You can transfer a contact to another queue by providing the flow which\n orchestrates the contact to the destination queue. This gives you more control over contact\n handling and helps you adhere to the service level agreement (SLA) guaranteed to your\n customers.</p>\n <p>Note the following requirements:</p>\n <ul>\n <li>\n <p>Transfer is supported for only <code>TASK</code> contacts.</p>\n </li>\n <li>\n <p>Do not use both <code>QueueId</code> and <code>UserId</code> in the same call.</p>\n </li>\n <li>\n <p>The following flow types are supported: Inbound flow, Transfer to agent flow, and Transfer\n to queue flow.</p>\n </li>\n <li>\n <p>The <code>TransferContact</code> API can be called only on active contacts.</p>\n </li>\n <li>\n <p>A contact cannot be transferred more than 11 times.</p>\n </li>\n </ul>",
40365+
"smithy.api#documentation": "<p>Transfers <code>TASK</code> or <code>EMAIL</code>\n contacts from one agent or queue to another agent or queue at any point\n after a contact is created. You can transfer a contact to another queue by providing the flow\n which orchestrates the contact to the destination queue. This gives you more control over contact\n handling and helps you adhere to the service level agreement (SLA) guaranteed to your\n customers.</p>\n <p>Note the following requirements:</p>\n <ul>\n <li>\n <p>Transfer is supported for only <code>TASK</code> and <code>EMAIL</code> contacts.</p>\n </li>\n <li>\n <p>Do not use both <code>QueueId</code> and <code>UserId</code> in the same call.</p>\n </li>\n <li>\n <p>The following flow types are supported: Inbound flow, Transfer to agent flow, and Transfer\n to queue flow.</p>\n </li>\n <li>\n <p>The <code>TransferContact</code> API can be called only on active contacts.</p>\n </li>\n <li>\n <p>A contact cannot be transferred more than 11 times.</p>\n </li>\n </ul>",
4036040366
"smithy.api#http": {
4036140367
"method": "POST",
4036240368
"uri": "/contact/transfer",

0 commit comments

Comments
 (0)