2024/12/20 - Amazon Connect Service - 2 updated api methods
Changes This release supports adding NotAttributeCondition and Range to the RoutingCriteria object.
{'Contact': {'RoutingCriteria': {'Steps': {'Expression': {'AttributeCondition': {'Range': {'MaxProficiencyLevel': 'float', 'MinProficiencyLevel': 'float'}}, 'NotAttributeCondition': {'ComparisonOperator': 'string', 'MatchCriteria': {'AgentsCriteria': {'AgentIds': ['string']}}, 'Name': 'string', 'ProficiencyLevel': 'float', 'Range': {'MaxProficiencyLevel': 'float', 'MinProficiencyLevel': 'float'}, 'Value': 'string'}}}}}}
This API is in preview release for Amazon Connect and is subject to change.
Describes the specified contact.
See also: AWS API Documentation
Request Syntax
client.describe_contact( InstanceId='string', ContactId='string' )
string
[REQUIRED]
The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.
string
[REQUIRED]
The identifier of the contact.
dict
Response Syntax
{ 'Contact': { 'Arn': 'string', 'Id': 'string', 'InitialContactId': 'string', 'PreviousContactId': 'string', 'ContactAssociationId': 'string', 'InitiationMethod': 'INBOUND'|'OUTBOUND'|'TRANSFER'|'QUEUE_TRANSFER'|'CALLBACK'|'API'|'DISCONNECT'|'MONITOR'|'EXTERNAL_OUTBOUND'|'WEBRTC_API'|'AGENT_REPLY'|'FLOW', 'Name': 'string', 'Description': 'string', 'Channel': 'VOICE'|'CHAT'|'TASK'|'EMAIL', 'QueueInfo': { 'Id': 'string', 'EnqueueTimestamp': datetime(2015, 1, 1) }, 'AgentInfo': { 'Id': 'string', 'ConnectedToAgentTimestamp': datetime(2015, 1, 1), 'AgentPauseDurationInSeconds': 123, 'HierarchyGroups': { 'Level1': { 'Arn': 'string' }, 'Level2': { 'Arn': 'string' }, 'Level3': { 'Arn': 'string' }, 'Level4': { 'Arn': 'string' }, 'Level5': { 'Arn': 'string' } }, 'DeviceInfo': { 'PlatformName': 'string', 'PlatformVersion': 'string', 'OperatingSystem': 'string' }, 'Capabilities': { 'Video': 'SEND', 'ScreenShare': 'SEND' } }, 'InitiationTimestamp': datetime(2015, 1, 1), 'DisconnectTimestamp': datetime(2015, 1, 1), 'LastUpdateTimestamp': datetime(2015, 1, 1), 'LastPausedTimestamp': datetime(2015, 1, 1), 'LastResumedTimestamp': datetime(2015, 1, 1), 'TotalPauseCount': 123, 'TotalPauseDurationInSeconds': 123, 'ScheduledTimestamp': datetime(2015, 1, 1), 'RelatedContactId': 'string', 'WisdomInfo': { 'SessionArn': 'string' }, 'CustomerId': 'string', 'CustomerEndpoint': { 'Type': 'TELEPHONE_NUMBER'|'VOIP'|'CONTACT_FLOW'|'CONNECT_PHONENUMBER_ARN'|'EMAIL_ADDRESS', 'Address': 'string', 'DisplayName': 'string' }, 'SystemEndpoint': { 'Type': 'TELEPHONE_NUMBER'|'VOIP'|'CONTACT_FLOW'|'CONNECT_PHONENUMBER_ARN'|'EMAIL_ADDRESS', 'Address': 'string', 'DisplayName': 'string' }, 'QueueTimeAdjustmentSeconds': 123, 'QueuePriority': 123, 'Tags': { 'string': 'string' }, 'ConnectedToSystemTimestamp': datetime(2015, 1, 1), 'RoutingCriteria': { 'Steps': [ { 'Expiry': { 'DurationInSeconds': 123, 'ExpiryTimestamp': datetime(2015, 1, 1) }, 'Expression': { 'AttributeCondition': { 'Name': 'string', 'Value': 'string', 'ProficiencyLevel': ..., 'Range': { 'MinProficiencyLevel': ..., 'MaxProficiencyLevel': ... }, 'MatchCriteria': { 'AgentsCriteria': { 'AgentIds': [ 'string', ] } }, 'ComparisonOperator': 'string' }, 'AndExpression': [ {'... recursive ...'}, ], 'OrExpression': [ {'... recursive ...'}, ], 'NotAttributeCondition': { 'Name': 'string', 'Value': 'string', 'ProficiencyLevel': ..., 'Range': { 'MinProficiencyLevel': ..., 'MaxProficiencyLevel': ... }, 'MatchCriteria': { 'AgentsCriteria': { 'AgentIds': [ 'string', ] } }, 'ComparisonOperator': 'string' } }, 'Status': 'ACTIVE'|'INACTIVE'|'JOINED'|'EXPIRED' }, ], 'ActivationTimestamp': datetime(2015, 1, 1), 'Index': 123 }, 'Customer': { 'DeviceInfo': { 'PlatformName': 'string', 'PlatformVersion': 'string', 'OperatingSystem': 'string' }, 'Capabilities': { 'Video': 'SEND', 'ScreenShare': 'SEND' } }, 'Campaign': { 'CampaignId': 'string' }, 'AnsweringMachineDetectionStatus': 'ANSWERED'|'UNDETECTED'|'ERROR'|'HUMAN_ANSWERED'|'SIT_TONE_DETECTED'|'SIT_TONE_BUSY'|'SIT_TONE_INVALID_NUMBER'|'FAX_MACHINE_DETECTED'|'VOICEMAIL_BEEP'|'VOICEMAIL_NO_BEEP'|'AMD_UNRESOLVED'|'AMD_UNANSWERED'|'AMD_ERROR'|'AMD_NOT_APPLICABLE', 'CustomerVoiceActivity': { 'GreetingStartTimestamp': datetime(2015, 1, 1), 'GreetingEndTimestamp': datetime(2015, 1, 1) }, 'QualityMetrics': { 'Agent': { 'Audio': { 'QualityScore': ..., 'PotentialQualityIssues': [ 'string', ] } }, 'Customer': { 'Audio': { 'QualityScore': ..., 'PotentialQualityIssues': [ 'string', ] } } }, 'DisconnectDetails': { 'PotentialDisconnectIssue': 'string' }, 'AdditionalEmailRecipients': { 'ToList': [ { 'Address': 'string', 'DisplayName': 'string' }, ], 'CcList': [ { 'Address': 'string', 'DisplayName': 'string' }, ] }, 'SegmentAttributes': { 'string': { 'ValueString': 'string', 'ValueMap': { 'string': {'... recursive ...'} }, 'ValueInteger': 123 } } } }
Response Structure
(dict) --
Contact (dict) --
Information about the contact.
Arn (string) --
The Amazon Resource Name (ARN) for the contact.
Id (string) --
The identifier for the contact.
InitialContactId (string) --
If this contact is related to other contacts, this is the ID of the initial contact.
PreviousContactId (string) --
If this contact is not the first contact, this is the ID of the previous contact.
ContactAssociationId (string) --
This is the root contactId which is used as a unique identifier for all subsequent contacts in a contact tree.
InitiationMethod (string) --
Indicates how the contact was initiated.
Name (string) --
The name of the contact.
Description (string) --
The description of the contact.
Channel (string) --
How the contact reached your contact center.
QueueInfo (dict) --
If this contact was queued, this contains information about the queue.
Id (string) --
The unique identifier for the queue.
EnqueueTimestamp (datetime) --
The timestamp when the contact was added to the queue.
AgentInfo (dict) --
Information about the agent who accepted the contact.
Id (string) --
The identifier of the agent who accepted the contact.
ConnectedToAgentTimestamp (datetime) --
The timestamp when the contact was connected to the agent.
AgentPauseDurationInSeconds (integer) --
Agent pause duration for a contact in seconds.
HierarchyGroups (dict) --
The agent hierarchy groups for the agent.
Level1 (dict) --
The group at level one of the agent hierarchy.
Arn (string) --
The Amazon Resource Name (ARN) of the group.
Level2 (dict) --
The group at level two of the agent hierarchy.
Arn (string) --
The Amazon Resource Name (ARN) of the group.
Level3 (dict) --
The group at level three of the agent hierarchy.
Arn (string) --
The Amazon Resource Name (ARN) of the group.
Level4 (dict) --
The group at level four of the agent hierarchy.
Arn (string) --
The Amazon Resource Name (ARN) of the group.
Level5 (dict) --
The group at level five of the agent hierarchy.
Arn (string) --
The Amazon Resource Name (ARN) of the group.
DeviceInfo (dict) --
Information regarding Agent’s device.
PlatformName (string) --
Name of the platform that the participant used for the call.
PlatformVersion (string) --
Version of the platform that the participant used for the call.
OperatingSystem (string) --
Operating system that the participant used for the call.
Capabilities (dict) --
The configuration for the allowed video and screen sharing capabilities for participants present over the call. For more information, see Set up in-app, web, video calling, and screen sharing capabilities in the Amazon Connect Administrator Guide.
Video (string) --
The configuration having the video and screen sharing capabilities for participants over the call.
ScreenShare (string) --
The screen sharing capability that is enabled for the participant. SEND indicates the participant can share their screen.
InitiationTimestamp (datetime) --
The date and time this contact was initiated, in UTC time. For INBOUND, this is when the contact arrived. For OUTBOUND, this is when the agent began dialing. For CALLBACK, this is when the callback contact was created. For TRANSFER and QUEUE_TRANSFER, this is when the transfer was initiated. For API, this is when the request arrived. For EXTERNAL_OUTBOUND, this is when the agent started dialing the external participant. For MONITOR, this is when the supervisor started listening to a contact.
DisconnectTimestamp (datetime) --
The timestamp when the customer endpoint disconnected from Amazon Connect.
LastUpdateTimestamp (datetime) --
The timestamp when contact was last updated.
LastPausedTimestamp (datetime) --
The timestamp when the contact was last paused.
LastResumedTimestamp (datetime) --
The timestamp when the contact was last resumed.
TotalPauseCount (integer) --
Total pause count for a contact.
TotalPauseDurationInSeconds (integer) --
Total pause duration for a contact in seconds.
ScheduledTimestamp (datetime) --
The timestamp, in Unix epoch time format, at which to start running the inbound flow.
RelatedContactId (string) --
The contactId that is related to this contact.
WisdomInfo (dict) --
Information about Amazon Connect Wisdom.
SessionArn (string) --
The Amazon Resource Name (ARN) of the Wisdom session.
CustomerId (string) --
The customer's identification number. For example, the CustomerId may be a customer number from your CRM. You can create a Lambda function to pull the unique customer ID of the caller from your CRM system. If you enable Amazon Connect Voice ID capability, this attribute is populated with the CustomerSpeakerId of the caller.
CustomerEndpoint (dict) --
The customer or external third party participant endpoint.
Type (string) --
Type of endpoint.
Address (string) --
Address of the endpoint.
DisplayName (string) --
Display name of the endpoint.
SystemEndpoint (dict) --
The system endpoint. For INBOUND, this is the phone number or email address that the customer dialed. For OUTBOUND and EXTERNAL_OUTBOUND, this is the outbound caller ID number assigned to the outbound queue that is used to dial the customer. For callback, this shows up as Softphone for calls handled by agents with softphone.
Type (string) --
Type of endpoint.
Address (string) --
Address of the endpoint.
DisplayName (string) --
Display name of the endpoint.
QueueTimeAdjustmentSeconds (integer) --
An integer that represents the queue time adjust to be applied to the contact, in seconds (longer / larger queue time are routed preferentially). Cannot be specified if the QueuePriority is specified. Must be statically defined and a valid integer value.
QueuePriority (integer) --
An integer that represents the queue priority to be applied to the contact (lower priorities are routed preferentially). Cannot be specified if the QueueTimeAdjustmentSeconds is specified. Must be statically defined, must be larger than zero, and a valid integer value. Default Value is 5.
Tags (dict) --
Tags associated with the contact. This contains both Amazon Web Services generated and user-defined tags.
(string) --
(string) --
ConnectedToSystemTimestamp (datetime) --
The timestamp when customer endpoint connected to Amazon Connect.
RoutingCriteria (dict) --
Latest routing criteria on the contact.
Steps (list) --
List of routing steps. When Amazon Connect does not find an available agent meeting the requirements in a step for a given step duration, the routing criteria will move on to the next step sequentially until a join is completed with an agent. When all steps are exhausted, the contact will be offered to any agent in the queue.
(dict) --
Step signifies the criteria to be used for routing to an agent
Expiry (dict) --
An object to specify the expiration of a routing step.
DurationInSeconds (integer) --
The number of seconds to wait before expiring the routing step.
ExpiryTimestamp (datetime) --
The timestamp indicating when the routing step expires.
Expression (dict) --
A tagged union to specify expression for a routing step.
AttributeCondition (dict) --
An object to specify the predefined attribute condition.
Name (string) --
The name of predefined attribute.
Value (string) --
The value of predefined attribute.
ProficiencyLevel (float) --
The proficiency level of the condition.
Range (dict) --
An Object to define the minimum and maximum proficiency levels.
MinProficiencyLevel (float) --
The minimum proficiency level of the range.
MaxProficiencyLevel (float) --
The maximum proficiency level of the range.
MatchCriteria (dict) --
An object to define AgentsCriteria.
AgentsCriteria (dict) --
An object to define agentIds.
AgentIds (list) --
An object to specify a list of agents, by user ID.
(string) --
ComparisonOperator (string) --
The operator of the condition.
AndExpression (list) --
List of routing expressions which will be AND-ed together.
(dict) --
A tagged union to specify expression for a routing step.
OrExpression (list) --
List of routing expressions which will be OR-ed together.
(dict) --
A tagged union to specify expression for a routing step.
NotAttributeCondition (dict) --
An object to specify the predefined attribute condition.
Name (string) --
The name of predefined attribute.
Value (string) --
The value of predefined attribute.
ProficiencyLevel (float) --
The proficiency level of the condition.
Range (dict) --
An Object to define the minimum and maximum proficiency levels.
MinProficiencyLevel (float) --
The minimum proficiency level of the range.
MaxProficiencyLevel (float) --
The maximum proficiency level of the range.
MatchCriteria (dict) --
An object to define AgentsCriteria.
AgentsCriteria (dict) --
An object to define agentIds.
AgentIds (list) --
An object to specify a list of agents, by user ID.
(string) --
ComparisonOperator (string) --
The operator of the condition.
Status (string) --
Represents status of the Routing step.
ActivationTimestamp (datetime) --
The timestamp indicating when the routing criteria is set to active. A routing criteria is activated when contact is transferred to a queue. ActivationTimestamp will be set on routing criteria for contacts in agent queue even though Routing criteria is never activated for contacts in agent queue.
Index (integer) --
Information about the index of the routing criteria.
Customer (dict) --
Information about the Customer on the contact.
DeviceInfo (dict) --
Information regarding Customer’s device.
PlatformName (string) --
Name of the platform that the participant used for the call.
PlatformVersion (string) --
Version of the platform that the participant used for the call.
OperatingSystem (string) --
Operating system that the participant used for the call.
Capabilities (dict) --
The configuration for the allowed video and screen sharing capabilities for participants present over the call. For more information, see Set up in-app, web, video calling, and screen sharing capabilities in the Amazon Connect Administrator Guide.
Video (string) --
The configuration having the video and screen sharing capabilities for participants over the call.
ScreenShare (string) --
The screen sharing capability that is enabled for the participant. SEND indicates the participant can share their screen.
Campaign (dict) --
Information associated with a campaign.
CampaignId (string) --
A unique identifier for a campaign.
AnsweringMachineDetectionStatus (string) --
Indicates how an outbound campaign call is actually disposed if the contact is connected to Amazon Connect.
CustomerVoiceActivity (dict) --
Information about customer’s voice activity.
GreetingStartTimestamp (datetime) --
Timestamp that measures the beginning of the customer greeting from an outbound voice call.
GreetingEndTimestamp (datetime) --
Timestamp that measures the end of the customer greeting from an outbound voice call.
QualityMetrics (dict) --
Information about the quality of the participant's media connection.
Agent (dict) --
Information about the quality of Agent media connection.
Audio (dict) --
Information about the audio quality of the Agent
QualityScore (float) --
Number measuring the estimated quality of the media connection.
PotentialQualityIssues (list) --
List of potential issues causing degradation of quality on a media connection. If the service did not detect any potential quality issues the list is empty.
Valid values: HighPacketLoss | HighRoundTripTime | HighJitterBuffer
(string) --
Customer (dict) --
Information about the quality of Customer media connection.
Audio (dict) --
Information about the audio quality of the Customer
QualityScore (float) --
Number measuring the estimated quality of the media connection.
PotentialQualityIssues (list) --
List of potential issues causing degradation of quality on a media connection. If the service did not detect any potential quality issues the list is empty.
Valid values: HighPacketLoss | HighRoundTripTime | HighJitterBuffer
(string) --
DisconnectDetails (dict) --
Information about the call disconnect experience.
PotentialDisconnectIssue (string) --
Indicates the potential disconnection issues for a call. This field is not populated if the service does not detect potential issues.
AdditionalEmailRecipients (dict) --
List of additional email addresses for an email contact.
ToList (list) --
List of additional TO email recipients for an email contact.
(dict) --
Information about the email recipient
Address (string) --
Address of the email recipient.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 256.
DisplayName (string) --
Display name of the email recipient.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 256.
CcList (list) --
List of additional CC email recipients for an email contact.
(dict) --
Information about the email recipient
Address (string) --
Address of the email recipient.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 256.
DisplayName (string) --
Display name of the email recipient.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 256.
SegmentAttributes (dict) --
A set of system defined key-value pairs stored on individual contact segments using an attribute map. The attributes are standard Amazon Connect attributes and can be accessed in flows. Attribute keys can include only alphanumeric, -, and _ characters. This field can be used to show channel subtype. For example, connect:Guide or 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.
ValueMap (dict) --
The value of a segment attribute.
(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.
ValueInteger (integer) --
The value of a segment attribute.
{'RoutingCriteria': {'Steps': {'Expression': {'AttributeCondition': {'Range': {'MaxProficiencyLevel': 'float', 'MinProficiencyLevel': 'float'}}, 'NotAttributeCondition': {'ComparisonOperator': 'string', 'MatchCriteria': {'AgentsCriteria': {'AgentIds': ['string']}}, 'Name': 'string', 'ProficiencyLevel': 'float', 'Range': {'MaxProficiencyLevel': 'float', 'MinProficiencyLevel': 'float'}, 'Value': 'string'}}}}}
Updates routing priority and age on the contact (QueuePriority and QueueTimeAdjustmentInSeconds). These properties can be used to change a customer's position in the queue. For example, you can move a contact to the back of the queue by setting a lower routing priority relative to other contacts in queue; or you can move a contact to the front of the queue by increasing the routing age which will make the contact look artificially older and therefore higher up in the first-in-first-out routing order. Note that adjusting the routing age of a contact affects only its position in queue, and not its actual queue wait time as reported through metrics. These properties can also be updated by using the Set routing priority / age flow block.
See also: AWS API Documentation
Request Syntax
client.update_contact_routing_data( InstanceId='string', ContactId='string', QueueTimeAdjustmentSeconds=123, QueuePriority=123, RoutingCriteria={ 'Steps': [ { 'Expiry': { 'DurationInSeconds': 123 }, 'Expression': { 'AttributeCondition': { 'Name': 'string', 'Value': 'string', 'ProficiencyLevel': ..., 'Range': { 'MinProficiencyLevel': ..., 'MaxProficiencyLevel': ... }, 'MatchCriteria': { 'AgentsCriteria': { 'AgentIds': [ 'string', ] } }, 'ComparisonOperator': 'string' }, 'AndExpression': [ {'... recursive ...'}, ], 'OrExpression': [ {'... recursive ...'}, ], 'NotAttributeCondition': { 'Name': 'string', 'Value': 'string', 'ProficiencyLevel': ..., 'Range': { 'MinProficiencyLevel': ..., 'MaxProficiencyLevel': ... }, 'MatchCriteria': { 'AgentsCriteria': { 'AgentIds': [ 'string', ] } }, 'ComparisonOperator': 'string' } } }, ] } )
string
[REQUIRED]
The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.
string
[REQUIRED]
The identifier of the contact in this instance of Amazon Connect.
integer
The number of seconds to add or subtract from the contact's routing age. Contacts are routed to agents on a first-come, first-serve basis. This means that changing their amount of time in queue compared to others also changes their position in queue.
integer
Priority of the contact in the queue. The default priority for new contacts is 5. You can raise the priority of a contact compared to other contacts in the queue by assigning them a higher priority, such as 1 or 2.
dict
Updates the routing criteria on the contact. These properties can be used to change how a contact is routed within the queue.
Steps (list) --
When Amazon Connect does not find an available agent meeting the requirements in a step for a given step duration, the routing criteria will move on to the next step sequentially until a join is completed with an agent. When all steps are exhausted, the contact will be offered to any agent in the queue.
(dict) --
Step defines the list of agents to be routed or route based on the agent requirements such as ProficiencyLevel, Name, or Value.
Expiry (dict) --
An object to specify the expiration of a routing step.
DurationInSeconds (integer) --
The number of seconds that the contact will be routed only to agents matching this routing step, if expiry was configured for this routing step.
Expression (dict) --
A tagged union to specify expression for a routing step.
AttributeCondition (dict) --
An object to specify the predefined attribute condition.
Name (string) --
The name of predefined attribute.
Value (string) --
The value of predefined attribute.
ProficiencyLevel (float) --
The proficiency level of the condition.
Range (dict) --
An Object to define the minimum and maximum proficiency levels.
MinProficiencyLevel (float) --
The minimum proficiency level of the range.
MaxProficiencyLevel (float) --
The maximum proficiency level of the range.
MatchCriteria (dict) --
An object to define AgentsCriteria.
AgentsCriteria (dict) --
An object to define agentIds.
AgentIds (list) --
An object to specify a list of agents, by user ID.
(string) --
ComparisonOperator (string) --
The operator of the condition.
AndExpression (list) --
List of routing expressions which will be AND-ed together.
(dict) --
A tagged union to specify expression for a routing step.
OrExpression (list) --
List of routing expressions which will be OR-ed together.
(dict) --
A tagged union to specify expression for a routing step.
NotAttributeCondition (dict) --
An object to specify the predefined attribute condition.
Name (string) --
The name of predefined attribute.
Value (string) --
The value of predefined attribute.
ProficiencyLevel (float) --
The proficiency level of the condition.
Range (dict) --
An Object to define the minimum and maximum proficiency levels.
MinProficiencyLevel (float) --
The minimum proficiency level of the range.
MaxProficiencyLevel (float) --
The maximum proficiency level of the range.
MatchCriteria (dict) --
An object to define AgentsCriteria.
AgentsCriteria (dict) --
An object to define agentIds.
AgentIds (list) --
An object to specify a list of agents, by user ID.
(string) --
ComparisonOperator (string) --
The operator of the condition.
dict
Response Syntax
{}
Response Structure
(dict) --