Amazon Connect Service

2024/10/01 - Amazon Connect Service - 1 new1 updated api methods

Changes  Amazon Connect introduces StartOutboundChatContact API allowing customers to initiate outbound chat contacts

StartOutboundChatContact (new) Link ¶

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'
)
type SourceEndpoint:

dict

param SourceEndpoint:

[REQUIRED]

Information about the endpoint.

  • Type (string) --

    Type of the endpoint.

  • Address (string) --

    Address of the endpoint.

type DestinationEndpoint:

dict

param DestinationEndpoint:

[REQUIRED]

Information about the endpoint.

  • Type (string) --

    Type of the endpoint.

  • Address (string) --

    Address of the endpoint.

type InstanceId:

string

param InstanceId:

[REQUIRED]

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

type SegmentAttributes:

dict

param SegmentAttributes:

[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.

type Attributes:

dict

param Attributes:

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) --

type ContactFlowId:

string

param ContactFlowId:

[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

type ChatDurationInMinutes:

integer

param ChatDurationInMinutes:

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).

type ParticipantDetails:

dict

param ParticipantDetails:

The customer's details.

  • DisplayName (string) -- [REQUIRED]

    Display name of the participant.

type InitialSystemMessage:

dict

param InitialSystemMessage:

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.

type RelatedContactId:

string

param RelatedContactId:

The unique identifier for an Amazon Connect contact. This identifier is related to the contact starting.

type SupportedMessagingContentTypes:

list

param SupportedMessagingContentTypes:

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) --

type ClientToken:

string

param ClientToken:

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.

rtype:

dict

returns:

Response Syntax

{
    'ContactId': 'string'
}

Response Structure

  • (dict) --

    • ContactId (string) --

      The identifier of this contact within the Amazon Connect instance.

BatchPutContact (updated) Link ¶
Changes (request)
{'ContactDataRequestList': {'CustomerEndpoint': {'Type': {'CONNECT_PHONENUMBER_ARN'}},
                            'SystemEndpoint': {'Type': {'CONNECT_PHONENUMBER_ARN'}}}}

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'
            }
        },
    ]
)
type ClientToken:

string

param ClientToken:

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.

type InstanceId:

string

param InstanceId:

[REQUIRED]

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

type ContactDataRequestList:

list

param ContactDataRequestList:

[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.

rtype:

dict

returns:

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.