2021/10/29 - Amazon Connect Service - 2 new 3 updated api methods
Changes Amazon Connect Chat now supports real-time message streaming.
Ends message streaming on a specified contact. To restart message streaming on that contact, call the StartContactStreaming API.
See also: AWS API Documentation
Request Syntax
client.stop_contact_streaming( InstanceId='string', ContactId='string', StreamingId='string' )
string
[REQUIRED]
The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.
string
[REQUIRED]
The identifier of the contact. This is the identifier of the contact that is associated with the first interaction with the contact center.
string
[REQUIRED]
The identifier of the streaming configuration enabled.
dict
Response Syntax
{}
Response Structure
(dict) --
Initiates real-time message streaming for a new chat contact.
For more information about message streaming, see Enable real-time chat message streaming in the Amazon Connect Administrator Guide .
See also: AWS API Documentation
Request Syntax
client.start_contact_streaming( InstanceId='string', ContactId='string', ChatStreamingConfiguration={ 'StreamingEndpointArn': 'string' }, ClientToken='string' )
string
[REQUIRED]
The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.
string
[REQUIRED]
The identifier of the contact. This is the identifier of the contact associated with the first interaction with the contact center.
dict
[REQUIRED]
The streaming configuration, such as the Amazon SNS streaming endpoint.
StreamingEndpointArn (string) -- [REQUIRED]
The Amazon Resource Name (ARN) of the standard Amazon SNS topic. The Amazon Resource Name (ARN) of the streaming endpoint that is used to publish real-time message streaming for chat conversations.
string
[REQUIRED]
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
{ 'StreamingId': 'string' }
Response Structure
(dict) --
StreamingId (string) --
The identifier of the streaming configuration enabled.
{'CurrentMetrics': {'Unit': {'MILLISECONDS'}}, 'Filters': {'RoutingProfiles': ['string']}, 'Groupings': {'INSTANCE', 'ROUTING_PROFILE'}}Response
{'MetricResults': {'Collections': {'Metric': {'Unit': {'MILLISECONDS'}}}, 'Dimensions': {'InstanceReference': {'Arn': 'string', 'Id': 'string'}, 'Queue': {'QueueType': 'STANDARD | AGENT'}, 'RoutingProfile': {'Arn': 'string', 'Id': 'string'}}}}
Gets the real-time metric data from the specified Amazon Connect instance.
For a description of each metric, see Real-time Metrics Definitions in the Amazon Connect Administrator Guide .
See also: AWS API Documentation
Request Syntax
client.get_current_metric_data( InstanceId='string', Filters={ 'Queues': [ 'string', ], 'RoutingProfiles': [ 'string', ], 'Channels': [ 'VOICE'|'CHAT'|'TASK', ] }, Groupings=[ 'QUEUE'|'CHANNEL'|'ROUTING_PROFILE'|'INSTANCE', ], 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'|'MILLISECONDS'|'COUNT'|'PERCENT' }, ], NextToken='string', MaxResults=123 )
string
[REQUIRED]
The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the 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. VOICE, CHAT, and TASK channels are supported.
Queues (list) --
The queues to use to filter the metrics. You can specify up to 100 queues per request.
(string) --
RoutingProfiles (list) --
The filters used to sort routing profiles.
(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. VOICE, CHAT, and TASK channels are supported.
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. For a description of all the metrics, see Real-time Metrics Definitions in the Amazon Connect Administrator Guide .
AGENTS_AFTER_CONTACT_WORK
Unit: COUNT
Name in real-time metrics report: ACW
AGENTS_AVAILABLE
Unit: COUNT
Name in real-time metrics report: Available
AGENTS_ERROR
Unit: COUNT
Name in real-time metrics report: Error
AGENTS_NON_PRODUCTIVE
Unit: COUNT
Name in real-time metrics report: NPT (Non-Productive Time)
AGENTS_ON_CALL
Unit: COUNT
Name in real-time metrics report: On contact
AGENTS_ON_CONTACT
Unit: COUNT
Name in real-time metrics report: On contact
AGENTS_ONLINE
Unit: COUNT
Name in real-time metrics report: Online
AGENTS_STAFFED
Unit: COUNT
Name in real-time metrics report: Staffed
CONTACTS_IN_QUEUE
Unit: COUNT
Name in real-time metrics report: In queue
CONTACTS_SCHEDULED
Unit: COUNT
Name in real-time metrics report: Scheduled
OLDEST_CONTACT_AGE
Unit: SECONDS
When you use groupings, Unit says SECONDS and the Value is returned in SECONDS.
When you do not use groupings, Unit says SECONDS but the Value is returned in MILLISECONDS. For example, if you get a response like this:
{ "Metric": { "Name": "OLDEST_CONTACT_AGE", "Unit": "SECONDS" }, "Value": 24113.0 }
The actual OLDEST_CONTACT_AGE is 24 seconds.
Name in real-time metrics report: Oldest
SLOTS_ACTIVE
Unit: COUNT
Name in real-time metrics report: Active
SLOTS_AVAILABLE
Unit: COUNT
Name in real-time metrics report: Availability
(dict) --
Contains information about a real-time metric. For a description of each metric, see Real-time Metrics Definitions in the Amazon Connect Administrator Guide .
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 maximum number of results to return per page.
dict
Response Syntax
{ 'NextToken': 'string', 'MetricResults': [ { 'Dimensions': { 'Queue': { 'Id': 'string', 'Arn': 'string', 'QueueType': 'STANDARD'|'AGENT' }, 'Channel': 'VOICE'|'CHAT'|'TASK', 'RoutingProfile': { 'Id': 'string', 'Arn': 'string' }, 'InstanceReference': { 'Id': 'string', 'Arn': 'string' } }, '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'|'MILLISECONDS'|'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.
QueueType (string) --
The type of queue.
Channel (string) --
The channel used for grouping and filters.
RoutingProfile (dict) --
The routing profile.
Id (string) --
The identifier of the routing profile reference.
Arn (string) --
The Amazon Resource Name (ARN) of the routing profile reference.
InstanceReference (dict) --
The instance reference.
Id (string) --
The identifier of the instance reference.
Arn (string) --
The Amazon Resource Name (ARN) of the instance reference.
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': {'RoutingProfiles': ['string']}, 'Groupings': {'INSTANCE', 'ROUTING_PROFILE'}, 'HistoricalMetrics': {'Name': {'CONTACTS_TRANSFERRED_IN_BY_AGENT', 'CONTACTS_TRANSFERRED_OUT_BY_AGENT'}, 'Unit': {'MILLISECONDS'}}}Response
{'MetricResults': {'Collections': {'Metric': {'Name': {'CONTACTS_TRANSFERRED_IN_BY_AGENT', 'CONTACTS_TRANSFERRED_OUT_BY_AGENT'}, 'Unit': {'MILLISECONDS'}}}, 'Dimensions': {'InstanceReference': {'Arn': 'string', 'Id': 'string'}, 'Queue': {'QueueType': 'STANDARD | AGENT'}, 'RoutingProfile': {'Arn': 'string', 'Id': 'string'}}}}
Gets historical metric data from the specified Amazon Connect instance.
For a description of each historical metric, see Historical Metrics Definitions 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', ], 'RoutingProfiles': [ 'string', ], 'Channels': [ 'VOICE'|'CHAT'|'TASK', ] }, Groupings=[ 'QUEUE'|'CHANNEL'|'ROUTING_PROFILE'|'INSTANCE', ], 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_TRANSFERRED_IN_BY_AGENT'|'CONTACTS_TRANSFERRED_OUT_BY_AGENT'|'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'|'MILLISECONDS'|'COUNT'|'PERCENT' }, ], NextToken='string', MaxResults=123 )
string
[REQUIRED]
The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the 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. VOICE, CHAT, and TASK channels are supported.
Note
To filter by Queues , enter the queue ID/ARN, not the name of the queue.
Queues (list) --
The queues to use to filter the metrics. You can specify up to 100 queues per request.
(string) --
RoutingProfiles (list) --
The filters used to sort routing profiles.
(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.
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. For a description of each metric, see Historical Metrics Definitions in the Amazon Connect Administrator Guide .
Note
This API does not support a contacts incoming metric (there's no CONTACTS_INCOMING metric missing from the documented list).
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
You can include up to 20 SERVICE_LEVEL metrics in a request.
Unit: PERCENT
Statistic: AVG
Threshold: For ThresholdValue , enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison , you must enter LT (for "Less than").
(dict) --
Contains information about a historical metric. For a description of each metric, see Historical Metrics Definitions in the Amazon Connect Administrator Guide .
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 maximum number of results to return per page.
dict
Response Syntax
{ 'NextToken': 'string', 'MetricResults': [ { 'Dimensions': { 'Queue': { 'Id': 'string', 'Arn': 'string', 'QueueType': 'STANDARD'|'AGENT' }, 'Channel': 'VOICE'|'CHAT'|'TASK', 'RoutingProfile': { 'Id': 'string', 'Arn': 'string' }, 'InstanceReference': { 'Id': 'string', 'Arn': 'string' } }, '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_TRANSFERRED_IN_BY_AGENT'|'CONTACTS_TRANSFERRED_OUT_BY_AGENT'|'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'|'MILLISECONDS'|'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.
QueueType (string) --
The type of queue.
Channel (string) --
The channel used for grouping and filters.
RoutingProfile (dict) --
The routing profile.
Id (string) --
The identifier of the routing profile reference.
Arn (string) --
The Amazon Resource Name (ARN) of the routing profile reference.
InstanceReference (dict) --
The instance reference.
Id (string) --
The identifier of the instance reference.
Arn (string) --
The Amazon Resource Name (ARN) of the instance reference.
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.
{'References': {'Type': {'DATE', 'STRING', 'EMAIL', 'NUMBER', 'ATTACHMENT'}}}
Initiates a contact flow to start a new task.
See also: AWS API Documentation
Request Syntax
client.start_task_contact( InstanceId='string', PreviousContactId='string', ContactFlowId='string', Attributes={ 'string': 'string' }, Name='string', References={ 'string': { 'Value': 'string', 'Type': 'URL'|'ATTACHMENT'|'NUMBER'|'STRING'|'DATE'|'EMAIL' } }, Description='string', ClientToken='string' )
string
[REQUIRED]
The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.
string
The identifier of the previous chat, voice, or task contact.
string
[REQUIRED]
The identifier of the contact flow for initiating the tasks. To see the ContactFlowId in the Amazon Connect console user interface, on the navigation menu go to Routing , Contact Flows . Choose the contact flow. On the contact flow page, under the name of the contact 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/846ec553-a005-41c0-8341-xxxxxxxxxxxx
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) --
string
[REQUIRED]
The name of a task that is shown to an agent in the Contact Control Panel (CCP).
dict
A formatted URL that is shown to an agent in the Contact Control Panel (CCP).
(string) --
(dict) --
A link that an agent selects to complete a given task. You can have up to 4,096 UTF-8 bytes across all references for a contact.
Value (string) -- [REQUIRED]
A formatted URL that displays to an agent in the Contact Control Panel (CCP)
Type (string) -- [REQUIRED]
A valid URL.
string
A description of the task that is shown to an agent in the Contact Control Panel (CCP).
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' }
Response Structure
(dict) --
ContactId (string) --
The identifier of this contact within the Amazon Connect instance.