Amazon Connect Service

2019/11/21 - Amazon Connect Service - 1 new 2 updated api methods

Changes  This release adds a new API: StartChatContact. You can use it to programmatically start a chat on the specified Amazon Connect instance. Learn more here: https://docs.aws.amazon.com/connect/latest/APIReference/Welcome.html

StartChatContact (new) Link ¶

Initiates a contact flow to start a new chat for the customer. Response of this API provides a token required to obtain credentials from the CreateParticipantConnection API in the Amazon Connect Participant Service.

When a new chat contact is successfully created, clients need to subscribe to the participant’s connection for the created chat within 5 minutes. This is achieved by invoking CreateParticipantConnection with WEBSOCKET and CONNECTION_CREDENTIALS.

See also: AWS API Documentation

Request Syntax

client.start_chat_contact(
    InstanceId='string',
    ContactFlowId='string',
    Attributes={
        'string': 'string'
    },
    ParticipantDetails={
        'DisplayName': 'string'
    },
    InitialMessage={
        'ContentType': 'string',
        'Content': 'string'
    },
    ClientToken='string'
)
type InstanceId

string

param InstanceId

[REQUIRED]

The identifier of the Amazon Connect instance.

type ContactFlowId

string

param ContactFlowId

[REQUIRED]

The identifier of the contact flow for the chat.

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 contact flows just like any other contact attributes.

There can be up to 32,768 UTF-8 bytes across all key-value pairs per contact. Attribute keys can include only alphanumeric, dash, and underscore characters.

  • (string) --

    • (string) --

type ParticipantDetails

dict

param ParticipantDetails

[REQUIRED]

Information identifying the participant.

  • DisplayName (string) -- [REQUIRED]

    Display name of the participant.

type InitialMessage

dict

param InitialMessage

The initial message to be sent to the newly created chat.

  • ContentType (string) -- [REQUIRED]

    The type of the content. Supported types are text/plain.

  • Content (string) -- [REQUIRED]

    The content of the chat message.

type ClientToken

string

param ClientToken

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

This field is autopopulated if not provided.

rtype

dict

returns

Response Syntax

{
    'ContactId': 'string',
    'ParticipantId': 'string',
    'ParticipantToken': 'string'
}

Response Structure

  • (dict) --

    • ContactId (string) --

      The identifier of this contact within the Amazon Connect instance.

    • ParticipantId (string) --

      The identifier for a chat participant. The participantId for a chat participant is the same throughout the chat lifecycle.

    • ParticipantToken (string) --

      The token used by the chat participant to call CreateParticipantConnection. The participant token is valid for the lifetime of a chat participant.

GetCurrentMetricData (updated) Link ¶
Changes (request, response)
Request
{'CurrentMetrics': {'Name': {'AGENTS_ON_CONTACT',
                             'SLOTS_ACTIVE',
                             'SLOTS_AVAILABLE'}},
 'Filters': {'Channels': {'CHAT'}}}
Response
{'MetricResults': {'Collections': {'Metric': {'Name': {'AGENTS_ON_CONTACT',
                                                       'SLOTS_ACTIVE',
                                                       'SLOTS_AVAILABLE'}}},
                   'Dimensions': {'Channel': {'CHAT'}}}}

Gets the real-time metric data from the specified Amazon Connect instance.

For more information, see Real-time Metrics Reports in the Amazon Connect Administrator Guide .

See also: AWS API Documentation

Request Syntax

client.get_current_metric_data(
    InstanceId='string',
    Filters={
        'Queues': [
            'string',
        ],
        'Channels': [
            'VOICE'|'CHAT',
        ]
    },
    Groupings=[
        'QUEUE'|'CHANNEL',
    ],
    CurrentMetrics=[
        {
            'Name': 'AGENTS_ONLINE'|'AGENTS_AVAILABLE'|'AGENTS_ON_CALL'|'AGENTS_NON_PRODUCTIVE'|'AGENTS_AFTER_CONTACT_WORK'|'AGENTS_ERROR'|'AGENTS_STAFFED'|'CONTACTS_IN_QUEUE'|'OLDEST_CONTACT_AGE'|'CONTACTS_SCHEDULED'|'AGENTS_ON_CONTACT'|'SLOTS_ACTIVE'|'SLOTS_AVAILABLE',
            'Unit': 'SECONDS'|'COUNT'|'PERCENT'
        },
    ],
    NextToken='string',
    MaxResults=123
)
type InstanceId

string

param InstanceId

[REQUIRED]

The identifier of the Amazon Connect instance.

type Filters

dict

param Filters

[REQUIRED]

The queues, up to 100, or channels, to use to filter the metrics returned. Metric data is retrieved only for the resources associated with the queues or channels included in the filter. You can include both queue IDs and queue ARNs in the same request. The only supported channel is VOICE .

  • Queues (list) --

    The queues to use to filter the metrics. You can specify up to 100 queues per request.

    • (string) --

  • Channels (list) --

    The channel to use to filter the metrics.

    • (string) --

type Groupings

list

param Groupings

The grouping applied to the metrics returned. For example, when grouped by QUEUE , the metrics returned apply to each queue rather than aggregated for all queues. If you group by CHANNEL , you should include a Channels filter. The only supported channel is VOICE .

If no Grouping is included in the request, a summary of metrics is returned.

  • (string) --

type CurrentMetrics

list

param CurrentMetrics

[REQUIRED]

The metrics to retrieve. Specify the name and unit for each metric. The following metrics are available:

AGENTS_AFTER_CONTACT_WORK

Unit: COUNT

AGENTS_AVAILABLE

Unit: COUNT

AGENTS_ERROR

Unit: COUNT

AGENTS_NON_PRODUCTIVE

Unit: COUNT

AGENTS_ON_CALL

Unit: COUNT

AGENTS_ON_CONTACT

Unit: COUNT

AGENTS_ONLINE

Unit: COUNT

AGENTS_STAFFED

Unit: COUNT

CONTACTS_IN_QUEUE

Unit: COUNT

CONTACTS_SCHEDULED

Unit: COUNT

OLDEST_CONTACT_AGE

Unit: SECONDS

SLOTS_ACTIVE

Unit: COUNT

SLOTS_AVAILABLE

Unit: COUNT

  • (dict) --

    Contains information about a real-time metric.

    • Name (string) --

      The name of the metric.

    • Unit (string) --

      The unit for the metric.

type NextToken

string

param NextToken

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

The token expires after 5 minutes from the time it is created. Subsequent requests that use the token must use the same request parameters as the request that generated the token.

type MaxResults

integer

param MaxResults

The maximimum number of results to return per page.

rtype

dict

returns

Response Syntax

{
    'NextToken': 'string',
    'MetricResults': [
        {
            'Dimensions': {
                'Queue': {
                    'Id': 'string',
                    'Arn': 'string'
                },
                'Channel': 'VOICE'|'CHAT'
            },
            'Collections': [
                {
                    'Metric': {
                        'Name': 'AGENTS_ONLINE'|'AGENTS_AVAILABLE'|'AGENTS_ON_CALL'|'AGENTS_NON_PRODUCTIVE'|'AGENTS_AFTER_CONTACT_WORK'|'AGENTS_ERROR'|'AGENTS_STAFFED'|'CONTACTS_IN_QUEUE'|'OLDEST_CONTACT_AGE'|'CONTACTS_SCHEDULED'|'AGENTS_ON_CONTACT'|'SLOTS_ACTIVE'|'SLOTS_AVAILABLE',
                        'Unit': 'SECONDS'|'COUNT'|'PERCENT'
                    },
                    'Value': 123.0
                },
            ]
        },
    ],
    'DataSnapshotTime': datetime(2015, 1, 1)
}

Response Structure

  • (dict) --

    • NextToken (string) --

      If there are additional results, this is the token for the next set of results.

      The token expires after 5 minutes from the time it is created. Subsequent requests that use the token must use the same request parameters as the request that generated the token.

    • MetricResults (list) --

      Information about the real-time metrics.

      • (dict) --

        Contains information about a set of real-time metrics.

        • Dimensions (dict) --

          The dimensions for the metrics.

          • Queue (dict) --

            Information about the queue for which metrics are returned.

            • Id (string) --

              The identifier of the queue.

            • Arn (string) --

              The Amazon Resource Name (ARN) of the queue.

          • Channel (string) --

            The channel used for grouping and filters.

        • Collections (list) --

          The set of metrics.

          • (dict) --

            Contains the data for a real-time metric.

            • Metric (dict) --

              Information about the metric.

              • Name (string) --

                The name of the metric.

              • Unit (string) --

                The unit for the metric.

            • Value (float) --

              The value of the metric.

    • DataSnapshotTime (datetime) --

      The time at which the metrics were retrieved and cached for pagination.

GetMetricData (updated) Link ¶
Changes (request, response)
Request
{'Filters': {'Channels': {'CHAT'}}}
Response
{'MetricResults': {'Dimensions': {'Channel': {'CHAT'}}}}

Gets historical metric data from the specified Amazon Connect instance.

For more information, see Historical Metrics Reports in the Amazon Connect Administrator Guide .

See also: AWS API Documentation

Request Syntax

client.get_metric_data(
    InstanceId='string',
    StartTime=datetime(2015, 1, 1),
    EndTime=datetime(2015, 1, 1),
    Filters={
        'Queues': [
            'string',
        ],
        'Channels': [
            'VOICE'|'CHAT',
        ]
    },
    Groupings=[
        'QUEUE'|'CHANNEL',
    ],
    HistoricalMetrics=[
        {
            'Name': 'CONTACTS_QUEUED'|'CONTACTS_HANDLED'|'CONTACTS_ABANDONED'|'CONTACTS_CONSULTED'|'CONTACTS_AGENT_HUNG_UP_FIRST'|'CONTACTS_HANDLED_INCOMING'|'CONTACTS_HANDLED_OUTBOUND'|'CONTACTS_HOLD_ABANDONS'|'CONTACTS_TRANSFERRED_IN'|'CONTACTS_TRANSFERRED_OUT'|'CONTACTS_TRANSFERRED_IN_FROM_QUEUE'|'CONTACTS_TRANSFERRED_OUT_FROM_QUEUE'|'CONTACTS_MISSED'|'CALLBACK_CONTACTS_HANDLED'|'API_CONTACTS_HANDLED'|'OCCUPANCY'|'HANDLE_TIME'|'AFTER_CONTACT_WORK_TIME'|'QUEUED_TIME'|'ABANDON_TIME'|'QUEUE_ANSWER_TIME'|'HOLD_TIME'|'INTERACTION_TIME'|'INTERACTION_AND_HOLD_TIME'|'SERVICE_LEVEL',
            'Threshold': {
                'Comparison': 'LT',
                'ThresholdValue': 123.0
            },
            'Statistic': 'SUM'|'MAX'|'AVG',
            'Unit': 'SECONDS'|'COUNT'|'PERCENT'
        },
    ],
    NextToken='string',
    MaxResults=123
)
type InstanceId

string

param InstanceId

[REQUIRED]

The identifier of the Amazon Connect instance.

type StartTime

datetime

param StartTime

[REQUIRED]

The timestamp, in UNIX Epoch time format, at which to start the reporting interval for the retrieval of historical metrics data. The time must be specified using a multiple of 5 minutes, such as 10:05, 10:10, 10:15.

The start time cannot be earlier than 24 hours before the time of the request. Historical metrics are available only for 24 hours.

type EndTime

datetime

param EndTime

[REQUIRED]

The timestamp, in UNIX Epoch time format, at which to end the reporting interval for the retrieval of historical metrics data. The time must be specified using an interval of 5 minutes, such as 11:00, 11:05, 11:10, and must be later than the start time timestamp.

The time range between the start and end time must be less than 24 hours.

type Filters

dict

param Filters

[REQUIRED]

The queues, up to 100, or channels, to use to filter the metrics returned. Metric data is retrieved only for the resources associated with the queues or channels included in the filter. You can include both queue IDs and queue ARNs in the same request. The only supported channel is VOICE .

  • Queues (list) --

    The queues to use to filter the metrics. You can specify up to 100 queues per request.

    • (string) --

  • Channels (list) --

    The channel to use to filter the metrics.

    • (string) --

type Groupings

list

param Groupings

The grouping applied to the metrics returned. For example, when results are grouped by queue, the metrics returned are grouped by queue. The values returned apply to the metrics for each queue rather than aggregated for all queues.

The only supported grouping is QUEUE .

If no grouping is specified, a summary of metrics for all queues is returned.

  • (string) --

type HistoricalMetrics

list

param HistoricalMetrics

[REQUIRED]

The metrics to retrieve. Specify the name, unit, and statistic for each metric. The following historical metrics are available:

ABANDON_TIME

Unit: SECONDS

Statistic: AVG

AFTER_CONTACT_WORK_TIME

Unit: SECONDS

Statistic: AVG

API_CONTACTS_HANDLED

Unit: COUNT

Statistic: SUM

CALLBACK_CONTACTS_HANDLED

Unit: COUNT

Statistic: SUM

CONTACTS_ABANDONED

Unit: COUNT

Statistic: SUM

CONTACTS_AGENT_HUNG_UP_FIRST

Unit: COUNT

Statistic: SUM

CONTACTS_CONSULTED

Unit: COUNT

Statistic: SUM

CONTACTS_HANDLED

Unit: COUNT

Statistic: SUM

CONTACTS_HANDLED_INCOMING

Unit: COUNT

Statistic: SUM

CONTACTS_HANDLED_OUTBOUND

Unit: COUNT

Statistic: SUM

CONTACTS_HOLD_ABANDONS

Unit: COUNT

Statistic: SUM

CONTACTS_MISSED

Unit: COUNT

Statistic: SUM

CONTACTS_QUEUED

Unit: COUNT

Statistic: SUM

CONTACTS_TRANSFERRED_IN

Unit: COUNT

Statistic: SUM

CONTACTS_TRANSFERRED_IN_FROM_QUEUE

Unit: COUNT

Statistic: SUM

CONTACTS_TRANSFERRED_OUT

Unit: COUNT

Statistic: SUM

CONTACTS_TRANSFERRED_OUT_FROM_QUEUE

Unit: COUNT

Statistic: SUM

HANDLE_TIME

Unit: SECONDS

Statistic: AVG

HOLD_TIME

Unit: SECONDS

Statistic: AVG

INTERACTION_AND_HOLD_TIME

Unit: SECONDS

Statistic: AVG

INTERACTION_TIME

Unit: SECONDS

Statistic: AVG

OCCUPANCY

Unit: PERCENT

Statistic: AVG

QUEUE_ANSWER_TIME

Unit: SECONDS

Statistic: AVG

QUEUED_TIME

Unit: SECONDS

Statistic: MAX

SERVICE_LEVEL

Unit: PERCENT

Statistic: AVG

Threshold: Only "Less than" comparisons are supported, with the following service level thresholds: 15, 20, 25, 30, 45, 60, 90, 120, 180, 240, 300, 600

  • (dict) --

    Contains information about a historical metric.

    • Name (string) --

      The name of the metric.

    • Threshold (dict) --

      The threshold for the metric, used with service level metrics.

      • Comparison (string) --

        The type of comparison. Only "less than" (LT) comparisons are supported.

      • ThresholdValue (float) --

        The threshold value to compare.

    • Statistic (string) --

      The statistic for the metric.

    • Unit (string) --

      The unit for the metric.

type NextToken

string

param NextToken

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

type MaxResults

integer

param MaxResults

The maximimum number of results to return per page.

rtype

dict

returns

Response Syntax

{
    'NextToken': 'string',
    'MetricResults': [
        {
            'Dimensions': {
                'Queue': {
                    'Id': 'string',
                    'Arn': 'string'
                },
                'Channel': 'VOICE'|'CHAT'
            },
            'Collections': [
                {
                    'Metric': {
                        'Name': 'CONTACTS_QUEUED'|'CONTACTS_HANDLED'|'CONTACTS_ABANDONED'|'CONTACTS_CONSULTED'|'CONTACTS_AGENT_HUNG_UP_FIRST'|'CONTACTS_HANDLED_INCOMING'|'CONTACTS_HANDLED_OUTBOUND'|'CONTACTS_HOLD_ABANDONS'|'CONTACTS_TRANSFERRED_IN'|'CONTACTS_TRANSFERRED_OUT'|'CONTACTS_TRANSFERRED_IN_FROM_QUEUE'|'CONTACTS_TRANSFERRED_OUT_FROM_QUEUE'|'CONTACTS_MISSED'|'CALLBACK_CONTACTS_HANDLED'|'API_CONTACTS_HANDLED'|'OCCUPANCY'|'HANDLE_TIME'|'AFTER_CONTACT_WORK_TIME'|'QUEUED_TIME'|'ABANDON_TIME'|'QUEUE_ANSWER_TIME'|'HOLD_TIME'|'INTERACTION_TIME'|'INTERACTION_AND_HOLD_TIME'|'SERVICE_LEVEL',
                        'Threshold': {
                            'Comparison': 'LT',
                            'ThresholdValue': 123.0
                        },
                        'Statistic': 'SUM'|'MAX'|'AVG',
                        'Unit': 'SECONDS'|'COUNT'|'PERCENT'
                    },
                    'Value': 123.0
                },
            ]
        },
    ]
}

Response Structure

  • (dict) --

    • NextToken (string) --

      If there are additional results, this is the token for the next set of results.

      The token expires after 5 minutes from the time it is created. Subsequent requests that use the token must use the same request parameters as the request that generated the token.

    • MetricResults (list) --

      Information about the historical metrics.

      If no grouping is specified, a summary of metric data is returned.

      • (dict) --

        Contains information about the historical metrics retrieved.

        • Dimensions (dict) --

          The dimension for the metrics.

          • Queue (dict) --

            Information about the queue for which metrics are returned.

            • Id (string) --

              The identifier of the queue.

            • Arn (string) --

              The Amazon Resource Name (ARN) of the queue.

          • Channel (string) --

            The channel used for grouping and filters.

        • Collections (list) --

          The set of metrics.

          • (dict) --

            Contains the data for a historical metric.

            • Metric (dict) --

              Information about the metric.

              • Name (string) --

                The name of the metric.

              • Threshold (dict) --

                The threshold for the metric, used with service level metrics.

                • Comparison (string) --

                  The type of comparison. Only "less than" (LT) comparisons are supported.

                • ThresholdValue (float) --

                  The threshold value to compare.

              • Statistic (string) --

                The statistic for the metric.

              • Unit (string) --

                The unit for the metric.

            • Value (float) --

              The value of the metric.