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
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' )
string
[REQUIRED]
The identifier of the Amazon Connect instance.
string
[REQUIRED]
The identifier of the contact flow for the chat.
dict
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) --
dict
[REQUIRED]
Information identifying the participant.
DisplayName (string) -- [REQUIRED]
Display name of the participant.
dict
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.
string
A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.
This field is autopopulated if not provided.
dict
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.
{'CurrentMetrics': {'Name': ['SLOTS_ACTIVE', 'SLOTS_AVAILABLE', 'AGENTS_ON_CONTACT']}, 'Filters': {'Channels': ['CHAT']}}Response
{'MetricResults': {'Collections': {'Metric': {'Name': ['SLOTS_ACTIVE', 'SLOTS_AVAILABLE', 'AGENTS_ON_CONTACT']}}, '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 )
string
[REQUIRED]
The identifier of the Amazon Connect instance.
dict
[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) --
list
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) --
list
[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.
string
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.
integer
The maximimum number of results to return per page.
dict
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.
{'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 )
string
[REQUIRED]
The identifier of the Amazon Connect instance.
datetime
[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.
datetime
[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.
dict
[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) --
list
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) --
list
[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.
string
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.
integer
The maximimum number of results to return per page.
dict
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.