2024/10/01 - Amazon Connect Service - 1 new 1 updated api methods
Changes Amazon Connect introduces StartOutboundChatContact API allowing customers to initiate outbound chat contacts
Initiates a new outbound SMS contact to a customer. Response of this API provides the ContactId of the outbound SMS contact created.
SourceEndpoint only supports Endpoints with CONNECT_PHONENUMBER_ARN as Type and DestinationEndpoint only supports Endpoints with TELEPHONE_NUMBER as Type. ContactFlowId initiates the flow to manage the new SMS contact created.
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 StartOutboundChatContact Flow Action.
For more information about using SMS in Amazon Connect, see the following topics in the Amazon Connect Administrator Guide :
See also: AWS API Documentation
Request Syntax
client.start_outbound_chat_contact( SourceEndpoint={ 'Type': 'TELEPHONE_NUMBER'|'VOIP'|'CONTACT_FLOW'|'CONNECT_PHONENUMBER_ARN', 'Address': 'string' }, DestinationEndpoint={ 'Type': 'TELEPHONE_NUMBER'|'VOIP'|'CONTACT_FLOW'|'CONNECT_PHONENUMBER_ARN', 'Address': 'string' }, InstanceId='string', SegmentAttributes={ 'string': { 'ValueString': 'string' } }, Attributes={ 'string': 'string' }, ContactFlowId='string', ChatDurationInMinutes=123, ParticipantDetails={ 'DisplayName': 'string' }, InitialSystemMessage={ 'ContentType': 'string', 'Content': 'string' }, RelatedContactId='string', SupportedMessagingContentTypes=[ 'string', ], ClientToken='string' )
dict
[REQUIRED]
Information about the endpoint.
Type (string) --
Type of the endpoint.
Address (string) --
Address of the endpoint.
dict
[REQUIRED]
Information about the endpoint.
Type (string) --
Type of the endpoint.
Address (string) --
Address of the endpoint.
string
[REQUIRED]
The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.
dict
[REQUIRED]
A set of system defined key-value pairs stored on individual contact segments using an attribute map. The attributes are standard Amazon Connect attributes. They can be accessed in flows.
Attribute keys can include only alphanumeric, - , and _ .
This field can be used to show channel subtype, such as connect:Guide and connect:SMS .
(string) --
(dict) --
A value for a segment attribute. This is structured as a map where the key is valueString and the value is a string.
ValueString (string) --
The value of a segment attribute.
dict
A custom key-value pair using an attribute map. The attributes are standard Amazon Connect attributes, and can be accessed in flows just like any other contact attributes.
(string) --
(string) --
string
[REQUIRED]
The identifier of the flow for the call. To see the ContactFlowId in the Amazon Connect console user interface, on the navigation menu go to Routing, Contact Flows . Choose the flow. On the flow page, under the name of the flow, choose Show additional flow information . The ContactFlowId is the last part of the ARN, shown here in bold:
arn:aws:connect:us-west-2:xxxxxxxxxxxx:instance/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/contact-flow/123ec456-a007-89c0-1234-xxxxxxxxxxxx
integer
The total duration of the newly started chat session. If not specified, the chat session duration defaults to 25 hour. The minimum configurable time is 60 minutes. The maximum configurable time is 10,080 minutes (7 days).
dict
The customer's details.
DisplayName (string) -- [REQUIRED]
Display name of the participant.
dict
A chat message.
ContentType (string) -- [REQUIRED]
The type of the content. Supported types are text/plain , text/markdown , application/json , and application/vnd.amazonaws.connect.message.interactive.response .
Content (string) -- [REQUIRED]
The content of the chat message.
For text/plain and text/markdown , the Length Constraints are Minimum of 1, Maximum of 1024.
For application/json , the Length Constraints are Minimum of 1, Maximum of 12000.
For application/vnd.amazonaws.connect.message.interactive.response , the Length Constraints are Minimum of 1, Maximum of 12288.
string
The unique identifier for an Amazon Connect contact. This identifier is related to the contact starting.
list
The supported chat message content types. Supported types are:
text/plain
text/markdown
application/json, application/vnd.amazonaws.connect.message.interactive
application/vnd.amazonaws.connect.message.interactive.response
Content types must always contain text/plain . You can then put any other supported type in the list. For example, all the following lists are valid because they contain text/plain :
[text/plain, text/markdown, application/json]
[text/markdown, text/plain]
[text/plain, application/json, application/vnd.amazonaws.connect.message.interactive.response]
(string) --
string
A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If not provided, the AWS SDK populates this field. For more information about idempotency, see Making retries safe with idempotent APIs. The token is valid for 7 days after creation. If a contact is already started, the contact ID is returned.
This field is autopopulated if not provided.
dict
Response Syntax
{ 'ContactId': 'string' }
Response Structure
(dict) --
ContactId (string) --
The identifier of this contact within the Amazon Connect instance.
{'ContactDataRequestList': {'CustomerEndpoint': {'Type': {'CONNECT_PHONENUMBER_ARN'}}, 'SystemEndpoint': {'Type': {'CONNECT_PHONENUMBER_ARN'}}}}
Note
Only the Amazon Connect outbound campaigns service principal is allowed to assume a role in your account and call this API.
Allows you to create a batch of contacts in Amazon Connect. The outbound campaigns capability ingests dial requests via the PutDialRequestBatch API. It then uses BatchPutContact to create contacts corresponding to those dial requests. If agents are available, the dial requests are dialed out, which results in a voice call. The resulting voice call uses the same contactId that was created by BatchPutContact.
See also: AWS API Documentation
Request Syntax
client.batch_put_contact( ClientToken='string', InstanceId='string', ContactDataRequestList=[ { 'SystemEndpoint': { 'Type': 'TELEPHONE_NUMBER'|'VOIP'|'CONTACT_FLOW'|'CONNECT_PHONENUMBER_ARN', 'Address': 'string' }, 'CustomerEndpoint': { 'Type': 'TELEPHONE_NUMBER'|'VOIP'|'CONTACT_FLOW'|'CONNECT_PHONENUMBER_ARN', 'Address': 'string' }, 'RequestIdentifier': 'string', 'QueueId': 'string', 'Attributes': { 'string': 'string' }, 'Campaign': { 'CampaignId': 'string' } }, ] )
string
A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If not provided, the Amazon Web Services SDK populates this field. For more information about idempotency, see Making retries safe with idempotent APIs.
This field is autopopulated if not provided.
string
[REQUIRED]
The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.
list
[REQUIRED]
List of individual contact requests.
(dict) --
Request object with information to create a contact.
SystemEndpoint (dict) --
Endpoint associated with the Amazon Connect instance from which outbound contact will be initiated for the campaign.
Type (string) --
Type of the endpoint.
Address (string) --
Address of the endpoint.
CustomerEndpoint (dict) --
Endpoint of the customer for which contact will be initiated.
Type (string) --
Type of the endpoint.
Address (string) --
Address of the endpoint.
RequestIdentifier (string) --
Identifier to uniquely identify individual requests in the batch.
QueueId (string) --
The identifier of the queue associated with the Amazon Connect instance in which contacts that are created will be queued.
Attributes (dict) --
List of attributes to be stored in a contact.
(string) --
(string) --
Campaign (dict) --
Structure to store information associated with a campaign.
CampaignId (string) --
A unique identifier for a campaign.
dict
Response Syntax
{ 'SuccessfulRequestList': [ { 'RequestIdentifier': 'string', 'ContactId': 'string' }, ], 'FailedRequestList': [ { 'RequestIdentifier': 'string', 'FailureReasonCode': 'INVALID_ATTRIBUTE_KEY'|'INVALID_CUSTOMER_ENDPOINT'|'INVALID_SYSTEM_ENDPOINT'|'INVALID_QUEUE'|'MISSING_CAMPAIGN'|'MISSING_CUSTOMER_ENDPOINT'|'MISSING_QUEUE_ID_AND_SYSTEM_ENDPOINT'|'REQUEST_THROTTLED'|'IDEMPOTENCY_EXCEPTION'|'INTERNAL_ERROR', 'FailureReasonMessage': 'string' }, ] }
Response Structure
(dict) --
SuccessfulRequestList (list) --
List of requests for which contact was successfully created.
(dict) --
Request for which contact was successfully created.
RequestIdentifier (string) --
Request identifier provided in the API call in the ContactDataRequest to create a contact.
ContactId (string) --
The contactId of the contact that was created successfully.
FailedRequestList (list) --
List of requests for which contact creation failed.
(dict) --
Request for which contact failed to be generated.
RequestIdentifier (string) --
Request identifier provided in the API call in the ContactDataRequest to create a contact.
FailureReasonCode (string) --
Reason code for the failure.
FailureReasonMessage (string) --
Why the request to create a contact failed.