Amazon Connect Customer Profiles

2021/12/20 - Amazon Connect Customer Profiles - 7 updated api methods

Changes  This release adds an optional parameter, ObjectTypeNames to the PutIntegration API to support multiple object types per integration option. Besides, this release introduces Standard Order Objects which contain data from third party systems and each order object belongs to a specific profile.

GetIntegration (updated) Link ¶
Changes (response)
{'ObjectTypeNames': {'string': 'string'}}

Returns an integration for a domain.

See also: AWS API Documentation

Request Syntax

client.get_integration(
    DomainName='string',
    Uri='string'
)
type DomainName

string

param DomainName

[REQUIRED]

The unique name of the domain.

type Uri

string

param Uri

[REQUIRED]

The URI of the S3 bucket or any other type of data source.

rtype

dict

returns

Response Syntax

{
    'DomainName': 'string',
    'Uri': 'string',
    'ObjectTypeName': 'string',
    'CreatedAt': datetime(2015, 1, 1),
    'LastUpdatedAt': datetime(2015, 1, 1),
    'Tags': {
        'string': 'string'
    },
    'ObjectTypeNames': {
        'string': 'string'
    }
}

Response Structure

  • (dict) --

    • DomainName (string) --

      The unique name of the domain.

    • Uri (string) --

      The URI of the S3 bucket or any other type of data source.

    • ObjectTypeName (string) --

      The name of the profile object type.

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

    • ObjectTypeNames (dict) --

      A map in which each key is an event type from an external application such as Segment or Shopify, and each value is an ObjectTypeName (template) used to ingest the event. It supports the following event types: SegmentIdentify , ShopifyCreateCustomers , ShopifyUpdateCustomers , ShopifyCreateDraftOrders , ShopifyUpdateDraftOrders , ShopifyCreateOrders , and ShopifyUpdatedOrders .

      • (string) --

        • (string) --

GetProfileObjectType (updated) Link ¶
Changes (response)
{'Keys': {'StandardIdentifiers': {'ORDER'}}}

Returns the object types for a specific domain.

See also: AWS API Documentation

Request Syntax

client.get_profile_object_type(
    DomainName='string',
    ObjectTypeName='string'
)
type DomainName

string

param DomainName

[REQUIRED]

The unique name of the domain.

type ObjectTypeName

string

param ObjectTypeName

[REQUIRED]

The name of the profile object type.

rtype

dict

returns

Response Syntax

{
    'ObjectTypeName': 'string',
    'Description': 'string',
    'TemplateId': 'string',
    'ExpirationDays': 123,
    'EncryptionKey': 'string',
    'AllowProfileCreation': True|False,
    'SourceLastUpdatedTimestampFormat': 'string',
    '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'|'ORDER',
                ],
                '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.

    • SourceLastUpdatedTimestampFormat (string) --

      The format of your sourceLastUpdatedTimestamp that was previously set up.

    • 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, CASE, or ORDER means that this key can be used to tie an object to a PROFILE, ASSET, CASE, or ORDER 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) --

GetProfileObjectTypeTemplate (updated) Link ¶
Changes (response)
{'Keys': {'StandardIdentifiers': {'ORDER'}}}

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'
)
type TemplateId

string

param TemplateId

[REQUIRED]

A unique identifier for the object template.

rtype

dict

returns

Response Syntax

{
    'TemplateId': 'string',
    'SourceName': 'string',
    'SourceObject': 'string',
    'AllowProfileCreation': True|False,
    'SourceLastUpdatedTimestampFormat': 'string',
    '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'|'ORDER',
                ],
                '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.

    • SourceLastUpdatedTimestampFormat (string) --

      The format of your sourceLastUpdatedTimestamp that was previously set up.

    • 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, CASE, or ORDER means that this key can be used to tie an object to a PROFILE, ASSET, CASE, or ORDER 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) --

ListAccountIntegrations (updated) Link ¶
Changes (response)
{'Items': {'ObjectTypeNames': {'string': 'string'}}}

Lists all of the integrations associated to a specific URI in the AWS account.

See also: AWS API Documentation

Request Syntax

client.list_account_integrations(
    Uri='string',
    NextToken='string',
    MaxResults=123
)
type Uri

string

param Uri

[REQUIRED]

The URI of the S3 bucket or any other type of data source.

type NextToken

string

param NextToken

The pagination token from the previous ListAccountIntegrations API call.

type MaxResults

integer

param MaxResults

The maximum number of objects returned per page.

rtype

dict

returns

Response Syntax

{
    'Items': [
        {
            'DomainName': 'string',
            'Uri': 'string',
            'ObjectTypeName': 'string',
            'CreatedAt': datetime(2015, 1, 1),
            'LastUpdatedAt': datetime(2015, 1, 1),
            'Tags': {
                'string': 'string'
            },
            'ObjectTypeNames': {
                'string': 'string'
            }
        },
    ],
    'NextToken': 'string'
}

Response Structure

  • (dict) --

    • Items (list) --

      The list of ListAccountIntegration instances.

      • (dict) --

        An integration in list of integrations.

        • DomainName (string) --

          The unique name of the domain.

        • Uri (string) --

          The URI of the S3 bucket or any other type of data source.

        • ObjectTypeName (string) --

          The name of the profile object type.

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

        • ObjectTypeNames (dict) --

          A map in which each key is an event type from an external application such as Segment or Shopify, and each value is an ObjectTypeName (template) used to ingest the event. It supports the following event types: SegmentIdentify , ShopifyCreateCustomers , ShopifyUpdateCustomers , ShopifyCreateDraftOrders , ShopifyUpdateDraftOrders , ShopifyCreateOrders , and ShopifyUpdatedOrders .

          • (string) --

            • (string) --

    • NextToken (string) --

      The pagination token from the previous ListAccountIntegrations API call.

ListIntegrations (updated) Link ¶
Changes (response)
{'Items': {'ObjectTypeNames': {'string': 'string'}}}

Lists all of the integrations in your domain.

See also: AWS API Documentation

Request Syntax

client.list_integrations(
    DomainName='string',
    NextToken='string',
    MaxResults=123
)
type DomainName

string

param DomainName

[REQUIRED]

The unique name of the domain.

type NextToken

string

param NextToken

The pagination token from the previous ListIntegrations API call.

type MaxResults

integer

param MaxResults

The maximum number of objects returned per page.

rtype

dict

returns

Response Syntax

{
    'Items': [
        {
            'DomainName': 'string',
            'Uri': 'string',
            'ObjectTypeName': 'string',
            'CreatedAt': datetime(2015, 1, 1),
            'LastUpdatedAt': datetime(2015, 1, 1),
            'Tags': {
                'string': 'string'
            },
            'ObjectTypeNames': {
                'string': 'string'
            }
        },
    ],
    'NextToken': 'string'
}

Response Structure

  • (dict) --

    • Items (list) --

      The list of ListIntegrations instances.

      • (dict) --

        An integration in list of integrations.

        • DomainName (string) --

          The unique name of the domain.

        • Uri (string) --

          The URI of the S3 bucket or any other type of data source.

        • ObjectTypeName (string) --

          The name of the profile object type.

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

        • ObjectTypeNames (dict) --

          A map in which each key is an event type from an external application such as Segment or Shopify, and each value is an ObjectTypeName (template) used to ingest the event. It supports the following event types: SegmentIdentify , ShopifyCreateCustomers , ShopifyUpdateCustomers , ShopifyCreateDraftOrders , ShopifyUpdateDraftOrders , ShopifyCreateOrders , and ShopifyUpdatedOrders .

          • (string) --

            • (string) --

    • NextToken (string) --

      The pagination token from the previous ListIntegrations API call.

PutIntegration (updated) Link ¶
Changes (both)
{'ObjectTypeNames': {'string': 'string'}}

Adds an integration between the service and a third-party service, which includes Amazon AppFlow and Amazon Connect.

An integration can belong to only one domain.

See also: AWS API Documentation

Request Syntax

client.put_integration(
    DomainName='string',
    Uri='string',
    ObjectTypeName='string',
    Tags={
        'string': 'string'
    },
    FlowDefinition={
        'Description': 'string',
        'FlowName': 'string',
        'KmsArn': 'string',
        'SourceFlowConfig': {
            'ConnectorProfileName': 'string',
            'ConnectorType': 'Salesforce'|'Marketo'|'Zendesk'|'Servicenow'|'S3',
            'IncrementalPullConfig': {
                'DatetimeTypeFieldName': 'string'
            },
            'SourceConnectorProperties': {
                'Marketo': {
                    'Object': 'string'
                },
                'S3': {
                    'BucketName': 'string',
                    'BucketPrefix': 'string'
                },
                'Salesforce': {
                    'Object': 'string',
                    'EnableDynamicFieldUpdate': True|False,
                    'IncludeDeletedRecords': True|False
                },
                'ServiceNow': {
                    'Object': 'string'
                },
                'Zendesk': {
                    'Object': 'string'
                }
            }
        },
        'Tasks': [
            {
                'ConnectorOperator': {
                    'Marketo': 'PROJECTION'|'LESS_THAN'|'GREATER_THAN'|'BETWEEN'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC'|'NO_OP',
                    'S3': 'PROJECTION'|'LESS_THAN'|'GREATER_THAN'|'BETWEEN'|'LESS_THAN_OR_EQUAL_TO'|'GREATER_THAN_OR_EQUAL_TO'|'EQUAL_TO'|'NOT_EQUAL_TO'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC'|'NO_OP',
                    'Salesforce': 'PROJECTION'|'LESS_THAN'|'CONTAINS'|'GREATER_THAN'|'BETWEEN'|'LESS_THAN_OR_EQUAL_TO'|'GREATER_THAN_OR_EQUAL_TO'|'EQUAL_TO'|'NOT_EQUAL_TO'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC'|'NO_OP',
                    'ServiceNow': 'PROJECTION'|'CONTAINS'|'LESS_THAN'|'GREATER_THAN'|'BETWEEN'|'LESS_THAN_OR_EQUAL_TO'|'GREATER_THAN_OR_EQUAL_TO'|'EQUAL_TO'|'NOT_EQUAL_TO'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC'|'NO_OP',
                    'Zendesk': 'PROJECTION'|'GREATER_THAN'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC'|'NO_OP'
                },
                'DestinationField': 'string',
                'SourceFields': [
                    'string',
                ],
                'TaskProperties': {
                    'string': 'string'
                },
                'TaskType': 'Arithmetic'|'Filter'|'Map'|'Mask'|'Merge'|'Truncate'|'Validate'
            },
        ],
        'TriggerConfig': {
            'TriggerType': 'Scheduled'|'Event'|'OnDemand',
            'TriggerProperties': {
                'Scheduled': {
                    'ScheduleExpression': 'string',
                    'DataPullMode': 'Incremental'|'Complete',
                    'ScheduleStartTime': datetime(2015, 1, 1),
                    'ScheduleEndTime': datetime(2015, 1, 1),
                    'Timezone': 'string',
                    'ScheduleOffset': 123,
                    'FirstExecutionFrom': datetime(2015, 1, 1)
                }
            }
        }
    },
    ObjectTypeNames={
        'string': 'string'
    }
)
type DomainName

string

param DomainName

[REQUIRED]

The unique name of the domain.

type Uri

string

param Uri

The URI of the S3 bucket or any other type of data source.

type ObjectTypeName

string

param ObjectTypeName

The name of the profile object type.

type Tags

dict

param Tags

The tags used to organize, track, or control access for this resource.

  • (string) --

    • (string) --

type FlowDefinition

dict

param FlowDefinition

The configuration that controls how Customer Profiles retrieves data from the source.

  • Description (string) --

    A description of the flow you want to create.

  • FlowName (string) -- [REQUIRED]

    The specified name of the flow. Use underscores (_) or hyphens (-) only. Spaces are not allowed.

  • KmsArn (string) -- [REQUIRED]

    The Amazon Resource Name of the AWS Key Management Service (KMS) key you provide for encryption.

  • SourceFlowConfig (dict) -- [REQUIRED]

    The configuration that controls how Customer Profiles retrieves data from the source.

    • ConnectorProfileName (string) --

      The name of the AppFlow connector profile. This name must be unique for each connector profile in the AWS account.

    • ConnectorType (string) -- [REQUIRED]

      The type of connector, such as Salesforce, Marketo, and so on.

    • IncrementalPullConfig (dict) --

      Defines the configuration for a scheduled incremental data pull. If a valid configuration is provided, the fields specified in the configuration are used when querying for the incremental data pull.

      • DatetimeTypeFieldName (string) --

        A field that specifies the date time or timestamp field as the criteria to use when importing incremental records from the source.

    • SourceConnectorProperties (dict) -- [REQUIRED]

      Specifies the information that is required to query a particular source connector.

      • Marketo (dict) --

        The properties that are applied when Marketo is being used as a source.

        • Object (string) -- [REQUIRED]

          The object specified in the Marketo flow source.

      • S3 (dict) --

        The properties that are applied when Amazon S3 is being used as the flow source.

        • BucketName (string) -- [REQUIRED]

          The Amazon S3 bucket name where the source files are stored.

        • BucketPrefix (string) --

          The object key for the Amazon S3 bucket in which the source files are stored.

      • Salesforce (dict) --

        The properties that are applied when Salesforce is being used as a source.

        • Object (string) -- [REQUIRED]

          The object specified in the Salesforce flow source.

        • EnableDynamicFieldUpdate (boolean) --

          The flag that enables dynamic fetching of new (recently added) fields in the Salesforce objects while running a flow.

        • IncludeDeletedRecords (boolean) --

          Indicates whether Amazon AppFlow includes deleted files in the flow run.

      • ServiceNow (dict) --

        The properties that are applied when ServiceNow is being used as a source.

        • Object (string) -- [REQUIRED]

          The object specified in the ServiceNow flow source.

      • Zendesk (dict) --

        The properties that are applied when using Zendesk as a flow source.

        • Object (string) -- [REQUIRED]

          The object specified in the Zendesk flow source.

  • Tasks (list) -- [REQUIRED]

    A list of tasks that Customer Profiles performs while transferring the data in the flow run.

    • (dict) --

      A class for modeling different type of tasks. Task implementation varies based on the TaskType.

      • ConnectorOperator (dict) --

        The operation to be performed on the provided source fields.

        • Marketo (string) --

          The operation to be performed on the provided Marketo source fields.

        • S3 (string) --

          The operation to be performed on the provided Amazon S3 source fields.

        • Salesforce (string) --

          The operation to be performed on the provided Salesforce source fields.

        • ServiceNow (string) --

          The operation to be performed on the provided ServiceNow source fields.

        • Zendesk (string) --

          The operation to be performed on the provided Zendesk source fields.

      • DestinationField (string) --

        A field in a destination connector, or a field value against which Amazon AppFlow validates a source field.

      • SourceFields (list) -- [REQUIRED]

        The source fields to which a particular task is applied.

        • (string) --

      • TaskProperties (dict) --

        A map used to store task-related information. The service looks for particular information based on the TaskType.

        • (string) --

          • (string) --

      • TaskType (string) -- [REQUIRED]

        Specifies the particular task implementation that Amazon AppFlow performs.

  • TriggerConfig (dict) -- [REQUIRED]

    The trigger settings that determine how and when the flow runs.

    • TriggerType (string) -- [REQUIRED]

      Specifies the type of flow trigger. It can be OnDemand, Scheduled, or Event.

    • TriggerProperties (dict) --

      Specifies the configuration details of a schedule-triggered flow that you define. Currently, these settings only apply to the Scheduled trigger type.

      • Scheduled (dict) --

        Specifies the configuration details of a schedule-triggered flow that you define.

        • ScheduleExpression (string) -- [REQUIRED]

          The scheduling expression that determines the rate at which the schedule will run, for example rate (5 minutes).

        • DataPullMode (string) --

          Specifies whether a scheduled flow has an incremental data transfer or a complete data transfer for each flow run.

        • ScheduleStartTime (datetime) --

          Specifies the scheduled start time for a scheduled-trigger flow.

        • ScheduleEndTime (datetime) --

          Specifies the scheduled end time for a scheduled-trigger flow.

        • Timezone (string) --

          Specifies the time zone used when referring to the date and time of a scheduled-triggered flow, such as America/New_York.

        • ScheduleOffset (integer) --

          Specifies the optional offset that is added to the time interval for a schedule-triggered flow.

        • FirstExecutionFrom (datetime) --

          Specifies the date range for the records to import from the connector in the first flow run.

type ObjectTypeNames

dict

param ObjectTypeNames

A map in which each key is an event type from an external application such as Segment or Shopify, and each value is an ObjectTypeName (template) used to ingest the event. It supports the following event types: SegmentIdentify , ShopifyCreateCustomers , ShopifyUpdateCustomers , ShopifyCreateDraftOrders , ShopifyUpdateDraftOrders , ShopifyCreateOrders , and ShopifyUpdatedOrders .

  • (string) --

    • (string) --

rtype

dict

returns

Response Syntax

{
    'DomainName': 'string',
    'Uri': 'string',
    'ObjectTypeName': 'string',
    'CreatedAt': datetime(2015, 1, 1),
    'LastUpdatedAt': datetime(2015, 1, 1),
    'Tags': {
        'string': 'string'
    },
    'ObjectTypeNames': {
        'string': 'string'
    }
}

Response Structure

  • (dict) --

    • DomainName (string) --

      The unique name of the domain.

    • Uri (string) --

      The URI of the S3 bucket or any other type of data source.

    • ObjectTypeName (string) --

      The name of the profile object type.

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

    • ObjectTypeNames (dict) --

      A map in which each key is an event type from an external application such as Segment or Shopify, and each value is an ObjectTypeName (template) used to ingest the event. It supports the following event types: SegmentIdentify , ShopifyCreateCustomers , ShopifyUpdateCustomers , ShopifyCreateDraftOrders , ShopifyUpdateDraftOrders , ShopifyCreateOrders , and ShopifyUpdatedOrders .

      • (string) --

        • (string) --

PutProfileObjectType (updated) Link ¶
Changes (both)
{'Keys': {'StandardIdentifiers': {'ORDER'}}}

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,
    SourceLastUpdatedTimestampFormat='string',
    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'|'ORDER',
                ],
                'FieldNames': [
                    'string',
                ]
            },
        ]
    },
    Tags={
        'string': 'string'
    }
)
type DomainName

string

param DomainName

[REQUIRED]

The unique name of the domain.

type ObjectTypeName

string

param ObjectTypeName

[REQUIRED]

The name of the profile object type.

type Description

string

param Description

[REQUIRED]

Description of the profile object type.

type TemplateId

string

param TemplateId

A unique identifier for the object template.

type ExpirationDays

integer

param ExpirationDays

The number of days until the data in the object expires.

type EncryptionKey

string

param EncryptionKey

The customer-provided key to encrypt the profile object that will be created in this profile object type.

type AllowProfileCreation

boolean

param AllowProfileCreation

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.

type SourceLastUpdatedTimestampFormat

string

param SourceLastUpdatedTimestampFormat

The format of your sourceLastUpdatedTimestamp that was previously set up.

type Fields

dict

param Fields

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.

type Keys

dict

param Keys

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, CASE, or ORDER means that this key can be used to tie an object to a PROFILE, ASSET, CASE, or ORDER 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) --

type Tags

dict

param Tags

The tags used to organize, track, or control access for this resource.

  • (string) --

    • (string) --

rtype

dict

returns

Response Syntax

{
    'ObjectTypeName': 'string',
    'Description': 'string',
    'TemplateId': 'string',
    'ExpirationDays': 123,
    'EncryptionKey': 'string',
    'AllowProfileCreation': True|False,
    'SourceLastUpdatedTimestampFormat': 'string',
    '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'|'ORDER',
                ],
                '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.

    • SourceLastUpdatedTimestampFormat (string) --

      The format of your sourceLastUpdatedTimestamp that was previously set up in fields that were parsed using SimpleDateFormat . If you have sourceLastUpdatedTimestamp in your field, you must set up sourceLastUpdatedTimestampFormat .

    • 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, CASE, or ORDER means that this key can be used to tie an object to a PROFILE, ASSET, CASE, or ORDER 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) --