Class Contact
- All Implemented Interfaces:
Serializable
,SdkPojo
,ToCopyableBuilder<Contact.Builder,
Contact>
Contains information about a contact.
- See Also:
-
Nested Class Summary
Nested Classes -
Method Summary
Modifier and TypeMethodDescriptionList of additional email addresses for an email contact.final AgentInfo
Information about the agent who accepted the contact.Indicates how an outbound campaign call is actually disposed if the contact is connected to Amazon Connect.final String
Indicates how an outbound campaign call is actually disposed if the contact is connected to Amazon Connect.final String
arn()
The Amazon Resource Name (ARN) for the contact.The attributes of the contact.static Contact.Builder
builder()
final Campaign
campaign()
Returns the value of the Campaign property for this object.final Channel
channel()
How the contact reached your contact center.final String
How the contact reached your contact center.final ChatMetrics
Information about how agent, bot, and customer interact in a chat contact.final Instant
The timestamp when customer endpoint connected to Amazon Connect.final String
This is the root contactId which is used as a unique identifier for all subsequent contacts in a contact tree.final ContactDetails
A map of string key/value pairs that contain user-defined attributes which are lightly typed within the contact.final Map
<String, ContactEvaluation> Information about the contact evaluations where the key is the FormId, which is a unique identifier for the form.final Customer
customer()
Information about the Customer on the contact.final EndpointInfo
The customer or external third party participant endpoint.final String
The customer's identification number.final CustomerVoiceActivity
Information about customer’s voice activity.final String
The description of the contact.final DisconnectDetails
Information about the call disconnect experience.final String
The disconnect reason for the contact.final Instant
The date and time that the customer endpoint disconnected from the current contact, in UTC time.final boolean
final boolean
equalsBySdkFields
(Object obj) Indicates whether some other object is "equal to" this one by SDK fields.final <T> Optional
<T> getValueForField
(String fieldName, Class<T> clazz) final boolean
For responses, this returns true if the service returned a value for the Attributes property.final boolean
For responses, this returns true if the service returned a value for the ContactEvaluations property.final int
hashCode()
final boolean
For responses, this returns true if the service returned a value for the Recordings property.final boolean
For responses, this returns true if the service returned a value for the SegmentAttributes property.final boolean
hasTags()
For responses, this returns true if the service returned a value for the Tags property.final String
id()
The identifier for the contact.final String
If this contact is related to other contacts, this is the ID of the initial contact.final ContactInitiationMethod
Indicates how the contact was initiated.final String
Indicates how the contact was initiated.final Instant
The date and time this contact was initiated, in UTC time.final Instant
The timestamp when the contact was last paused.final Instant
The timestamp when the contact was last resumed.final Instant
The timestamp when contact was last updated.final String
name()
The name of the contact.final String
If this contact is not the first contact, this is the ID of the previous contact.final QualityMetrics
Information about the quality of the participant's media connection.final QueueInfo
If this contact was queued, this contains information about the queue.final Long
An integer that represents the queue priority to be applied to the contact (lower priorities are routed preferentially).final Integer
An integer that represents the queue time adjust to be applied to the contact, in seconds (longer / larger queue time are routed preferentially).final List
<RecordingInfo> If recording was enabled, this is information about the recordings.final String
The contactId that is related to this contact.final RoutingCriteria
Latest routing criteria on the contact.final Instant
The timestamp, in Unix epoch time format, at which to start running the inbound flow.final Map
<String, SegmentAttributeValue> A set of system defined key-value pairs stored on individual contact segments using an attribute map.static Class
<? extends Contact.Builder> final EndpointInfo
The system endpoint.tags()
Tags associated with the contact.Take this object and create a builder that contains all of the current property values of this object.final String
toString()
Returns a string representation of this object.final Integer
Total pause count for a contact.final Integer
Total pause duration for a contact in seconds.final WisdomInfo
Information about Amazon Connect Wisdom.Methods inherited from interface software.amazon.awssdk.utils.builder.ToCopyableBuilder
copy
-
Method Details
-
arn
The Amazon Resource Name (ARN) for the contact.
- Returns:
- The Amazon Resource Name (ARN) for the contact.
-
id
-
initialContactId
If this contact is related to other contacts, this is the ID of the initial contact.
- Returns:
- If this contact is related to other contacts, this is the ID of the initial contact.
-
previousContactId
If this contact is not the first contact, this is the ID of the previous contact.
- Returns:
- If this contact is not the first contact, this is the ID of the previous contact.
-
contactAssociationId
This is the root contactId which is used as a unique identifier for all subsequent contacts in a contact tree.
- Returns:
- This is the root contactId which is used as a unique identifier for all subsequent contacts in a contact tree.
-
initiationMethod
Indicates how the contact was initiated.
If the service returns an enum value that is not available in the current SDK version,
initiationMethod
will returnContactInitiationMethod.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available frominitiationMethodAsString()
.- Returns:
- Indicates how the contact was initiated.
- See Also:
-
initiationMethodAsString
Indicates how the contact was initiated.
If the service returns an enum value that is not available in the current SDK version,
initiationMethod
will returnContactInitiationMethod.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available frominitiationMethodAsString()
.- Returns:
- Indicates how the contact was initiated.
- See Also:
-
name
-
description
The description of the contact.
- Returns:
- The description of the contact.
-
channel
How the contact reached your contact center.
If the service returns an enum value that is not available in the current SDK version,
channel
will returnChannel.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromchannelAsString()
.- Returns:
- How the contact reached your contact center.
- See Also:
-
channelAsString
How the contact reached your contact center.
If the service returns an enum value that is not available in the current SDK version,
channel
will returnChannel.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromchannelAsString()
.- Returns:
- How the contact reached your contact center.
- See Also:
-
queueInfo
If this contact was queued, this contains information about the queue.
- Returns:
- If this contact was queued, this contains information about the queue.
-
agentInfo
Information about the agent who accepted the contact.
- Returns:
- Information about the agent who accepted the contact.
-
initiationTimestamp
The date and time this contact was initiated, in UTC time. For
INBOUND
, this is when the contact arrived. ForOUTBOUND
, this is when the agent began dialing. ForCALLBACK
, this is when the callback contact was created. ForTRANSFER
andQUEUE_TRANSFER
, this is when the transfer was initiated. ForAPI
, this is when the request arrived. ForEXTERNAL_OUTBOUND
, this is when the agent started dialing the external participant. ForMONITOR
, this is when the supervisor started listening to a contact.- Returns:
- The date and time this contact was initiated, in UTC time. For
INBOUND
, this is when the contact arrived. ForOUTBOUND
, this is when the agent began dialing. ForCALLBACK
, this is when the callback contact was created. ForTRANSFER
andQUEUE_TRANSFER
, this is when the transfer was initiated. ForAPI
, this is when the request arrived. ForEXTERNAL_OUTBOUND
, this is when the agent started dialing the external participant. ForMONITOR
, this is when the supervisor started listening to a contact.
-
disconnectTimestamp
The date and time that the customer endpoint disconnected from the current contact, in UTC time. In transfer scenarios, the DisconnectTimestamp of the previous contact indicates the date and time when that contact ended.
- Returns:
- The date and time that the customer endpoint disconnected from the current contact, in UTC time. In transfer scenarios, the DisconnectTimestamp of the previous contact indicates the date and time when that contact ended.
-
lastUpdateTimestamp
The timestamp when contact was last updated.
- Returns:
- The timestamp when contact was last updated.
-
lastPausedTimestamp
The timestamp when the contact was last paused.
- Returns:
- The timestamp when the contact was last paused.
-
lastResumedTimestamp
The timestamp when the contact was last resumed.
- Returns:
- The timestamp when the contact was last resumed.
-
totalPauseCount
Total pause count for a contact.
- Returns:
- Total pause count for a contact.
-
totalPauseDurationInSeconds
Total pause duration for a contact in seconds.
- Returns:
- Total pause duration for a contact in seconds.
-
scheduledTimestamp
The timestamp, in Unix epoch time format, at which to start running the inbound flow.
- Returns:
- The timestamp, in Unix epoch time format, at which to start running the inbound flow.
-
wisdomInfo
Information about Amazon Connect Wisdom.
- Returns:
- Information about Amazon Connect Wisdom.
-
customerId
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 theCustomerSpeakerId
of the caller.- Returns:
- 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 theCustomerSpeakerId
of the caller.
-
customerEndpoint
The customer or external third party participant endpoint.
- Returns:
- The customer or external third party participant endpoint.
-
systemEndpoint
The system endpoint. For
INBOUND
, this is the phone number or email address that the customer dialed. ForOUTBOUND
andEXTERNAL_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.- Returns:
- The system endpoint. For
INBOUND
, this is the phone number or email address that the customer dialed. ForOUTBOUND
andEXTERNAL_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.
-
queueTimeAdjustmentSeconds
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.
- Returns:
- 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
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.
- Returns:
- 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.
-
hasTags
public final boolean hasTags()For responses, this returns true if the service returned a value for the Tags property. This DOES NOT check that the value is non-empty (for which, you should check theisEmpty()
method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified. -
tags
Tags associated with the contact. This contains both Amazon Web Services generated and user-defined tags.
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the
hasTags()
method.- Returns:
- Tags associated with the contact. This contains both Amazon Web Services generated and user-defined tags.
-
connectedToSystemTimestamp
The timestamp when customer endpoint connected to Amazon Connect.
- Returns:
- The timestamp when customer endpoint connected to Amazon Connect.
-
routingCriteria
Latest routing criteria on the contact.
- Returns:
- Latest routing criteria on the contact.
-
customer
Information about the Customer on the contact.
- Returns:
- Information about the Customer on the contact.
-
campaign
Returns the value of the Campaign property for this object.- Returns:
- The value of the Campaign property for this object.
-
answeringMachineDetectionStatus
Indicates how an outbound campaign call is actually disposed if the contact is connected to Amazon Connect.
If the service returns an enum value that is not available in the current SDK version,
answeringMachineDetectionStatus
will returnAnsweringMachineDetectionStatus.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromansweringMachineDetectionStatusAsString()
.- Returns:
- Indicates how an outbound campaign call is actually disposed if the contact is connected to Amazon Connect.
- See Also:
-
answeringMachineDetectionStatusAsString
Indicates how an outbound campaign call is actually disposed if the contact is connected to Amazon Connect.
If the service returns an enum value that is not available in the current SDK version,
answeringMachineDetectionStatus
will returnAnsweringMachineDetectionStatus.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromansweringMachineDetectionStatusAsString()
.- Returns:
- Indicates how an outbound campaign call is actually disposed if the contact is connected to Amazon Connect.
- See Also:
-
customerVoiceActivity
Information about customer’s voice activity.
- Returns:
- Information about customer’s voice activity.
-
qualityMetrics
Information about the quality of the participant's media connection.
- Returns:
- Information about the quality of the participant's media connection.
-
chatMetrics
Information about how agent, bot, and customer interact in a chat contact.
- Returns:
- Information about how agent, bot, and customer interact in a chat contact.
-
disconnectDetails
Information about the call disconnect experience.
- Returns:
- Information about the call disconnect experience.
-
additionalEmailRecipients
List of additional email addresses for an email contact.
- Returns:
- List of additional email addresses for an email contact.
-
hasSegmentAttributes
public final boolean hasSegmentAttributes()For responses, this returns true if the service returned a value for the SegmentAttributes property. This DOES NOT check that the value is non-empty (for which, you should check theisEmpty()
method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified. -
segmentAttributes
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
orconnect:SMS
.Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the
hasSegmentAttributes()
method.- Returns:
- 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
orconnect:SMS
.
-
hasRecordings
public final boolean hasRecordings()For responses, this returns true if the service returned a value for the Recordings property. This DOES NOT check that the value is non-empty (for which, you should check theisEmpty()
method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified. -
recordings
If recording was enabled, this is information about the recordings.
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the
hasRecordings()
method.- Returns:
- If recording was enabled, this is information about the recordings.
-
disconnectReason
The disconnect reason for the contact.
- Returns:
- The disconnect reason for the contact.
-
hasContactEvaluations
public final boolean hasContactEvaluations()For responses, this returns true if the service returned a value for the ContactEvaluations property. This DOES NOT check that the value is non-empty (for which, you should check theisEmpty()
method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified. -
contactEvaluations
Information about the contact evaluations where the key is the FormId, which is a unique identifier for the form.
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the
hasContactEvaluations()
method.- Returns:
- Information about the contact evaluations where the key is the FormId, which is a unique identifier for the form.
-
contactDetails
A map of string key/value pairs that contain user-defined attributes which are lightly typed within the contact. This object is used only for task contacts.
- Returns:
- A map of string key/value pairs that contain user-defined attributes which are lightly typed within the contact. This object is used only for task contacts.
-
hasAttributes
public final boolean hasAttributes()For responses, this returns true if the service returned a value for the Attributes property. This DOES NOT check that the value is non-empty (for which, you should check theisEmpty()
method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified. -
attributes
The attributes of the contact.
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the
hasAttributes()
method.- Returns:
- The attributes of the contact.
-
toBuilder
Description copied from interface:ToCopyableBuilder
Take this object and create a builder that contains all of the current property values of this object.- Specified by:
toBuilder
in interfaceToCopyableBuilder<Contact.Builder,
Contact> - Returns:
- a builder for type T
-
builder
-
serializableBuilderClass
-
hashCode
-
equals
-
equalsBySdkFields
Description copied from interface:SdkPojo
Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in anSdkPojo
class, and is generated based on a service model.If an
SdkPojo
class does not have any inherited fields,equalsBySdkFields
andequals
are essentially the same.- Specified by:
equalsBySdkFields
in interfaceSdkPojo
- Parameters:
obj
- the object to be compared with- Returns:
- true if the other object equals to this object by sdk fields, false otherwise.
-
toString
-
getValueForField
-
sdkFields
-
sdkFieldNameToField
- Specified by:
sdkFieldNameToField
in interfaceSdkPojo
- Returns:
- The mapping between the field name and its corresponding field.
-