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) --