2021/08/13 - Amazon Connect Customer Profiles - 4 updated api methods
Changes This release introduces Standard Profile Objects, namely Asset and Case which contain values populated by data from third party systems and belong to a specific profile. This release adds an optional parameter, ObjectFilter to the ListProfileObjects API in order to search for these Standard Objects.
{'Keys': {'StandardIdentifiers': {'CASE', 'ASSET'}}}
Returns the object types for a specific domain.
See also: AWS API Documentation
Request Syntax
client.get_profile_object_type( DomainName='string', ObjectTypeName='string' )
string
[REQUIRED]
The unique name of the domain.
string
[REQUIRED]
The name of the profile object type.
dict
Response Syntax
{ 'ObjectTypeName': 'string', 'Description': 'string', 'TemplateId': 'string', 'ExpirationDays': 123, 'EncryptionKey': 'string', 'AllowProfileCreation': True|False, 'Fields': { 'string': { 'Source': 'string', 'Target': 'string', 'ContentType': 'STRING'|'NUMBER'|'PHONE_NUMBER'|'EMAIL_ADDRESS'|'NAME' } }, 'Keys': { 'string': [ { 'StandardIdentifiers': [ 'PROFILE'|'ASSET'|'CASE'|'UNIQUE'|'SECONDARY'|'LOOKUP_ONLY'|'NEW_ONLY', ], 'FieldNames': [ 'string', ] }, ] }, 'CreatedAt': datetime(2015, 1, 1), 'LastUpdatedAt': datetime(2015, 1, 1), 'Tags': { 'string': 'string' } }
Response Structure
(dict) --
ObjectTypeName (string) --
The name of the profile object type.
Description (string) --
The description of the profile object type.
TemplateId (string) --
A unique identifier for the object template.
ExpirationDays (integer) --
The number of days until the data in the object expires.
EncryptionKey (string) --
The customer-provided key to encrypt the profile object that will be created in this profile object type.
AllowProfileCreation (boolean) --
Indicates whether a profile should be created when data is received if one doesn’t exist for an object of this type. The default is FALSE . If the AllowProfileCreation flag is set to FALSE , then the service tries to fetch a standard profile and associate this object with the profile. If it is set to TRUE , and if no match is found, then the service creates a new standard profile.
Fields (dict) --
A map of the name and ObjectType field.
(string) --
(dict) --
Represents a field in a ProfileObjectType.
Source (string) --
A field of a ProfileObject. For example: _source.FirstName, where “_source” is a ProfileObjectType of a Zendesk user and “FirstName” is a field in that ObjectType.
Target (string) --
The location of the data in the standard ProfileObject model. For example: _profile.Address.PostalCode.
ContentType (string) --
The content type of the field. Used for determining equality when searching.
Keys (dict) --
A list of unique keys that can be used to map data to the profile.
(string) --
(list) --
(dict) --
An object that defines the Key element of a ProfileObject. A Key is a special element that can be used to search for a customer profile.
StandardIdentifiers (list) --
The types of keys that a ProfileObject can have. Each ProfileObject can have only 1 UNIQUE key but multiple PROFILE keys. PROFILE, ASSET or CASE means that this key can be used to tie an object to a PROFILE, ASSET or CASE respectively. UNIQUE means that it can be used to uniquely identify an object. If a key a is marked as SECONDARY, it will be used to search for profiles after all other PROFILE keys have been searched. A LOOKUP_ONLY key is only used to match a profile but is not persisted to be used for searching of the profile. A NEW_ONLY key is only used if the profile does not already exist before the object is ingested, otherwise it is only used for matching objects to profiles.
(string) --
FieldNames (list) --
The reference for the key name of the fields map.
(string) --
CreatedAt (datetime) --
The timestamp of when the domain was created.
LastUpdatedAt (datetime) --
The timestamp of when the domain was most recently edited.
Tags (dict) --
The tags used to organize, track, or control access for this resource.
(string) --
(string) --
{'Keys': {'StandardIdentifiers': {'CASE', 'ASSET'}}}
Returns the template information for a specific object type.
A template is a predefined ProfileObjectType, such as “Salesforce-Account” or “Salesforce-Contact.” When a user sends a ProfileObject, using the PutProfileObject API, with an ObjectTypeName that matches one of the TemplateIds, it uses the mappings from the template.
See also: AWS API Documentation
Request Syntax
client.get_profile_object_type_template( TemplateId='string' )
string
[REQUIRED]
A unique identifier for the object template.
dict
Response Syntax
{ 'TemplateId': 'string', 'SourceName': 'string', 'SourceObject': 'string', 'AllowProfileCreation': True|False, 'Fields': { 'string': { 'Source': 'string', 'Target': 'string', 'ContentType': 'STRING'|'NUMBER'|'PHONE_NUMBER'|'EMAIL_ADDRESS'|'NAME' } }, 'Keys': { 'string': [ { 'StandardIdentifiers': [ 'PROFILE'|'ASSET'|'CASE'|'UNIQUE'|'SECONDARY'|'LOOKUP_ONLY'|'NEW_ONLY', ], 'FieldNames': [ 'string', ] }, ] } }
Response Structure
(dict) --
TemplateId (string) --
A unique identifier for the object template.
SourceName (string) --
The name of the source of the object template.
SourceObject (string) --
The source of the object template.
AllowProfileCreation (boolean) --
Indicates whether a profile should be created when data is received if one doesn’t exist for an object of this type. The default is FALSE . If the AllowProfileCreation flag is set to FALSE , then the service tries to fetch a standard profile and associate this object with the profile. If it is set to TRUE , and if no match is found, then the service creates a new standard profile.
Fields (dict) --
A map of the name and ObjectType field.
(string) --
(dict) --
Represents a field in a ProfileObjectType.
Source (string) --
A field of a ProfileObject. For example: _source.FirstName, where “_source” is a ProfileObjectType of a Zendesk user and “FirstName” is a field in that ObjectType.
Target (string) --
The location of the data in the standard ProfileObject model. For example: _profile.Address.PostalCode.
ContentType (string) --
The content type of the field. Used for determining equality when searching.
Keys (dict) --
A list of unique keys that can be used to map data to the profile.
(string) --
(list) --
(dict) --
An object that defines the Key element of a ProfileObject. A Key is a special element that can be used to search for a customer profile.
StandardIdentifiers (list) --
The types of keys that a ProfileObject can have. Each ProfileObject can have only 1 UNIQUE key but multiple PROFILE keys. PROFILE, ASSET or CASE means that this key can be used to tie an object to a PROFILE, ASSET or CASE respectively. UNIQUE means that it can be used to uniquely identify an object. If a key a is marked as SECONDARY, it will be used to search for profiles after all other PROFILE keys have been searched. A LOOKUP_ONLY key is only used to match a profile but is not persisted to be used for searching of the profile. A NEW_ONLY key is only used if the profile does not already exist before the object is ingested, otherwise it is only used for matching objects to profiles.
(string) --
FieldNames (list) --
The reference for the key name of the fields map.
(string) --
{'ObjectFilter': {'KeyName': 'string', 'Values': ['string']}}
Returns a list of objects associated with a profile of a given ProfileObjectType.
See also: AWS API Documentation
Request Syntax
client.list_profile_objects( NextToken='string', MaxResults=123, DomainName='string', ObjectTypeName='string', ProfileId='string', ObjectFilter={ 'KeyName': 'string', 'Values': [ 'string', ] } )
string
The pagination token from the previous call to ListProfileObjects.
integer
The maximum number of objects returned per page.
string
[REQUIRED]
The unique name of the domain.
string
[REQUIRED]
The name of the profile object type.
string
[REQUIRED]
The unique identifier of a customer profile.
dict
Applies a filter to the response to include profile objects with the specified index values. This filter is only supported for ObjectTypeName _asset and _case.
KeyName (string) -- [REQUIRED]
A searchable identifier of a standard profile object. The predefined keys you can use to search for _asset include: _assetId, _assetName, _serialNumber. The predefined keys you can use to search for _case include: _caseId.
Values (list) -- [REQUIRED]
A list of key values.
(string) --
dict
Response Syntax
{ 'Items': [ { 'ObjectTypeName': 'string', 'ProfileObjectUniqueKey': 'string', 'Object': 'string' }, ], 'NextToken': 'string' }
Response Structure
(dict) --
Items (list) --
The list of ListProfileObject instances.
(dict) --
A ProfileObject in a list of ProfileObjects.
ObjectTypeName (string) --
Specifies the kind of object being added to a profile, such as "Salesforce-Account."
ProfileObjectUniqueKey (string) --
The unique identifier of the ProfileObject generated by the service.
Object (string) --
A JSON representation of a ProfileObject that belongs to a profile.
NextToken (string) --
The pagination token from the previous call to ListProfileObjects.
{'Keys': {'StandardIdentifiers': {'CASE', 'ASSET'}}}
Defines a ProfileObjectType.
See also: AWS API Documentation
Request Syntax
client.put_profile_object_type( DomainName='string', ObjectTypeName='string', Description='string', TemplateId='string', ExpirationDays=123, EncryptionKey='string', AllowProfileCreation=True|False, Fields={ 'string': { 'Source': 'string', 'Target': 'string', 'ContentType': 'STRING'|'NUMBER'|'PHONE_NUMBER'|'EMAIL_ADDRESS'|'NAME' } }, Keys={ 'string': [ { 'StandardIdentifiers': [ 'PROFILE'|'ASSET'|'CASE'|'UNIQUE'|'SECONDARY'|'LOOKUP_ONLY'|'NEW_ONLY', ], 'FieldNames': [ 'string', ] }, ] }, Tags={ 'string': 'string' } )
string
[REQUIRED]
The unique name of the domain.
string
[REQUIRED]
The name of the profile object type.
string
[REQUIRED]
Description of the profile object type.
string
A unique identifier for the object template.
integer
The number of days until the data in the object expires.
string
The customer-provided key to encrypt the profile object that will be created in this profile object type.
boolean
Indicates whether a profile should be created when data is received if one doesn’t exist for an object of this type. The default is FALSE . If the AllowProfileCreation flag is set to FALSE , then the service tries to fetch a standard profile and associate this object with the profile. If it is set to TRUE , and if no match is found, then the service creates a new standard profile.
dict
A map of the name and ObjectType field.
(string) --
(dict) --
Represents a field in a ProfileObjectType.
Source (string) --
A field of a ProfileObject. For example: _source.FirstName, where “_source” is a ProfileObjectType of a Zendesk user and “FirstName” is a field in that ObjectType.
Target (string) --
The location of the data in the standard ProfileObject model. For example: _profile.Address.PostalCode.
ContentType (string) --
The content type of the field. Used for determining equality when searching.
dict
A list of unique keys that can be used to map data to the profile.
(string) --
(list) --
(dict) --
An object that defines the Key element of a ProfileObject. A Key is a special element that can be used to search for a customer profile.
StandardIdentifiers (list) --
The types of keys that a ProfileObject can have. Each ProfileObject can have only 1 UNIQUE key but multiple PROFILE keys. PROFILE, ASSET or CASE means that this key can be used to tie an object to a PROFILE, ASSET or CASE respectively. UNIQUE means that it can be used to uniquely identify an object. If a key a is marked as SECONDARY, it will be used to search for profiles after all other PROFILE keys have been searched. A LOOKUP_ONLY key is only used to match a profile but is not persisted to be used for searching of the profile. A NEW_ONLY key is only used if the profile does not already exist before the object is ingested, otherwise it is only used for matching objects to profiles.
(string) --
FieldNames (list) --
The reference for the key name of the fields map.
(string) --
dict
The tags used to organize, track, or control access for this resource.
(string) --
(string) --
dict
Response Syntax
{ 'ObjectTypeName': 'string', 'Description': 'string', 'TemplateId': 'string', 'ExpirationDays': 123, 'EncryptionKey': 'string', 'AllowProfileCreation': True|False, 'Fields': { 'string': { 'Source': 'string', 'Target': 'string', 'ContentType': 'STRING'|'NUMBER'|'PHONE_NUMBER'|'EMAIL_ADDRESS'|'NAME' } }, 'Keys': { 'string': [ { 'StandardIdentifiers': [ 'PROFILE'|'ASSET'|'CASE'|'UNIQUE'|'SECONDARY'|'LOOKUP_ONLY'|'NEW_ONLY', ], 'FieldNames': [ 'string', ] }, ] }, 'CreatedAt': datetime(2015, 1, 1), 'LastUpdatedAt': datetime(2015, 1, 1), 'Tags': { 'string': 'string' } }
Response Structure
(dict) --
ObjectTypeName (string) --
The name of the profile object type.
Description (string) --
Description of the profile object type.
TemplateId (string) --
A unique identifier for the object template.
ExpirationDays (integer) --
The number of days until the data in the object expires.
EncryptionKey (string) --
The customer-provided key to encrypt the profile object that will be created in this profile object type.
AllowProfileCreation (boolean) --
Indicates whether a profile should be created when data is received if one doesn’t exist for an object of this type. The default is FALSE . If the AllowProfileCreation flag is set to FALSE , then the service tries to fetch a standard profile and associate this object with the profile. If it is set to TRUE , and if no match is found, then the service creates a new standard profile.
Fields (dict) --
A map of the name and ObjectType field.
(string) --
(dict) --
Represents a field in a ProfileObjectType.
Source (string) --
A field of a ProfileObject. For example: _source.FirstName, where “_source” is a ProfileObjectType of a Zendesk user and “FirstName” is a field in that ObjectType.
Target (string) --
The location of the data in the standard ProfileObject model. For example: _profile.Address.PostalCode.
ContentType (string) --
The content type of the field. Used for determining equality when searching.
Keys (dict) --
A list of unique keys that can be used to map data to the profile.
(string) --
(list) --
(dict) --
An object that defines the Key element of a ProfileObject. A Key is a special element that can be used to search for a customer profile.
StandardIdentifiers (list) --
The types of keys that a ProfileObject can have. Each ProfileObject can have only 1 UNIQUE key but multiple PROFILE keys. PROFILE, ASSET or CASE means that this key can be used to tie an object to a PROFILE, ASSET or CASE respectively. UNIQUE means that it can be used to uniquely identify an object. If a key a is marked as SECONDARY, it will be used to search for profiles after all other PROFILE keys have been searched. A LOOKUP_ONLY key is only used to match a profile but is not persisted to be used for searching of the profile. A NEW_ONLY key is only used if the profile does not already exist before the object is ingested, otherwise it is only used for matching objects to profiles.
(string) --
FieldNames (list) --
The reference for the key name of the fields map.
(string) --
CreatedAt (datetime) --
The timestamp of when the domain was created.
LastUpdatedAt (datetime) --
The timestamp of when the domain was most recently edited.
Tags (dict) --
The tags used to organize, track, or control access for this resource.
(string) --
(string) --