SDK for PHP 3.x

Client: Aws\CustomerProfiles\CustomerProfilesClient
Service ID: customer-profiles
Version: 2020-08-15

This page describes the parameters and results for the operations of the Amazon Connect Customer Profiles (2020-08-15), and shows how to use the Aws\CustomerProfiles\CustomerProfilesClient object to call the described operations. This documentation is specific to the 2020-08-15 API version of the service.

Operation Summary

Each of the following operations can be created from a client using $client->getCommand('CommandName'), where "CommandName" is the name of one of the following operations. Note: a command is a value that encapsulates an operation and the parameters used to create an HTTP request.

You can also create and send a command immediately using the magic methods available on a client object: $client->commandName(/* parameters */). You can send the command asynchronously (returning a promise) by appending the word "Async" to the operation name: $client->commandNameAsync(/* parameters */).

AddProfileKey ( array $params = [] )
Associates a new key value with a specific profile, such as a Contact Record ContactId.
CreateCalculatedAttributeDefinition ( array $params = [] )
Creates a new calculated attribute definition.
CreateDomain ( array $params = [] )
Creates a domain, which is a container for all customer data, such as customer profile attributes, object types, profile keys, and encryption keys.
CreateEventStream ( array $params = [] )
Creates an event stream, which is a subscription to real-time events, such as when profiles are created and updated through Amazon Connect Customer Profiles.
CreateIntegrationWorkflow ( array $params = [] )
Creates an integration workflow.
CreateProfile ( array $params = [] )
Creates a standard profile.
DeleteCalculatedAttributeDefinition ( array $params = [] )
Deletes an existing calculated attribute definition.
DeleteDomain ( array $params = [] )
Deletes a specific domain and all of its customer data, such as customer profile attributes and their related objects.
DeleteEventStream ( array $params = [] )
Disables and deletes the specified event stream.
DeleteIntegration ( array $params = [] )
Removes an integration from a specific domain.
DeleteProfile ( array $params = [] )
Deletes the standard customer profile and all data pertaining to the profile.
DeleteProfileKey ( array $params = [] )
Removes a searchable key from a customer profile.
DeleteProfileObject ( array $params = [] )
Removes an object associated with a profile of a given ProfileObjectType.
DeleteProfileObjectType ( array $params = [] )
Removes a ProfileObjectType from a specific domain as well as removes all the ProfileObjects of that type.
DeleteWorkflow ( array $params = [] )
Deletes the specified workflow and all its corresponding resources.
DetectProfileObjectType ( array $params = [] )
The process of detecting profile object type mapping by using given objects.
GetAutoMergingPreview ( array $params = [] )
Tests the auto-merging settings of your Identity Resolution Job without merging your data.
GetCalculatedAttributeDefinition ( array $params = [] )
Provides more information on a calculated attribute definition for Customer Profiles.
GetCalculatedAttributeForProfile ( array $params = [] )
Retrieve a calculated attribute for a customer profile.
GetDomain ( array $params = [] )
Returns information about a specific domain.
GetEventStream ( array $params = [] )
Returns information about the specified event stream in a specific domain.
GetIdentityResolutionJob ( array $params = [] )
Returns information about an Identity Resolution Job in a specific domain.
GetIntegration ( array $params = [] )
Returns an integration for a domain.
GetMatches ( array $params = [] )
Before calling this API, use CreateDomain or UpdateDomain to enable identity resolution: set Matching to true.
GetProfileObjectType ( array $params = [] )
Returns the object types for a specific domain.
GetProfileObjectTypeTemplate ( array $params = [] )
Returns the template information for a specific object type.
GetSimilarProfiles ( array $params = [] )
Returns a set of profiles that belong to the same matching group using the matchId or profileId.
GetWorkflow ( array $params = [] )
Get details of specified workflow.
GetWorkflowSteps ( array $params = [] )
Get granular list of steps in workflow.
ListAccountIntegrations ( array $params = [] )
Lists all of the integrations associated to a specific URI in the AWS account.
ListCalculatedAttributeDefinitions ( array $params = [] )
Lists calculated attribute definitions for Customer Profiles
ListCalculatedAttributesForProfile ( array $params = [] )
Retrieve a list of calculated attributes for a customer profile.
ListDomains ( array $params = [] )
Returns a list of all the domains for an AWS account that have been created.
ListEventStreams ( array $params = [] )
Returns a list of all the event streams in a specific domain.
ListIdentityResolutionJobs ( array $params = [] )
Lists all of the Identity Resolution Jobs in your domain.
ListIntegrations ( array $params = [] )
Lists all of the integrations in your domain.
ListProfileObjectTypeTemplates ( array $params = [] )
Lists all of the template information for object types.
ListProfileObjectTypes ( array $params = [] )
Lists all of the templates available within the service.
ListProfileObjects ( array $params = [] )
Returns a list of objects associated with a profile of a given ProfileObjectType.
ListRuleBasedMatches ( array $params = [] )
Returns a set of MatchIds that belong to the given domain.
ListTagsForResource ( array $params = [] )
Displays the tags associated with an Amazon Connect Customer Profiles resource.
ListWorkflows ( array $params = [] )
Query to list all workflows.
MergeProfiles ( array $params = [] )
Runs an AWS Lambda job that does the following: All the profileKeys in the ProfileToBeMerged will be moved to the main profile.
PutIntegration ( array $params = [] )
Adds an integration between the service and a third-party service, which includes Amazon AppFlow and Amazon Connect.
PutProfileObject ( array $params = [] )
Adds additional objects to customer profiles of a given ObjectType.
PutProfileObjectType ( array $params = [] )
Defines a ProfileObjectType.
SearchProfiles ( array $params = [] )
Searches for profiles within a specific domain using one or more predefined search keys (e.
TagResource ( array $params = [] )
Assigns one or more tags (key-value pairs) to the specified Amazon Connect Customer Profiles resource.
UntagResource ( array $params = [] )
Removes one or more tags from the specified Amazon Connect Customer Profiles resource.
UpdateCalculatedAttributeDefinition ( array $params = [] )
Updates an existing calculated attribute definition.
UpdateDomain ( array $params = [] )
Updates the properties of a domain, including creating or selecting a dead letter queue or an encryption key.
UpdateProfile ( array $params = [] )
Updates the properties of a profile.

Paginators

Paginators handle automatically iterating over paginated API results. Paginators are associated with specific API operations, and they accept the parameters that the corresponding API operation accepts. You can get a paginator from a client class using getPaginator($paginatorName, $operationParameters). This client supports the following paginators:

ListEventStreams

Operations

AddProfileKey

$result = $client->addProfileKey([/* ... */]);
$promise = $client->addProfileKeyAsync([/* ... */]);

Associates a new key value with a specific profile, such as a Contact Record ContactId.

A profile object can have a single unique key and any number of additional keys that can be used to identify the profile that it belongs to.

Parameter Syntax

$result = $client->addProfileKey([
    'DomainName' => '<string>', // REQUIRED
    'KeyName' => '<string>', // REQUIRED
    'ProfileId' => '<string>', // REQUIRED
    'Values' => ['<string>', ...], // REQUIRED
]);

Parameter Details

Members
DomainName
Required: Yes
Type: string

The unique name of the domain.

KeyName
Required: Yes
Type: string

A searchable identifier of a customer profile. The predefined keys you can use include: _account, _profileId, _assetId, _caseId, _orderId, _fullName, _phone, _email, _ctrContactId, _marketoLeadId, _salesforceAccountId, _salesforceContactId, _salesforceAssetId, _zendeskUserId, _zendeskExternalId, _zendeskTicketId, _serviceNowSystemId, _serviceNowIncidentId, _segmentUserId, _shopifyCustomerId, _shopifyOrderId.

ProfileId
Required: Yes
Type: string

The unique identifier of a customer profile.

Values
Required: Yes
Type: Array of strings

A list of key values.

Result Syntax

[
    'KeyName' => '<string>',
    'Values' => ['<string>', ...],
]

Result Details

Members
KeyName
Type: string

A searchable identifier of a customer profile.

Values
Type: Array of strings

A list of key values.

Errors

BadRequestException:

The input you provided is invalid.

AccessDeniedException:

You do not have sufficient access to perform this action.

ResourceNotFoundException:

The requested resource does not exist, or access was denied.

ThrottlingException:

You exceeded the maximum number of requests.

InternalServerException:

An internal service error occurred.

CreateCalculatedAttributeDefinition

$result = $client->createCalculatedAttributeDefinition([/* ... */]);
$promise = $client->createCalculatedAttributeDefinitionAsync([/* ... */]);

Creates a new calculated attribute definition. After creation, new object data ingested into Customer Profiles will be included in the calculated attribute, which can be retrieved for a profile using the GetCalculatedAttributeForProfile API. Defining a calculated attribute makes it available for all profiles within a domain. Each calculated attribute can only reference one ObjectType and at most, two fields from that ObjectType.

Parameter Syntax

$result = $client->createCalculatedAttributeDefinition([
    'AttributeDetails' => [ // REQUIRED
        'Attributes' => [ // REQUIRED
            [
                'Name' => '<string>', // REQUIRED
            ],
            // ...
        ],
        'Expression' => '<string>', // REQUIRED
    ],
    'CalculatedAttributeName' => '<string>', // REQUIRED
    'Conditions' => [
        'ObjectCount' => <integer>,
        'Range' => [
            'Unit' => 'DAYS', // REQUIRED
            'Value' => <integer>, // REQUIRED
        ],
        'Threshold' => [
            'Operator' => 'EQUAL_TO|GREATER_THAN|LESS_THAN|NOT_EQUAL_TO', // REQUIRED
            'Value' => '<string>', // REQUIRED
        ],
    ],
    'Description' => '<string>',
    'DisplayName' => '<string>',
    'DomainName' => '<string>', // REQUIRED
    'Statistic' => 'FIRST_OCCURRENCE|LAST_OCCURRENCE|COUNT|SUM|MINIMUM|MAXIMUM|AVERAGE|MAX_OCCURRENCE', // REQUIRED
    'Tags' => ['<string>', ...],
]);

Parameter Details

Members
AttributeDetails
Required: Yes
Type: AttributeDetails structure

Mathematical expression and a list of attribute items specified in that expression.

CalculatedAttributeName
Required: Yes
Type: string

The unique name of the calculated attribute.

Conditions
Type: Conditions structure

The conditions including range, object count, and threshold for the calculated attribute.

Description
Type: string

The description of the calculated attribute.

DisplayName
Type: string

The display name of the calculated attribute.

DomainName
Required: Yes
Type: string

The unique name of the domain.

Statistic
Required: Yes
Type: string

The aggregation operation to perform for the calculated attribute.

Tags
Type: Associative array of custom strings keys (TagKey) to strings

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

Result Syntax

[
    'AttributeDetails' => [
        'Attributes' => [
            [
                'Name' => '<string>',
            ],
            // ...
        ],
        'Expression' => '<string>',
    ],
    'CalculatedAttributeName' => '<string>',
    'Conditions' => [
        'ObjectCount' => <integer>,
        'Range' => [
            'Unit' => 'DAYS',
            'Value' => <integer>,
        ],
        'Threshold' => [
            'Operator' => 'EQUAL_TO|GREATER_THAN|LESS_THAN|NOT_EQUAL_TO',
            'Value' => '<string>',
        ],
    ],
    'CreatedAt' => <DateTime>,
    'Description' => '<string>',
    'DisplayName' => '<string>',
    'LastUpdatedAt' => <DateTime>,
    'Statistic' => 'FIRST_OCCURRENCE|LAST_OCCURRENCE|COUNT|SUM|MINIMUM|MAXIMUM|AVERAGE|MAX_OCCURRENCE',
    'Tags' => ['<string>', ...],
]

Result Details

Members
AttributeDetails
Type: AttributeDetails structure

Mathematical expression and a list of attribute items specified in that expression.

CalculatedAttributeName
Type: string

The unique name of the calculated attribute.

Conditions
Type: Conditions structure

The conditions including range, object count, and threshold for the calculated attribute.

CreatedAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp of when the calculated attribute definition was created.

Description
Type: string

The description of the calculated attribute.

DisplayName
Type: string

The display name of the calculated attribute.

LastUpdatedAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp of when the calculated attribute definition was most recently edited.

Statistic
Type: string

The aggregation operation to perform for the calculated attribute.

Tags
Type: Associative array of custom strings keys (TagKey) to strings

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

Errors

BadRequestException:

The input you provided is invalid.

ResourceNotFoundException:

The requested resource does not exist, or access was denied.

AccessDeniedException:

You do not have sufficient access to perform this action.

ThrottlingException:

You exceeded the maximum number of requests.

InternalServerException:

An internal service error occurred.

CreateDomain

$result = $client->createDomain([/* ... */]);
$promise = $client->createDomainAsync([/* ... */]);

Creates a domain, which is a container for all customer data, such as customer profile attributes, object types, profile keys, and encryption keys. You can create multiple domains, and each domain can have multiple third-party integrations.

Each Amazon Connect instance can be associated with only one domain. Multiple Amazon Connect instances can be associated with one domain.

Use this API or UpdateDomain to enable identity resolution: set Matching to true.

To prevent cross-service impersonation when you call this API, see Cross-service confused deputy prevention for sample policies that you should apply.

It is not possible to associate a Customer Profiles domain with an Amazon Connect Instance directly from the API. If you would like to create a domain and associate a Customer Profiles domain, use the Amazon Connect admin website. For more information, see Enable Customer Profiles.

Each Amazon Connect instance can be associated with only one domain. Multiple Amazon Connect instances can be associated with one domain.

Parameter Syntax

$result = $client->createDomain([
    'DeadLetterQueueUrl' => '<string>',
    'DefaultEncryptionKey' => '<string>',
    'DefaultExpirationDays' => <integer>, // REQUIRED
    'DomainName' => '<string>', // REQUIRED
    'Matching' => [
        'AutoMerging' => [
            'ConflictResolution' => [
                'ConflictResolvingModel' => 'RECENCY|SOURCE', // REQUIRED
                'SourceName' => '<string>',
            ],
            'Consolidation' => [
                'MatchingAttributesList' => [ // REQUIRED
                    ['<string>', ...],
                    // ...
                ],
            ],
            'Enabled' => true || false, // REQUIRED
            'MinAllowedConfidenceScoreForMerging' => <float>,
        ],
        'Enabled' => true || false, // REQUIRED
        'ExportingConfig' => [
            'S3Exporting' => [
                'S3BucketName' => '<string>', // REQUIRED
                'S3KeyName' => '<string>',
            ],
        ],
        'JobSchedule' => [
            'DayOfTheWeek' => 'SUNDAY|MONDAY|TUESDAY|WEDNESDAY|THURSDAY|FRIDAY|SATURDAY', // REQUIRED
            'Time' => '<string>', // REQUIRED
        ],
    ],
    'RuleBasedMatching' => [
        'AttributeTypesSelector' => [
            'Address' => ['<string>', ...],
            'AttributeMatchingModel' => 'ONE_TO_ONE|MANY_TO_MANY', // REQUIRED
            'EmailAddress' => ['<string>', ...],
            'PhoneNumber' => ['<string>', ...],
        ],
        'ConflictResolution' => [
            'ConflictResolvingModel' => 'RECENCY|SOURCE', // REQUIRED
            'SourceName' => '<string>',
        ],
        'Enabled' => true || false, // REQUIRED
        'ExportingConfig' => [
            'S3Exporting' => [
                'S3BucketName' => '<string>', // REQUIRED
                'S3KeyName' => '<string>',
            ],
        ],
        'MatchingRules' => [
            [
                'Rule' => ['<string>', ...], // REQUIRED
            ],
            // ...
        ],
        'MaxAllowedRuleLevelForMatching' => <integer>,
        'MaxAllowedRuleLevelForMerging' => <integer>,
    ],
    'Tags' => ['<string>', ...],
]);

Parameter Details

Members
DeadLetterQueueUrl
Type: string

The URL of the SQS dead letter queue, which is used for reporting errors associated with ingesting data from third party applications. You must set up a policy on the DeadLetterQueue for the SendMessage operation to enable Amazon Connect Customer Profiles to send messages to the DeadLetterQueue.

DefaultEncryptionKey
Type: string

The default encryption key, which is an AWS managed key, is used when no specific type of encryption key is specified. It is used to encrypt all data before it is placed in permanent or semi-permanent storage.

DefaultExpirationDays
Required: Yes
Type: int

The default number of days until the data within the domain expires.

DomainName
Required: Yes
Type: string

The unique name of the domain.

Matching
Type: MatchingRequest structure

The process of matching duplicate profiles. If Matching = true, Amazon Connect Customer Profiles starts a weekly batch process called Identity Resolution Job. If you do not specify a date and time for Identity Resolution Job to run, by default it runs every Saturday at 12AM UTC to detect duplicate profiles in your domains.

After the Identity Resolution Job completes, use the GetMatches API to return and review the results. Or, if you have configured ExportingConfig in the MatchingRequest, you can download the results from S3.

RuleBasedMatching
Type: RuleBasedMatchingRequest structure

The process of matching duplicate profiles using the Rule-Based matching. If RuleBasedMatching = true, Amazon Connect Customer Profiles will start to match and merge your profiles according to your configuration in the RuleBasedMatchingRequest. You can use the ListRuleBasedMatches and GetSimilarProfiles API to return and review the results. Also, if you have configured ExportingConfig in the RuleBasedMatchingRequest, you can download the results from S3.

Tags
Type: Associative array of custom strings keys (TagKey) to strings

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

Result Syntax

[
    'CreatedAt' => <DateTime>,
    'DeadLetterQueueUrl' => '<string>',
    'DefaultEncryptionKey' => '<string>',
    'DefaultExpirationDays' => <integer>,
    'DomainName' => '<string>',
    'LastUpdatedAt' => <DateTime>,
    'Matching' => [
        'AutoMerging' => [
            'ConflictResolution' => [
                'ConflictResolvingModel' => 'RECENCY|SOURCE',
                'SourceName' => '<string>',
            ],
            'Consolidation' => [
                'MatchingAttributesList' => [
                    ['<string>', ...],
                    // ...
                ],
            ],
            'Enabled' => true || false,
            'MinAllowedConfidenceScoreForMerging' => <float>,
        ],
        'Enabled' => true || false,
        'ExportingConfig' => [
            'S3Exporting' => [
                'S3BucketName' => '<string>',
                'S3KeyName' => '<string>',
            ],
        ],
        'JobSchedule' => [
            'DayOfTheWeek' => 'SUNDAY|MONDAY|TUESDAY|WEDNESDAY|THURSDAY|FRIDAY|SATURDAY',
            'Time' => '<string>',
        ],
    ],
    'RuleBasedMatching' => [
        'AttributeTypesSelector' => [
            'Address' => ['<string>', ...],
            'AttributeMatchingModel' => 'ONE_TO_ONE|MANY_TO_MANY',
            'EmailAddress' => ['<string>', ...],
            'PhoneNumber' => ['<string>', ...],
        ],
        'ConflictResolution' => [
            'ConflictResolvingModel' => 'RECENCY|SOURCE',
            'SourceName' => '<string>',
        ],
        'Enabled' => true || false,
        'ExportingConfig' => [
            'S3Exporting' => [
                'S3BucketName' => '<string>',
                'S3KeyName' => '<string>',
            ],
        ],
        'MatchingRules' => [
            [
                'Rule' => ['<string>', ...],
            ],
            // ...
        ],
        'MaxAllowedRuleLevelForMatching' => <integer>,
        'MaxAllowedRuleLevelForMerging' => <integer>,
        'Status' => 'PENDING|IN_PROGRESS|ACTIVE',
    ],
    'Tags' => ['<string>', ...],
]

Result Details

Members
CreatedAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp of when the domain was created.

DeadLetterQueueUrl
Type: string

The URL of the SQS dead letter queue, which is used for reporting errors associated with ingesting data from third party applications.

DefaultEncryptionKey
Type: string

The default encryption key, which is an AWS managed key, is used when no specific type of encryption key is specified. It is used to encrypt all data before it is placed in permanent or semi-permanent storage.

DefaultExpirationDays
Required: Yes
Type: int

The default number of days until the data within the domain expires.

DomainName
Required: Yes
Type: string

The unique name of the domain.

LastUpdatedAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp of when the domain was most recently edited.

Matching
Type: MatchingResponse structure

The process of matching duplicate profiles. If Matching = true, Amazon Connect Customer Profiles starts a weekly batch process called Identity Resolution Job. If you do not specify a date and time for Identity Resolution Job to run, by default it runs every Saturday at 12AM UTC to detect duplicate profiles in your domains.

After the Identity Resolution Job completes, use the GetMatches API to return and review the results. Or, if you have configured ExportingConfig in the MatchingRequest, you can download the results from S3.

RuleBasedMatching
Type: RuleBasedMatchingResponse structure

The process of matching duplicate profiles using the Rule-Based matching. If RuleBasedMatching = true, Amazon Connect Customer Profiles will start to match and merge your profiles according to your configuration in the RuleBasedMatchingRequest. You can use the ListRuleBasedMatches and GetSimilarProfiles API to return and review the results. Also, if you have configured ExportingConfig in the RuleBasedMatchingRequest, you can download the results from S3.

Tags
Type: Associative array of custom strings keys (TagKey) to strings

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

Errors

BadRequestException:

The input you provided is invalid.

ResourceNotFoundException:

The requested resource does not exist, or access was denied.

AccessDeniedException:

You do not have sufficient access to perform this action.

ThrottlingException:

You exceeded the maximum number of requests.

InternalServerException:

An internal service error occurred.

CreateEventStream

$result = $client->createEventStream([/* ... */]);
$promise = $client->createEventStreamAsync([/* ... */]);

Creates an event stream, which is a subscription to real-time events, such as when profiles are created and updated through Amazon Connect Customer Profiles.

Each event stream can be associated with only one Kinesis Data Stream destination in the same region and Amazon Web Services account as the customer profiles domain

Parameter Syntax

$result = $client->createEventStream([
    'DomainName' => '<string>', // REQUIRED
    'EventStreamName' => '<string>', // REQUIRED
    'Tags' => ['<string>', ...],
    'Uri' => '<string>', // REQUIRED
]);

Parameter Details

Members
DomainName
Required: Yes
Type: string

The unique name of the domain.

EventStreamName
Required: Yes
Type: string

The name of the event stream.

Tags
Type: Associative array of custom strings keys (TagKey) to strings

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

Uri
Required: Yes
Type: string

The StreamARN of the destination to deliver profile events to. For example, arn:aws:kinesis:region:account-id:stream/stream-name

Result Syntax

[
    'EventStreamArn' => '<string>',
    'Tags' => ['<string>', ...],
]

Result Details

Members
EventStreamArn
Required: Yes
Type: string

A unique identifier for the event stream.

Tags
Type: Associative array of custom strings keys (TagKey) to strings

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

Errors

BadRequestException:

The input you provided is invalid.

ResourceNotFoundException:

The requested resource does not exist, or access was denied.

AccessDeniedException:

You do not have sufficient access to perform this action.

ThrottlingException:

You exceeded the maximum number of requests.

InternalServerException:

An internal service error occurred.

CreateIntegrationWorkflow

$result = $client->createIntegrationWorkflow([/* ... */]);
$promise = $client->createIntegrationWorkflowAsync([/* ... */]);

Creates an integration workflow. An integration workflow is an async process which ingests historic data and sets up an integration for ongoing updates. The supported Amazon AppFlow sources are Salesforce, ServiceNow, and Marketo.

Parameter Syntax

$result = $client->createIntegrationWorkflow([
    'DomainName' => '<string>', // REQUIRED
    'IntegrationConfig' => [ // REQUIRED
        'AppflowIntegration' => [
            'Batches' => [
                [
                    'EndTime' => <integer || string || DateTime>, // REQUIRED
                    'StartTime' => <integer || string || DateTime>, // REQUIRED
                ],
                // ...
            ],
            'FlowDefinition' => [ // REQUIRED
                'Description' => '<string>',
                'FlowName' => '<string>', // REQUIRED
                'KmsArn' => '<string>', // REQUIRED
                'SourceFlowConfig' => [ // REQUIRED
                    'ConnectorProfileName' => '<string>',
                    'ConnectorType' => 'Salesforce|Marketo|Zendesk|Servicenow|S3', // REQUIRED
                    'IncrementalPullConfig' => [
                        'DatetimeTypeFieldName' => '<string>',
                    ],
                    'SourceConnectorProperties' => [ // REQUIRED
                        'Marketo' => [
                            'Object' => '<string>', // REQUIRED
                        ],
                        'S3' => [
                            'BucketName' => '<string>', // REQUIRED
                            'BucketPrefix' => '<string>',
                        ],
                        'Salesforce' => [
                            'EnableDynamicFieldUpdate' => true || false,
                            'IncludeDeletedRecords' => true || false,
                            'Object' => '<string>', // REQUIRED
                        ],
                        'ServiceNow' => [
                            'Object' => '<string>', // REQUIRED
                        ],
                        'Zendesk' => [
                            'Object' => '<string>', // REQUIRED
                        ],
                    ],
                ],
                'Tasks' => [ // REQUIRED
                    [
                        '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>', ...], // REQUIRED
                        'TaskProperties' => ['<string>', ...],
                        'TaskType' => 'Arithmetic|Filter|Map|Mask|Merge|Truncate|Validate', // REQUIRED
                    ],
                    // ...
                ],
                'TriggerConfig' => [ // REQUIRED
                    'TriggerProperties' => [
                        'Scheduled' => [
                            'DataPullMode' => 'Incremental|Complete',
                            'FirstExecutionFrom' => <integer || string || DateTime>,
                            'ScheduleEndTime' => <integer || string || DateTime>,
                            'ScheduleExpression' => '<string>', // REQUIRED
                            'ScheduleOffset' => <integer>,
                            'ScheduleStartTime' => <integer || string || DateTime>,
                            'Timezone' => '<string>',
                        ],
                    ],
                    'TriggerType' => 'Scheduled|Event|OnDemand', // REQUIRED
                ],
            ],
        ],
    ],
    'ObjectTypeName' => '<string>', // REQUIRED
    'RoleArn' => '<string>', // REQUIRED
    'Tags' => ['<string>', ...],
    'WorkflowType' => 'APPFLOW_INTEGRATION', // REQUIRED
]);

Parameter Details

Members
DomainName
Required: Yes
Type: string

The unique name of the domain.

IntegrationConfig
Required: Yes
Type: IntegrationConfig structure

Configuration data for integration workflow.

ObjectTypeName
Required: Yes
Type: string

The name of the profile object type.

RoleArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the IAM role. Customer Profiles assumes this role to create resources on your behalf as part of workflow execution.

Tags
Type: Associative array of custom strings keys (TagKey) to strings

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

WorkflowType
Required: Yes
Type: string

The type of workflow. The only supported value is APPFLOW_INTEGRATION.

Result Syntax

[
    'Message' => '<string>',
    'WorkflowId' => '<string>',
]

Result Details

Members
Message
Required: Yes
Type: string

A message indicating create request was received.

WorkflowId
Required: Yes
Type: string

Unique identifier for the workflow.

Errors

BadRequestException:

The input you provided is invalid.

ResourceNotFoundException:

The requested resource does not exist, or access was denied.

AccessDeniedException:

You do not have sufficient access to perform this action.

ThrottlingException:

You exceeded the maximum number of requests.

InternalServerException:

An internal service error occurred.

CreateProfile

$result = $client->createProfile([/* ... */]);
$promise = $client->createProfileAsync([/* ... */]);

Creates a standard profile.

A standard profile represents the following attributes for a customer profile in a domain.

Parameter Syntax

$result = $client->createProfile([
    'AccountNumber' => '<string>',
    'AdditionalInformation' => '<string>',
    'Address' => [
        'Address1' => '<string>',
        'Address2' => '<string>',
        'Address3' => '<string>',
        'Address4' => '<string>',
        'City' => '<string>',
        'Country' => '<string>',
        'County' => '<string>',
        'PostalCode' => '<string>',
        'Province' => '<string>',
        'State' => '<string>',
    ],
    'Attributes' => ['<string>', ...],
    'BillingAddress' => [
        'Address1' => '<string>',
        'Address2' => '<string>',
        'Address3' => '<string>',
        'Address4' => '<string>',
        'City' => '<string>',
        'Country' => '<string>',
        'County' => '<string>',
        'PostalCode' => '<string>',
        'Province' => '<string>',
        'State' => '<string>',
    ],
    'BirthDate' => '<string>',
    'BusinessEmailAddress' => '<string>',
    'BusinessName' => '<string>',
    'BusinessPhoneNumber' => '<string>',
    'DomainName' => '<string>', // REQUIRED
    'EmailAddress' => '<string>',
    'FirstName' => '<string>',
    'Gender' => 'MALE|FEMALE|UNSPECIFIED',
    'GenderString' => '<string>',
    'HomePhoneNumber' => '<string>',
    'LastName' => '<string>',
    'MailingAddress' => [
        'Address1' => '<string>',
        'Address2' => '<string>',
        'Address3' => '<string>',
        'Address4' => '<string>',
        'City' => '<string>',
        'Country' => '<string>',
        'County' => '<string>',
        'PostalCode' => '<string>',
        'Province' => '<string>',
        'State' => '<string>',
    ],
    'MiddleName' => '<string>',
    'MobilePhoneNumber' => '<string>',
    'PartyType' => 'INDIVIDUAL|BUSINESS|OTHER',
    'PartyTypeString' => '<string>',
    'PersonalEmailAddress' => '<string>',
    'PhoneNumber' => '<string>',
    'ShippingAddress' => [
        'Address1' => '<string>',
        'Address2' => '<string>',
        'Address3' => '<string>',
        'Address4' => '<string>',
        'City' => '<string>',
        'Country' => '<string>',
        'County' => '<string>',
        'PostalCode' => '<string>',
        'Province' => '<string>',
        'State' => '<string>',
    ],
]);

Parameter Details

Members
AccountNumber
Type: string

An account number that you have given to the customer.

AdditionalInformation
Type: string

Any additional information relevant to the customer’s profile.

Address
Type: Address structure

A generic address associated with the customer that is not mailing, shipping, or billing.

Attributes
Type: Associative array of custom strings keys (string1To255) to strings

A key value pair of attributes of a customer profile.

BillingAddress
Type: Address structure

The customer’s billing address.

BirthDate
Type: string

The customer’s birth date.

BusinessEmailAddress
Type: string

The customer’s business email address.

BusinessName
Type: string

The name of the customer’s business.

BusinessPhoneNumber
Type: string

The customer’s business phone number.

DomainName
Required: Yes
Type: string

The unique name of the domain.

EmailAddress
Type: string

The customer’s email address, which has not been specified as a personal or business address.

FirstName
Type: string

The customer’s first name.

Gender
Type: string

The gender with which the customer identifies.

GenderString
Type: string

An alternative to Gender which accepts any string as input.

HomePhoneNumber
Type: string

The customer’s home phone number.

LastName
Type: string

The customer’s last name.

MailingAddress
Type: Address structure

The customer’s mailing address.

MiddleName
Type: string

The customer’s middle name.

MobilePhoneNumber
Type: string

The customer’s mobile phone number.

PartyType
Type: string

The type of profile used to describe the customer.

PartyTypeString
Type: string

An alternative to PartyType which accepts any string as input.

PersonalEmailAddress
Type: string

The customer’s personal email address.

PhoneNumber
Type: string

The customer’s phone number, which has not been specified as a mobile, home, or business number.

ShippingAddress
Type: Address structure

The customer’s shipping address.

Result Syntax

[
    'ProfileId' => '<string>',
]

Result Details

Members
ProfileId
Required: Yes
Type: string

The unique identifier of a customer profile.

Errors

BadRequestException:

The input you provided is invalid.

AccessDeniedException:

You do not have sufficient access to perform this action.

ResourceNotFoundException:

The requested resource does not exist, or access was denied.

ThrottlingException:

You exceeded the maximum number of requests.

InternalServerException:

An internal service error occurred.

DeleteCalculatedAttributeDefinition

$result = $client->deleteCalculatedAttributeDefinition([/* ... */]);
$promise = $client->deleteCalculatedAttributeDefinitionAsync([/* ... */]);

Deletes an existing calculated attribute definition. Note that deleting a default calculated attribute is possible, however once deleted, you will be unable to undo that action and will need to recreate it on your own using the CreateCalculatedAttributeDefinition API if you want it back.

Parameter Syntax

$result = $client->deleteCalculatedAttributeDefinition([
    'CalculatedAttributeName' => '<string>', // REQUIRED
    'DomainName' => '<string>', // REQUIRED
]);

Parameter Details

Members
CalculatedAttributeName
Required: Yes
Type: string

The unique name of the calculated attribute.

DomainName
Required: Yes
Type: string

The unique name of the domain.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

BadRequestException:

The input you provided is invalid.

ResourceNotFoundException:

The requested resource does not exist, or access was denied.

AccessDeniedException:

You do not have sufficient access to perform this action.

ThrottlingException:

You exceeded the maximum number of requests.

InternalServerException:

An internal service error occurred.

DeleteDomain

$result = $client->deleteDomain([/* ... */]);
$promise = $client->deleteDomainAsync([/* ... */]);

Deletes a specific domain and all of its customer data, such as customer profile attributes and their related objects.

Parameter Syntax

$result = $client->deleteDomain([
    'DomainName' => '<string>', // REQUIRED
]);

Parameter Details

Members
DomainName
Required: Yes
Type: string

The unique name of the domain.

Result Syntax

[
    'Message' => '<string>',
]

Result Details

Members
Message
Required: Yes
Type: string

A message that indicates the delete request is done.

Errors

BadRequestException:

The input you provided is invalid.

ResourceNotFoundException:

The requested resource does not exist, or access was denied.

AccessDeniedException:

You do not have sufficient access to perform this action.

ThrottlingException:

You exceeded the maximum number of requests.

InternalServerException:

An internal service error occurred.

DeleteEventStream

$result = $client->deleteEventStream([/* ... */]);
$promise = $client->deleteEventStreamAsync([/* ... */]);

Disables and deletes the specified event stream.

Parameter Syntax

$result = $client->deleteEventStream([
    'DomainName' => '<string>', // REQUIRED
    'EventStreamName' => '<string>', // REQUIRED
]);

Parameter Details

Members
DomainName
Required: Yes
Type: string

The unique name of the domain.

EventStreamName
Required: Yes
Type: string

The name of the event stream

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

BadRequestException:

The input you provided is invalid.

ResourceNotFoundException:

The requested resource does not exist, or access was denied.

AccessDeniedException:

You do not have sufficient access to perform this action.

ThrottlingException:

You exceeded the maximum number of requests.

InternalServerException:

An internal service error occurred.

DeleteIntegration

$result = $client->deleteIntegration([/* ... */]);
$promise = $client->deleteIntegrationAsync([/* ... */]);

Removes an integration from a specific domain.

Parameter Syntax

$result = $client->deleteIntegration([
    'DomainName' => '<string>', // REQUIRED
    'Uri' => '<string>', // REQUIRED
]);

Parameter Details

Members
DomainName
Required: Yes
Type: string

The unique name of the domain.

Uri
Required: Yes
Type: string

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

Result Syntax

[
    'Message' => '<string>',
]

Result Details

Members
Message
Required: Yes
Type: string

A message that indicates the delete request is done.

Errors

BadRequestException:

The input you provided is invalid.

ResourceNotFoundException:

The requested resource does not exist, or access was denied.

AccessDeniedException:

You do not have sufficient access to perform this action.

ThrottlingException:

You exceeded the maximum number of requests.

InternalServerException:

An internal service error occurred.

DeleteProfile

$result = $client->deleteProfile([/* ... */]);
$promise = $client->deleteProfileAsync([/* ... */]);

Deletes the standard customer profile and all data pertaining to the profile.

Parameter Syntax

$result = $client->deleteProfile([
    'DomainName' => '<string>', // REQUIRED
    'ProfileId' => '<string>', // REQUIRED
]);

Parameter Details

Members
DomainName
Required: Yes
Type: string

The unique name of the domain.

ProfileId
Required: Yes
Type: string

The unique identifier of a customer profile.

Result Syntax

[
    'Message' => '<string>',
]

Result Details

Members
Message
Type: string

A message that indicates the delete request is done.

Errors

BadRequestException:

The input you provided is invalid.

AccessDeniedException:

You do not have sufficient access to perform this action.

ResourceNotFoundException:

The requested resource does not exist, or access was denied.

ThrottlingException:

You exceeded the maximum number of requests.

InternalServerException:

An internal service error occurred.

DeleteProfileKey

$result = $client->deleteProfileKey([/* ... */]);
$promise = $client->deleteProfileKeyAsync([/* ... */]);

Removes a searchable key from a customer profile.

Parameter Syntax

$result = $client->deleteProfileKey([
    'DomainName' => '<string>', // REQUIRED
    'KeyName' => '<string>', // REQUIRED
    'ProfileId' => '<string>', // REQUIRED
    'Values' => ['<string>', ...], // REQUIRED
]);

Parameter Details

Members
DomainName
Required: Yes
Type: string

The unique name of the domain.

KeyName
Required: Yes
Type: string

A searchable identifier of a customer profile.

ProfileId
Required: Yes
Type: string

The unique identifier of a customer profile.

Values
Required: Yes
Type: Array of strings

A list of key values.

Result Syntax

[
    'Message' => '<string>',
]

Result Details

Members
Message
Type: string

A message that indicates the delete request is done.

Errors

BadRequestException:

The input you provided is invalid.

AccessDeniedException:

You do not have sufficient access to perform this action.

ResourceNotFoundException:

The requested resource does not exist, or access was denied.

ThrottlingException:

You exceeded the maximum number of requests.

InternalServerException:

An internal service error occurred.

DeleteProfileObject

$result = $client->deleteProfileObject([/* ... */]);
$promise = $client->deleteProfileObjectAsync([/* ... */]);

Removes an object associated with a profile of a given ProfileObjectType.

Parameter Syntax

$result = $client->deleteProfileObject([
    'DomainName' => '<string>', // REQUIRED
    'ObjectTypeName' => '<string>', // REQUIRED
    'ProfileId' => '<string>', // REQUIRED
    'ProfileObjectUniqueKey' => '<string>', // REQUIRED
]);

Parameter Details

Members
DomainName
Required: Yes
Type: string

The unique name of the domain.

ObjectTypeName
Required: Yes
Type: string

The name of the profile object type.

ProfileId
Required: Yes
Type: string

The unique identifier of a customer profile.

ProfileObjectUniqueKey
Required: Yes
Type: string

The unique identifier of the profile object generated by the service.

Result Syntax

[
    'Message' => '<string>',
]

Result Details

Members
Message
Type: string

A message that indicates the delete request is done.

Errors

BadRequestException:

The input you provided is invalid.

AccessDeniedException:

You do not have sufficient access to perform this action.

ResourceNotFoundException:

The requested resource does not exist, or access was denied.

ThrottlingException:

You exceeded the maximum number of requests.

InternalServerException:

An internal service error occurred.

DeleteProfileObjectType

$result = $client->deleteProfileObjectType([/* ... */]);
$promise = $client->deleteProfileObjectTypeAsync([/* ... */]);

Removes a ProfileObjectType from a specific domain as well as removes all the ProfileObjects of that type. It also disables integrations from this specific ProfileObjectType. In addition, it scrubs all of the fields of the standard profile that were populated from this ProfileObjectType.

Parameter Syntax

$result = $client->deleteProfileObjectType([
    'DomainName' => '<string>', // REQUIRED
    'ObjectTypeName' => '<string>', // REQUIRED
]);

Parameter Details

Members
DomainName
Required: Yes
Type: string

The unique name of the domain.

ObjectTypeName
Required: Yes
Type: string

The name of the profile object type.

Result Syntax

[
    'Message' => '<string>',
]

Result Details

Members
Message
Required: Yes
Type: string

A message that indicates the delete request is done.

Errors

BadRequestException:

The input you provided is invalid.

ResourceNotFoundException:

The requested resource does not exist, or access was denied.

AccessDeniedException:

You do not have sufficient access to perform this action.

ThrottlingException:

You exceeded the maximum number of requests.

InternalServerException:

An internal service error occurred.

DeleteWorkflow

$result = $client->deleteWorkflow([/* ... */]);
$promise = $client->deleteWorkflowAsync([/* ... */]);

Deletes the specified workflow and all its corresponding resources. This is an async process.

Parameter Syntax

$result = $client->deleteWorkflow([
    'DomainName' => '<string>', // REQUIRED
    'WorkflowId' => '<string>', // REQUIRED
]);

Parameter Details

Members
DomainName
Required: Yes
Type: string

The unique name of the domain.

WorkflowId
Required: Yes
Type: string

Unique identifier for the workflow.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

BadRequestException:

The input you provided is invalid.

ResourceNotFoundException:

The requested resource does not exist, or access was denied.

AccessDeniedException:

You do not have sufficient access to perform this action.

ThrottlingException:

You exceeded the maximum number of requests.

InternalServerException:

An internal service error occurred.

DetectProfileObjectType

$result = $client->detectProfileObjectType([/* ... */]);
$promise = $client->detectProfileObjectTypeAsync([/* ... */]);

The process of detecting profile object type mapping by using given objects.

Parameter Syntax

$result = $client->detectProfileObjectType([
    'DomainName' => '<string>', // REQUIRED
    'Objects' => ['<string>', ...], // REQUIRED
]);

Parameter Details

Members
DomainName
Required: Yes
Type: string

The unique name of the domain.

Objects
Required: Yes
Type: Array of strings

A string that is serialized from a JSON object.

Result Syntax

[
    'DetectedProfileObjectTypes' => [
        [
            'Fields' => [
                '<name>' => [
                    'ContentType' => 'STRING|NUMBER|PHONE_NUMBER|EMAIL_ADDRESS|NAME',
                    'Source' => '<string>',
                    'Target' => '<string>',
                ],
                // ...
            ],
            'Keys' => [
                '<name>' => [
                    [
                        'FieldNames' => ['<string>', ...],
                        'StandardIdentifiers' => ['<string>', ...],
                    ],
                    // ...
                ],
                // ...
            ],
            'SourceLastUpdatedTimestampFormat' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
DetectedProfileObjectTypes
Type: Array of DetectedProfileObjectType structures

Detected ProfileObjectType mappings from given objects. A maximum of one mapping is supported.

Errors

BadRequestException:

The input you provided is invalid.

ResourceNotFoundException:

The requested resource does not exist, or access was denied.

AccessDeniedException:

You do not have sufficient access to perform this action.

ThrottlingException:

You exceeded the maximum number of requests.

InternalServerException:

An internal service error occurred.

GetAutoMergingPreview

$result = $client->getAutoMergingPreview([/* ... */]);
$promise = $client->getAutoMergingPreviewAsync([/* ... */]);

Tests the auto-merging settings of your Identity Resolution Job without merging your data. It randomly selects a sample of matching groups from the existing matching results, and applies the automerging settings that you provided. You can then view the number of profiles in the sample, the number of matches, and the number of profiles identified to be merged. This enables you to evaluate the accuracy of the attributes in your matching list.

You can't view which profiles are matched and would be merged.

We strongly recommend you use this API to do a dry run of the automerging process before running the Identity Resolution Job. Include at least two matching attributes. If your matching list includes too few attributes (such as only FirstName or only LastName), there may be a large number of matches. This increases the chances of erroneous merges.

Parameter Syntax

$result = $client->getAutoMergingPreview([
    'ConflictResolution' => [ // REQUIRED
        'ConflictResolvingModel' => 'RECENCY|SOURCE', // REQUIRED
        'SourceName' => '<string>',
    ],
    'Consolidation' => [ // REQUIRED
        'MatchingAttributesList' => [ // REQUIRED
            ['<string>', ...],
            // ...
        ],
    ],
    'DomainName' => '<string>', // REQUIRED
    'MinAllowedConfidenceScoreForMerging' => <float>,
]);

Parameter Details

Members
ConflictResolution
Required: Yes
Type: ConflictResolution structure

How the auto-merging process should resolve conflicts between different profiles.

Consolidation
Required: Yes
Type: Consolidation structure

A list of matching attributes that represent matching criteria.

DomainName
Required: Yes
Type: string

The unique name of the domain.

MinAllowedConfidenceScoreForMerging
Type: double

Minimum confidence score required for profiles within a matching group to be merged during the auto-merge process.

Result Syntax

[
    'DomainName' => '<string>',
    'NumberOfMatchesInSample' => <integer>,
    'NumberOfProfilesInSample' => <integer>,
    'NumberOfProfilesWillBeMerged' => <integer>,
]

Result Details

Members
DomainName
Required: Yes
Type: string

The unique name of the domain.

NumberOfMatchesInSample
Type: long (int|float)

The number of match groups in the domain that have been reviewed in this preview dry run.

NumberOfProfilesInSample
Type: long (int|float)

The number of profiles found in this preview dry run.

NumberOfProfilesWillBeMerged
Type: long (int|float)

The number of profiles that would be merged if this wasn't a preview dry run.

Errors

BadRequestException:

The input you provided is invalid.

ResourceNotFoundException:

The requested resource does not exist, or access was denied.

AccessDeniedException:

You do not have sufficient access to perform this action.

ThrottlingException:

You exceeded the maximum number of requests.

InternalServerException:

An internal service error occurred.

GetCalculatedAttributeDefinition

$result = $client->getCalculatedAttributeDefinition([/* ... */]);
$promise = $client->getCalculatedAttributeDefinitionAsync([/* ... */]);

Provides more information on a calculated attribute definition for Customer Profiles.

Parameter Syntax

$result = $client->getCalculatedAttributeDefinition([
    'CalculatedAttributeName' => '<string>', // REQUIRED
    'DomainName' => '<string>', // REQUIRED
]);

Parameter Details

Members
CalculatedAttributeName
Required: Yes
Type: string

The unique name of the calculated attribute.

DomainName
Required: Yes
Type: string

The unique name of the domain.

Result Syntax

[
    'AttributeDetails' => [
        'Attributes' => [
            [
                'Name' => '<string>',
            ],
            // ...
        ],
        'Expression' => '<string>',
    ],
    'CalculatedAttributeName' => '<string>',
    'Conditions' => [
        'ObjectCount' => <integer>,
        'Range' => [
            'Unit' => 'DAYS',
            'Value' => <integer>,
        ],
        'Threshold' => [
            'Operator' => 'EQUAL_TO|GREATER_THAN|LESS_THAN|NOT_EQUAL_TO',
            'Value' => '<string>',
        ],
    ],
    'CreatedAt' => <DateTime>,
    'Description' => '<string>',
    'DisplayName' => '<string>',
    'LastUpdatedAt' => <DateTime>,
    'Statistic' => 'FIRST_OCCURRENCE|LAST_OCCURRENCE|COUNT|SUM|MINIMUM|MAXIMUM|AVERAGE|MAX_OCCURRENCE',
    'Tags' => ['<string>', ...],
]

Result Details

Members
AttributeDetails
Type: AttributeDetails structure

Mathematical expression and a list of attribute items specified in that expression.

CalculatedAttributeName
Type: string

The unique name of the calculated attribute.

Conditions
Type: Conditions structure

The conditions including range, object count, and threshold for the calculated attribute.

CreatedAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp of when the calculated attribute definition was created.

Description
Type: string

The description of the calculated attribute.

DisplayName
Type: string

The display name of the calculated attribute.

LastUpdatedAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp of when the calculated attribute definition was most recently edited.

Statistic
Type: string

The aggregation operation to perform for the calculated attribute.

Tags
Type: Associative array of custom strings keys (TagKey) to strings

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

Errors

BadRequestException:

The input you provided is invalid.

ResourceNotFoundException:

The requested resource does not exist, or access was denied.

AccessDeniedException:

You do not have sufficient access to perform this action.

ThrottlingException:

You exceeded the maximum number of requests.

InternalServerException:

An internal service error occurred.

GetCalculatedAttributeForProfile

$result = $client->getCalculatedAttributeForProfile([/* ... */]);
$promise = $client->getCalculatedAttributeForProfileAsync([/* ... */]);

Retrieve a calculated attribute for a customer profile.

Parameter Syntax

$result = $client->getCalculatedAttributeForProfile([
    'CalculatedAttributeName' => '<string>', // REQUIRED
    'DomainName' => '<string>', // REQUIRED
    'ProfileId' => '<string>', // REQUIRED
]);

Parameter Details

Members
CalculatedAttributeName
Required: Yes
Type: string

The unique name of the calculated attribute.

DomainName
Required: Yes
Type: string

The unique name of the domain.

ProfileId
Required: Yes
Type: string

The unique identifier of a customer profile.

Result Syntax

[
    'CalculatedAttributeName' => '<string>',
    'DisplayName' => '<string>',
    'IsDataPartial' => '<string>',
    'Value' => '<string>',
]

Result Details

Members
CalculatedAttributeName
Type: string

The unique name of the calculated attribute.

DisplayName
Type: string

The display name of the calculated attribute.

IsDataPartial
Type: string

Indicates whether the calculated attribute’s value is based on partial data. If data is partial, it is set to true.

Value
Type: string

The value of the calculated attribute.

Errors

BadRequestException:

The input you provided is invalid.

AccessDeniedException:

You do not have sufficient access to perform this action.

ResourceNotFoundException:

The requested resource does not exist, or access was denied.

ThrottlingException:

You exceeded the maximum number of requests.

InternalServerException:

An internal service error occurred.

GetDomain

$result = $client->getDomain([/* ... */]);
$promise = $client->getDomainAsync([/* ... */]);

Returns information about a specific domain.

Parameter Syntax

$result = $client->getDomain([
    'DomainName' => '<string>', // REQUIRED
]);

Parameter Details

Members
DomainName
Required: Yes
Type: string

The unique name of the domain.

Result Syntax

[
    'CreatedAt' => <DateTime>,
    'DeadLetterQueueUrl' => '<string>',
    'DefaultEncryptionKey' => '<string>',
    'DefaultExpirationDays' => <integer>,
    'DomainName' => '<string>',
    'LastUpdatedAt' => <DateTime>,
    'Matching' => [
        'AutoMerging' => [
            'ConflictResolution' => [
                'ConflictResolvingModel' => 'RECENCY|SOURCE',
                'SourceName' => '<string>',
            ],
            'Consolidation' => [
                'MatchingAttributesList' => [
                    ['<string>', ...],
                    // ...
                ],
            ],
            'Enabled' => true || false,
            'MinAllowedConfidenceScoreForMerging' => <float>,
        ],
        'Enabled' => true || false,
        'ExportingConfig' => [
            'S3Exporting' => [
                'S3BucketName' => '<string>',
                'S3KeyName' => '<string>',
            ],
        ],
        'JobSchedule' => [
            'DayOfTheWeek' => 'SUNDAY|MONDAY|TUESDAY|WEDNESDAY|THURSDAY|FRIDAY|SATURDAY',
            'Time' => '<string>',
        ],
    ],
    'RuleBasedMatching' => [
        'AttributeTypesSelector' => [
            'Address' => ['<string>', ...],
            'AttributeMatchingModel' => 'ONE_TO_ONE|MANY_TO_MANY',
            'EmailAddress' => ['<string>', ...],
            'PhoneNumber' => ['<string>', ...],
        ],
        'ConflictResolution' => [
            'ConflictResolvingModel' => 'RECENCY|SOURCE',
            'SourceName' => '<string>',
        ],
        'Enabled' => true || false,
        'ExportingConfig' => [
            'S3Exporting' => [
                'S3BucketName' => '<string>',
                'S3KeyName' => '<string>',
            ],
        ],
        'MatchingRules' => [
            [
                'Rule' => ['<string>', ...],
            ],
            // ...
        ],
        'MaxAllowedRuleLevelForMatching' => <integer>,
        'MaxAllowedRuleLevelForMerging' => <integer>,
        'Status' => 'PENDING|IN_PROGRESS|ACTIVE',
    ],
    'Stats' => [
        'MeteringProfileCount' => <integer>,
        'ObjectCount' => <integer>,
        'ProfileCount' => <integer>,
        'TotalSize' => <integer>,
    ],
    'Tags' => ['<string>', ...],
]

Result Details

Members
CreatedAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp of when the domain was created.

DeadLetterQueueUrl
Type: string

The URL of the SQS dead letter queue, which is used for reporting errors associated with ingesting data from third party applications.

DefaultEncryptionKey
Type: string

The default encryption key, which is an AWS managed key, is used when no specific type of encryption key is specified. It is used to encrypt all data before it is placed in permanent or semi-permanent storage.

DefaultExpirationDays
Type: int

The default number of days until the data within the domain expires.

DomainName
Required: Yes
Type: string

The unique name of the domain.

LastUpdatedAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp of when the domain was most recently edited.

Matching
Type: MatchingResponse structure

The process of matching duplicate profiles. If Matching = true, Amazon Connect Customer Profiles starts a weekly batch process called Identity Resolution Job. If you do not specify a date and time for Identity Resolution Job to run, by default it runs every Saturday at 12AM UTC to detect duplicate profiles in your domains.

After the Identity Resolution Job completes, use the GetMatches API to return and review the results. Or, if you have configured ExportingConfig in the MatchingRequest, you can download the results from S3.

RuleBasedMatching
Type: RuleBasedMatchingResponse structure

The process of matching duplicate profiles using the Rule-Based matching. If RuleBasedMatching = true, Amazon Connect Customer Profiles will start to match and merge your profiles according to your configuration in the RuleBasedMatchingRequest. You can use the ListRuleBasedMatches and GetSimilarProfiles API to return and review the results. Also, if you have configured ExportingConfig in the RuleBasedMatchingRequest, you can download the results from S3.

Stats
Type: DomainStats structure

Usage-specific statistics about the domain.

Tags
Type: Associative array of custom strings keys (TagKey) to strings

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

Errors

BadRequestException:

The input you provided is invalid.

ResourceNotFoundException:

The requested resource does not exist, or access was denied.

AccessDeniedException:

You do not have sufficient access to perform this action.

ThrottlingException:

You exceeded the maximum number of requests.

InternalServerException:

An internal service error occurred.

GetEventStream

$result = $client->getEventStream([/* ... */]);
$promise = $client->getEventStreamAsync([/* ... */]);

Returns information about the specified event stream in a specific domain.

Parameter Syntax

$result = $client->getEventStream([
    'DomainName' => '<string>', // REQUIRED
    'EventStreamName' => '<string>', // REQUIRED
]);

Parameter Details

Members
DomainName
Required: Yes
Type: string

The unique name of the domain.

EventStreamName
Required: Yes
Type: string

The name of the event stream provided during create operations.

Result Syntax

[
    'CreatedAt' => <DateTime>,
    'DestinationDetails' => [
        'Message' => '<string>',
        'Status' => 'HEALTHY|UNHEALTHY',
        'UnhealthySince' => <DateTime>,
        'Uri' => '<string>',
    ],
    'DomainName' => '<string>',
    'EventStreamArn' => '<string>',
    'State' => 'RUNNING|STOPPED',
    'StoppedSince' => <DateTime>,
    'Tags' => ['<string>', ...],
]

Result Details

Members
CreatedAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp of when the export was created.

DestinationDetails
Required: Yes
Type: EventStreamDestinationDetails structure

Details regarding the Kinesis stream.

DomainName
Required: Yes
Type: string

The unique name of the domain.

EventStreamArn
Required: Yes
Type: string

A unique identifier for the event stream.

State
Required: Yes
Type: string

The operational state of destination stream for export.

StoppedSince
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp when the State changed to STOPPED.

Tags
Type: Associative array of custom strings keys (TagKey) to strings

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

Errors

BadRequestException:

The input you provided is invalid.

ResourceNotFoundException:

The requested resource does not exist, or access was denied.

AccessDeniedException:

You do not have sufficient access to perform this action.

ThrottlingException:

You exceeded the maximum number of requests.

InternalServerException:

An internal service error occurred.

GetIdentityResolutionJob

$result = $client->getIdentityResolutionJob([/* ... */]);
$promise = $client->getIdentityResolutionJobAsync([/* ... */]);

Returns information about an Identity Resolution Job in a specific domain.

Identity Resolution Jobs are set up using the Amazon Connect admin console. For more information, see Use Identity Resolution to consolidate similar profiles.

Parameter Syntax

$result = $client->getIdentityResolutionJob([
    'DomainName' => '<string>', // REQUIRED
    'JobId' => '<string>', // REQUIRED
]);

Parameter Details

Members
DomainName
Required: Yes
Type: string

The unique name of the domain.

JobId
Required: Yes
Type: string

The unique identifier of the Identity Resolution Job.

Result Syntax

[
    'AutoMerging' => [
        'ConflictResolution' => [
            'ConflictResolvingModel' => 'RECENCY|SOURCE',
            'SourceName' => '<string>',
        ],
        'Consolidation' => [
            'MatchingAttributesList' => [
                ['<string>', ...],
                // ...
            ],
        ],
        'Enabled' => true || false,
        'MinAllowedConfidenceScoreForMerging' => <float>,
    ],
    'DomainName' => '<string>',
    'ExportingLocation' => [
        'S3Exporting' => [
            'S3BucketName' => '<string>',
            'S3KeyName' => '<string>',
        ],
    ],
    'JobEndTime' => <DateTime>,
    'JobExpirationTime' => <DateTime>,
    'JobId' => '<string>',
    'JobStartTime' => <DateTime>,
    'JobStats' => [
        'NumberOfMatchesFound' => <integer>,
        'NumberOfMergesDone' => <integer>,
        'NumberOfProfilesReviewed' => <integer>,
    ],
    'LastUpdatedAt' => <DateTime>,
    'Message' => '<string>',
    'Status' => 'PENDING|PREPROCESSING|FIND_MATCHING|MERGING|COMPLETED|PARTIAL_SUCCESS|FAILED',
]

Result Details

Members
AutoMerging
Type: AutoMerging structure

Configuration settings for how to perform the auto-merging of profiles.

DomainName
Type: string

The unique name of the domain.

ExportingLocation
Type: ExportingLocation structure

The S3 location where the Identity Resolution Job writes result files.

JobEndTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp of when the Identity Resolution Job was completed.

JobExpirationTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp of when the Identity Resolution Job will expire.

JobId
Type: string

The unique identifier of the Identity Resolution Job.

JobStartTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp of when the Identity Resolution Job was started or will be started.

JobStats
Type: JobStats structure

Statistics about the Identity Resolution Job.

LastUpdatedAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp of when the Identity Resolution Job was most recently edited.

Message
Type: string

The error messages that are generated when the Identity Resolution Job runs.

Status
Type: string

The status of the Identity Resolution Job.

  • PENDING: The Identity Resolution Job is scheduled but has not started yet. If you turn off the Identity Resolution feature in your domain, jobs in the PENDING state are deleted.

  • PREPROCESSING: The Identity Resolution Job is loading your data.

  • FIND_MATCHING: The Identity Resolution Job is using the machine learning model to identify profiles that belong to the same matching group.

  • MERGING: The Identity Resolution Job is merging duplicate profiles.

  • COMPLETED: The Identity Resolution Job completed successfully.

  • PARTIAL_SUCCESS: There's a system error and not all of the data is merged. The Identity Resolution Job writes a message indicating the source of the problem.

  • FAILED: The Identity Resolution Job did not merge any data. It writes a message indicating the source of the problem.

Errors

BadRequestException:

The input you provided is invalid.

ResourceNotFoundException:

The requested resource does not exist, or access was denied.

AccessDeniedException:

You do not have sufficient access to perform this action.

ThrottlingException:

You exceeded the maximum number of requests.

InternalServerException:

An internal service error occurred.

GetIntegration

$result = $client->getIntegration([/* ... */]);
$promise = $client->getIntegrationAsync([/* ... */]);

Returns an integration for a domain.

Parameter Syntax

$result = $client->getIntegration([
    'DomainName' => '<string>', // REQUIRED
    'Uri' => '<string>', // REQUIRED
]);

Parameter Details

Members
DomainName
Required: Yes
Type: string

The unique name of the domain.

Uri
Required: Yes
Type: string

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

Result Syntax

[
    'CreatedAt' => <DateTime>,
    'DomainName' => '<string>',
    'IsUnstructured' => true || false,
    'LastUpdatedAt' => <DateTime>,
    'ObjectTypeName' => '<string>',
    'ObjectTypeNames' => ['<string>', ...],
    'RoleArn' => '<string>',
    'Tags' => ['<string>', ...],
    'Uri' => '<string>',
    'WorkflowId' => '<string>',
]

Result Details

Members
CreatedAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp of when the domain was created.

DomainName
Required: Yes
Type: string

The unique name of the domain.

IsUnstructured
Type: boolean

Boolean that shows if the Flow that's associated with the Integration is created in Amazon Appflow, or with ObjectTypeName equals _unstructured via API/CLI in flowDefinition.

LastUpdatedAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp of when the domain was most recently edited.

ObjectTypeName
Type: string

The name of the profile object type.

ObjectTypeNames
Type: Associative array of custom strings keys (string1To255) to strings

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.

RoleArn
Type: string

The Amazon Resource Name (ARN) of the IAM role. The Integration uses this role to make Customer Profiles requests on your behalf.

Tags
Type: Associative array of custom strings keys (TagKey) to strings

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

Uri
Required: Yes
Type: string

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

WorkflowId
Type: string

Unique identifier for the workflow.

Errors

BadRequestException:

The input you provided is invalid.

ResourceNotFoundException:

The requested resource does not exist, or access was denied.

AccessDeniedException:

You do not have sufficient access to perform this action.

ThrottlingException:

You exceeded the maximum number of requests.

InternalServerException:

An internal service error occurred.

GetMatches

$result = $client->getMatches([/* ... */]);
$promise = $client->getMatchesAsync([/* ... */]);

Before calling this API, use CreateDomain or UpdateDomain to enable identity resolution: set Matching to true.

GetMatches returns potentially matching profiles, based on the results of the latest run of a machine learning process.

The process of matching duplicate profiles. If Matching = true, Amazon Connect Customer Profiles starts a weekly batch process called Identity Resolution Job. If you do not specify a date and time for Identity Resolution Job to run, by default it runs every Saturday at 12AM UTC to detect duplicate profiles in your domains.

After the Identity Resolution Job completes, use the GetMatches API to return and review the results. Or, if you have configured ExportingConfig in the MatchingRequest, you can download the results from S3.

Amazon Connect uses the following profile attributes to identify matches:

  • PhoneNumber

  • HomePhoneNumber

  • BusinessPhoneNumber

  • MobilePhoneNumber

  • EmailAddress

  • PersonalEmailAddress

  • BusinessEmailAddress

  • FullName

For example, two or more profiles—with spelling mistakes such as John Doe and Jhn Doe, or different casing email addresses such as JOHN_DOE@ANYCOMPANY.COM and johndoe@anycompany.com, or different phone number formats such as 555-010-0000 and +1-555-010-0000—can be detected as belonging to the same customer John Doe and merged into a unified profile.

Parameter Syntax

$result = $client->getMatches([
    'DomainName' => '<string>', // REQUIRED
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
]);

Parameter Details

Members
DomainName
Required: Yes
Type: string

The unique name of the domain.

MaxResults
Type: int

The maximum number of results to return per page.

NextToken
Type: string

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

Result Syntax

[
    'MatchGenerationDate' => <DateTime>,
    'Matches' => [
        [
            'ConfidenceScore' => <float>,
            'MatchId' => '<string>',
            'ProfileIds' => ['<string>', ...],
        ],
        // ...
    ],
    'NextToken' => '<string>',
    'PotentialMatches' => <integer>,
]

Result Details

Members
MatchGenerationDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp this version of Match Result generated.

Matches
Type: Array of MatchItem structures

The list of matched profiles for this instance.

NextToken
Type: string

If there are additional results, this is the token for the next set of results.

PotentialMatches
Type: int

The number of potential matches found.

Errors

BadRequestException:

The input you provided is invalid.

AccessDeniedException:

You do not have sufficient access to perform this action.

ResourceNotFoundException:

The requested resource does not exist, or access was denied.

ThrottlingException:

You exceeded the maximum number of requests.

InternalServerException:

An internal service error occurred.

GetProfileObjectType

$result = $client->getProfileObjectType([/* ... */]);
$promise = $client->getProfileObjectTypeAsync([/* ... */]);

Returns the object types for a specific domain.

Parameter Syntax

$result = $client->getProfileObjectType([
    'DomainName' => '<string>', // REQUIRED
    'ObjectTypeName' => '<string>', // REQUIRED
]);

Parameter Details

Members
DomainName
Required: Yes
Type: string

The unique name of the domain.

ObjectTypeName
Required: Yes
Type: string

The name of the profile object type.

Result Syntax

[
    'AllowProfileCreation' => true || false,
    'CreatedAt' => <DateTime>,
    'Description' => '<string>',
    'EncryptionKey' => '<string>',
    'ExpirationDays' => <integer>,
    'Fields' => [
        '<name>' => [
            'ContentType' => 'STRING|NUMBER|PHONE_NUMBER|EMAIL_ADDRESS|NAME',
            'Source' => '<string>',
            'Target' => '<string>',
        ],
        // ...
    ],
    'Keys' => [
        '<name>' => [
            [
                'FieldNames' => ['<string>', ...],
                'StandardIdentifiers' => ['<string>', ...],
            ],
            // ...
        ],
        // ...
    ],
    'LastUpdatedAt' => <DateTime>,
    'MaxAvailableProfileObjectCount' => <integer>,
    'MaxProfileObjectCount' => <integer>,
    'ObjectTypeName' => '<string>',
    'SourceLastUpdatedTimestampFormat' => '<string>',
    'Tags' => ['<string>', ...],
    'TemplateId' => '<string>',
]

Result Details

Members
AllowProfileCreation
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.

CreatedAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp of when the domain was created.

Description
Required: Yes
Type: string

The description of the profile object type.

EncryptionKey
Type: string

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

ExpirationDays
Type: int

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

Fields
Type: Associative array of custom strings keys (name) to ObjectTypeField structures

A map of the name and ObjectType field.

Keys
Type: Associative array of custom strings keys (name) to ObjectTypeKey structuress

A list of unique keys that can be used to map data to the profile.

LastUpdatedAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp of when the domain was most recently edited.

MaxAvailableProfileObjectCount
Type: int

The amount of provisioned profile object max count available.

MaxProfileObjectCount
Type: int

The amount of profile object max count assigned to the object type.

ObjectTypeName
Required: Yes
Type: string

The name of the profile object type.

SourceLastUpdatedTimestampFormat
Type: string

The format of your sourceLastUpdatedTimestamp that was previously set up.

Tags
Type: Associative array of custom strings keys (TagKey) to strings

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

TemplateId
Type: string

A unique identifier for the object template.

Errors

BadRequestException:

The input you provided is invalid.

ResourceNotFoundException:

The requested resource does not exist, or access was denied.

AccessDeniedException:

You do not have sufficient access to perform this action.

ThrottlingException:

You exceeded the maximum number of requests.

InternalServerException:

An internal service error occurred.

GetProfileObjectTypeTemplate

$result = $client->getProfileObjectTypeTemplate([/* ... */]);
$promise = $client->getProfileObjectTypeTemplateAsync([/* ... */]);

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.

Parameter Syntax

$result = $client->getProfileObjectTypeTemplate([
    'TemplateId' => '<string>', // REQUIRED
]);

Parameter Details

Members
TemplateId
Required: Yes
Type: string

A unique identifier for the object template.

Result Syntax

[
    'AllowProfileCreation' => true || false,
    'Fields' => [
        '<name>' => [
            'ContentType' => 'STRING|NUMBER|PHONE_NUMBER|EMAIL_ADDRESS|NAME',
            'Source' => '<string>',
            'Target' => '<string>',
        ],
        // ...
    ],
    'Keys' => [
        '<name>' => [
            [
                'FieldNames' => ['<string>', ...],
                'StandardIdentifiers' => ['<string>', ...],
            ],
            // ...
        ],
        // ...
    ],
    'SourceLastUpdatedTimestampFormat' => '<string>',
    'SourceName' => '<string>',
    'SourceObject' => '<string>',
    'TemplateId' => '<string>',
]

Result Details

Members
AllowProfileCreation
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.

Fields
Type: Associative array of custom strings keys (name) to ObjectTypeField structures

A map of the name and ObjectType field.

Keys
Type: Associative array of custom strings keys (name) to ObjectTypeKey structuress

A list of unique keys that can be used to map data to the profile.

SourceLastUpdatedTimestampFormat
Type: string

The format of your sourceLastUpdatedTimestamp that was previously set up.

SourceName
Type: string

The name of the source of the object template.

SourceObject
Type: string

The source of the object template.

TemplateId
Type: string

A unique identifier for the object template.

Errors

BadRequestException:

The input you provided is invalid.

ResourceNotFoundException:

The requested resource does not exist, or access was denied.

AccessDeniedException:

You do not have sufficient access to perform this action.

ThrottlingException:

You exceeded the maximum number of requests.

InternalServerException:

An internal service error occurred.

GetSimilarProfiles

$result = $client->getSimilarProfiles([/* ... */]);
$promise = $client->getSimilarProfilesAsync([/* ... */]);

Returns a set of profiles that belong to the same matching group using the matchId or profileId. You can also specify the type of matching that you want for finding similar profiles using either RULE_BASED_MATCHING or ML_BASED_MATCHING.

Parameter Syntax

$result = $client->getSimilarProfiles([
    'DomainName' => '<string>', // REQUIRED
    'MatchType' => 'RULE_BASED_MATCHING|ML_BASED_MATCHING', // REQUIRED
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'SearchKey' => '<string>', // REQUIRED
    'SearchValue' => '<string>', // REQUIRED
]);

Parameter Details

Members
DomainName
Required: Yes
Type: string

The unique name of the domain.

MatchType
Required: Yes
Type: string

Specify the type of matching to get similar profiles for.

MaxResults
Type: int

The maximum number of objects returned per page.

NextToken
Type: string

The pagination token from the previous GetSimilarProfiles API call.

SearchKey
Required: Yes
Type: string

The string indicating the search key to be used.

SearchValue
Required: Yes
Type: string

The string based on SearchKey to be searched for similar profiles.

Result Syntax

[
    'ConfidenceScore' => <float>,
    'MatchId' => '<string>',
    'MatchType' => 'RULE_BASED_MATCHING|ML_BASED_MATCHING',
    'NextToken' => '<string>',
    'ProfileIds' => ['<string>', ...],
    'RuleLevel' => <integer>,
]

Result Details

Members
ConfidenceScore
Type: double

It only has value when the MatchType is ML_BASED_MATCHING.A number between 0 and 1, where a higher score means higher similarity. Examining match confidence scores lets you distinguish between groups of similar records in which the system is highly confident (which you may decide to merge), groups of similar records about which the system is uncertain (which you may decide to have reviewed by a human), and groups of similar records that the system deems to be unlikely (which you may decide to reject). Given confidence scores vary as per the data input, it should not be used as an absolute measure of matching quality.

MatchId
Type: string

The string matchId that the similar profiles belong to.

MatchType
Type: string

Specify the type of matching to get similar profiles for.

NextToken
Type: string

The pagination token from the previous GetSimilarProfiles API call.

ProfileIds
Type: Array of strings

Set of profileIds that belong to the same matching group.

RuleLevel
Type: int

The integer rule level that the profiles matched on.

Errors

BadRequestException:

The input you provided is invalid.

AccessDeniedException:

You do not have sufficient access to perform this action.

ResourceNotFoundException:

The requested resource does not exist, or access was denied.

ThrottlingException:

You exceeded the maximum number of requests.

InternalServerException:

An internal service error occurred.

GetWorkflow

$result = $client->getWorkflow([/* ... */]);
$promise = $client->getWorkflowAsync([/* ... */]);

Get details of specified workflow.

Parameter Syntax

$result = $client->getWorkflow([
    'DomainName' => '<string>', // REQUIRED
    'WorkflowId' => '<string>', // REQUIRED
]);

Parameter Details

Members
DomainName
Required: Yes
Type: string

The unique name of the domain.

WorkflowId
Required: Yes
Type: string

Unique identifier for the workflow.

Result Syntax

[
    'Attributes' => [
        'AppflowIntegration' => [
            'ConnectorProfileName' => '<string>',
            'RoleArn' => '<string>',
            'SourceConnectorType' => 'Salesforce|Marketo|Zendesk|Servicenow|S3',
        ],
    ],
    'ErrorDescription' => '<string>',
    'LastUpdatedAt' => <DateTime>,
    'Metrics' => [
        'AppflowIntegration' => [
            'RecordsProcessed' => <integer>,
            'StepsCompleted' => <integer>,
            'TotalSteps' => <integer>,
        ],
    ],
    'StartDate' => <DateTime>,
    'Status' => 'NOT_STARTED|IN_PROGRESS|COMPLETE|FAILED|SPLIT|RETRY|CANCELLED',
    'WorkflowId' => '<string>',
    'WorkflowType' => 'APPFLOW_INTEGRATION',
]

Result Details

Members
Attributes
Type: WorkflowAttributes structure

Attributes provided for workflow execution.

ErrorDescription
Type: string

Workflow error messages during execution (if any).

LastUpdatedAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp that represents when workflow execution last updated.

Metrics
Type: WorkflowMetrics structure

Workflow specific execution metrics.

StartDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp that represents when workflow execution started.

Status
Type: string

Status of workflow execution.

WorkflowId
Type: string

Unique identifier for the workflow.

WorkflowType
Type: string

The type of workflow. The only supported value is APPFLOW_INTEGRATION.

Errors

BadRequestException:

The input you provided is invalid.

ResourceNotFoundException:

The requested resource does not exist, or access was denied.

AccessDeniedException:

You do not have sufficient access to perform this action.

ThrottlingException:

You exceeded the maximum number of requests.

InternalServerException:

An internal service error occurred.

GetWorkflowSteps

$result = $client->getWorkflowSteps([/* ... */]);
$promise = $client->getWorkflowStepsAsync([/* ... */]);

Get granular list of steps in workflow.

Parameter Syntax

$result = $client->getWorkflowSteps([
    'DomainName' => '<string>', // REQUIRED
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'WorkflowId' => '<string>', // REQUIRED
]);

Parameter Details

Members
DomainName
Required: Yes
Type: string

The unique name of the domain.

MaxResults
Type: int

The maximum number of results to return per page.

NextToken
Type: string

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

WorkflowId
Required: Yes
Type: string

Unique identifier for the workflow.

Result Syntax

[
    'Items' => [
        [
            'AppflowIntegration' => [
                'BatchRecordsEndTime' => '<string>',
                'BatchRecordsStartTime' => '<string>',
                'CreatedAt' => <DateTime>,
                'ExecutionMessage' => '<string>',
                'FlowName' => '<string>',
                'LastUpdatedAt' => <DateTime>,
                'RecordsProcessed' => <integer>,
                'Status' => 'NOT_STARTED|IN_PROGRESS|COMPLETE|FAILED|SPLIT|RETRY|CANCELLED',
            ],
        ],
        // ...
    ],
    'NextToken' => '<string>',
    'WorkflowId' => '<string>',
    'WorkflowType' => 'APPFLOW_INTEGRATION',
]

Result Details

Members
Items
Type: Array of WorkflowStepItem structures

List containing workflow step details.

NextToken
Type: string

If there are additional results, this is the token for the next set of results.

WorkflowId
Type: string

Unique identifier for the workflow.

WorkflowType
Type: string

The type of workflow. The only supported value is APPFLOW_INTEGRATION.

Errors

BadRequestException:

The input you provided is invalid.

ResourceNotFoundException:

The requested resource does not exist, or access was denied.

AccessDeniedException:

You do not have sufficient access to perform this action.

ThrottlingException:

You exceeded the maximum number of requests.

InternalServerException:

An internal service error occurred.

ListAccountIntegrations

$result = $client->listAccountIntegrations([/* ... */]);
$promise = $client->listAccountIntegrationsAsync([/* ... */]);

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

Parameter Syntax

$result = $client->listAccountIntegrations([
    'IncludeHidden' => true || false,
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'Uri' => '<string>', // REQUIRED
]);

Parameter Details

Members
IncludeHidden
Type: boolean

Boolean to indicate if hidden integration should be returned. Defaults to False.

MaxResults
Type: int

The maximum number of objects returned per page.

NextToken
Type: string

The pagination token from the previous ListAccountIntegrations API call.

Uri
Required: Yes
Type: string

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

Result Syntax

[
    'Items' => [
        [
            'CreatedAt' => <DateTime>,
            'DomainName' => '<string>',
            'IsUnstructured' => true || false,
            'LastUpdatedAt' => <DateTime>,
            'ObjectTypeName' => '<string>',
            'ObjectTypeNames' => ['<string>', ...],
            'RoleArn' => '<string>',
            'Tags' => ['<string>', ...],
            'Uri' => '<string>',
            'WorkflowId' => '<string>',
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
Items
Type: Array of ListIntegrationItem structures

The list of ListAccountIntegration instances.

NextToken
Type: string

The pagination token from the previous ListAccountIntegrations API call.

Errors

BadRequestException:

The input you provided is invalid.

ResourceNotFoundException:

The requested resource does not exist, or access was denied.

AccessDeniedException:

You do not have sufficient access to perform this action.

ThrottlingException:

You exceeded the maximum number of requests.

InternalServerException:

An internal service error occurred.

ListCalculatedAttributeDefinitions

$result = $client->listCalculatedAttributeDefinitions([/* ... */]);
$promise = $client->listCalculatedAttributeDefinitionsAsync([/* ... */]);

Lists calculated attribute definitions for Customer Profiles

Parameter Syntax

$result = $client->listCalculatedAttributeDefinitions([
    'DomainName' => '<string>', // REQUIRED
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
]);

Parameter Details

Members
DomainName
Required: Yes
Type: string

The unique name of the domain.

MaxResults
Type: int

The maximum number of calculated attribute definitions returned per page.

NextToken
Type: string

The pagination token from the previous call to ListCalculatedAttributeDefinitions.

Result Syntax

[
    'Items' => [
        [
            'CalculatedAttributeName' => '<string>',
            'CreatedAt' => <DateTime>,
            'Description' => '<string>',
            'DisplayName' => '<string>',
            'LastUpdatedAt' => <DateTime>,
            'Tags' => ['<string>', ...],
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
Items
Type: Array of ListCalculatedAttributeDefinitionItem structures

The list of calculated attribute definitions.

NextToken
Type: string

The pagination token from the previous call to ListCalculatedAttributeDefinitions.

Errors

BadRequestException:

The input you provided is invalid.

ResourceNotFoundException:

The requested resource does not exist, or access was denied.

AccessDeniedException:

You do not have sufficient access to perform this action.

ThrottlingException:

You exceeded the maximum number of requests.

InternalServerException:

An internal service error occurred.

ListCalculatedAttributesForProfile

$result = $client->listCalculatedAttributesForProfile([/* ... */]);
$promise = $client->listCalculatedAttributesForProfileAsync([/* ... */]);

Retrieve a list of calculated attributes for a customer profile.

Parameter Syntax

$result = $client->listCalculatedAttributesForProfile([
    'DomainName' => '<string>', // REQUIRED
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'ProfileId' => '<string>', // REQUIRED
]);

Parameter Details

Members
DomainName
Required: Yes
Type: string

The unique name of the domain.

MaxResults
Type: int

The maximum number of calculated attributes returned per page.

NextToken
Type: string

The pagination token from the previous call to ListCalculatedAttributesForProfile.

ProfileId
Required: Yes
Type: string

The unique identifier of a customer profile.

Result Syntax

[
    'Items' => [
        [
            'CalculatedAttributeName' => '<string>',
            'DisplayName' => '<string>',
            'IsDataPartial' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
Items
Type: Array of ListCalculatedAttributeForProfileItem structures

The list of calculated attributes.

NextToken
Type: string

The pagination token from the previous call to ListCalculatedAttributesForProfile.

Errors

BadRequestException:

The input you provided is invalid.

AccessDeniedException:

You do not have sufficient access to perform this action.

ResourceNotFoundException:

The requested resource does not exist, or access was denied.

ThrottlingException:

You exceeded the maximum number of requests.

InternalServerException:

An internal service error occurred.

ListDomains

$result = $client->listDomains([/* ... */]);
$promise = $client->listDomainsAsync([/* ... */]);

Returns a list of all the domains for an AWS account that have been created.

Parameter Syntax

$result = $client->listDomains([
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
]);

Parameter Details

Members
MaxResults
Type: int

The maximum number of objects returned per page.

NextToken
Type: string

The pagination token from the previous ListDomain API call.

Result Syntax

[
    'Items' => [
        [
            'CreatedAt' => <DateTime>,
            'DomainName' => '<string>',
            'LastUpdatedAt' => <DateTime>,
            'Tags' => ['<string>', ...],
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
Items
Type: Array of ListDomainItem structures

The list of ListDomains instances.

NextToken
Type: string

The pagination token from the previous ListDomains API call.

Errors

BadRequestException:

The input you provided is invalid.

ResourceNotFoundException:

The requested resource does not exist, or access was denied.

AccessDeniedException:

You do not have sufficient access to perform this action.

ThrottlingException:

You exceeded the maximum number of requests.

InternalServerException:

An internal service error occurred.

ListEventStreams

$result = $client->listEventStreams([/* ... */]);
$promise = $client->listEventStreamsAsync([/* ... */]);

Returns a list of all the event streams in a specific domain.

Parameter Syntax

$result = $client->listEventStreams([
    'DomainName' => '<string>', // REQUIRED
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
]);

Parameter Details

Members
DomainName
Required: Yes
Type: string

The unique name of the domain.

MaxResults
Type: int

The maximum number of objects returned per page.

NextToken
Type: string

Identifies the next page of results to return.

Result Syntax

[
    'Items' => [
        [
            'DestinationSummary' => [
                'Status' => 'HEALTHY|UNHEALTHY',
                'UnhealthySince' => <DateTime>,
                'Uri' => '<string>',
            ],
            'DomainName' => '<string>',
            'EventStreamArn' => '<string>',
            'EventStreamName' => '<string>',
            'State' => 'RUNNING|STOPPED',
            'StoppedSince' => <DateTime>,
            'Tags' => ['<string>', ...],
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
Items
Type: Array of EventStreamSummary structures

Contains summary information about an EventStream.

NextToken
Type: string

Identifies the next page of results to return.

Errors

BadRequestException:

The input you provided is invalid.

ResourceNotFoundException:

The requested resource does not exist, or access was denied.

AccessDeniedException:

You do not have sufficient access to perform this action.

ThrottlingException:

You exceeded the maximum number of requests.

InternalServerException:

An internal service error occurred.

ListIdentityResolutionJobs

$result = $client->listIdentityResolutionJobs([/* ... */]);
$promise = $client->listIdentityResolutionJobsAsync([/* ... */]);

Lists all of the Identity Resolution Jobs in your domain. The response sorts the list by JobStartTime.

Parameter Syntax

$result = $client->listIdentityResolutionJobs([
    'DomainName' => '<string>', // REQUIRED
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
]);

Parameter Details

Members
DomainName
Required: Yes
Type: string

The unique name of the domain.

MaxResults
Type: int

The maximum number of results to return per page.

NextToken
Type: string

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

Result Syntax

[
    'IdentityResolutionJobsList' => [
        [
            'DomainName' => '<string>',
            'ExportingLocation' => [
                'S3Exporting' => [
                    'S3BucketName' => '<string>',
                    'S3KeyName' => '<string>',
                ],
            ],
            'JobEndTime' => <DateTime>,
            'JobId' => '<string>',
            'JobStartTime' => <DateTime>,
            'JobStats' => [
                'NumberOfMatchesFound' => <integer>,
                'NumberOfMergesDone' => <integer>,
                'NumberOfProfilesReviewed' => <integer>,
            ],
            'Message' => '<string>',
            'Status' => 'PENDING|PREPROCESSING|FIND_MATCHING|MERGING|COMPLETED|PARTIAL_SUCCESS|FAILED',
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
IdentityResolutionJobsList
Type: Array of IdentityResolutionJob structures

A list of Identity Resolution Jobs.

NextToken
Type: string

If there are additional results, this is the token for the next set of results.

Errors

BadRequestException:

The input you provided is invalid.

ResourceNotFoundException:

The requested resource does not exist, or access was denied.

AccessDeniedException:

You do not have sufficient access to perform this action.

ThrottlingException:

You exceeded the maximum number of requests.

InternalServerException:

An internal service error occurred.

ListIntegrations

$result = $client->listIntegrations([/* ... */]);
$promise = $client->listIntegrationsAsync([/* ... */]);

Lists all of the integrations in your domain.

Parameter Syntax

$result = $client->listIntegrations([
    'DomainName' => '<string>', // REQUIRED
    'IncludeHidden' => true || false,
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
]);

Parameter Details

Members
DomainName
Required: Yes
Type: string

The unique name of the domain.

IncludeHidden
Type: boolean

Boolean to indicate if hidden integration should be returned. Defaults to False.

MaxResults
Type: int

The maximum number of objects returned per page.

NextToken
Type: string

The pagination token from the previous ListIntegrations API call.

Result Syntax

[
    'Items' => [
        [
            'CreatedAt' => <DateTime>,
            'DomainName' => '<string>',
            'IsUnstructured' => true || false,
            'LastUpdatedAt' => <DateTime>,
            'ObjectTypeName' => '<string>',
            'ObjectTypeNames' => ['<string>', ...],
            'RoleArn' => '<string>',
            'Tags' => ['<string>', ...],
            'Uri' => '<string>',
            'WorkflowId' => '<string>',
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
Items
Type: Array of ListIntegrationItem structures

The list of ListIntegrations instances.

NextToken
Type: string

The pagination token from the previous ListIntegrations API call.

Errors

BadRequestException:

The input you provided is invalid.

ResourceNotFoundException:

The requested resource does not exist, or access was denied.

AccessDeniedException:

You do not have sufficient access to perform this action.

ThrottlingException:

You exceeded the maximum number of requests.

InternalServerException:

An internal service error occurred.

ListProfileObjectTypeTemplates

$result = $client->listProfileObjectTypeTemplates([/* ... */]);
$promise = $client->listProfileObjectTypeTemplatesAsync([/* ... */]);

Lists all of the template information for object types.

Parameter Syntax

$result = $client->listProfileObjectTypeTemplates([
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
]);

Parameter Details

Members
MaxResults
Type: int

The maximum number of objects returned per page.

NextToken
Type: string

The pagination token from the previous ListObjectTypeTemplates API call.

Result Syntax

[
    'Items' => [
        [
            'SourceName' => '<string>',
            'SourceObject' => '<string>',
            'TemplateId' => '<string>',
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
Items
Type: Array of ListProfileObjectTypeTemplateItem structures

The list of ListProfileObjectType template instances.

NextToken
Type: string

The pagination token from the previous ListObjectTypeTemplates API call.

Errors

BadRequestException:

The input you provided is invalid.

ResourceNotFoundException:

The requested resource does not exist, or access was denied.

AccessDeniedException:

You do not have sufficient access to perform this action.

ThrottlingException:

You exceeded the maximum number of requests.

InternalServerException:

An internal service error occurred.

ListProfileObjectTypes

$result = $client->listProfileObjectTypes([/* ... */]);
$promise = $client->listProfileObjectTypesAsync([/* ... */]);

Lists all of the templates available within the service.

Parameter Syntax

$result = $client->listProfileObjectTypes([
    'DomainName' => '<string>', // REQUIRED
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
]);

Parameter Details

Members
DomainName
Required: Yes
Type: string

The unique name of the domain.

MaxResults
Type: int

The maximum number of objects returned per page.

NextToken
Type: string

Identifies the next page of results to return.

Result Syntax

[
    'Items' => [
        [
            'CreatedAt' => <DateTime>,
            'Description' => '<string>',
            'LastUpdatedAt' => <DateTime>,
            'MaxAvailableProfileObjectCount' => <integer>,
            'MaxProfileObjectCount' => <integer>,
            'ObjectTypeName' => '<string>',
            'Tags' => ['<string>', ...],
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
Items
Type: Array of ListProfileObjectTypeItem structures

The list of ListProfileObjectTypes instances.

NextToken
Type: string

Identifies the next page of results to return.

Errors

BadRequestException:

The input you provided is invalid.

ResourceNotFoundException:

The requested resource does not exist, or access was denied.

AccessDeniedException:

You do not have sufficient access to perform this action.

ThrottlingException:

You exceeded the maximum number of requests.

InternalServerException:

An internal service error occurred.

ListProfileObjects

$result = $client->listProfileObjects([/* ... */]);
$promise = $client->listProfileObjectsAsync([/* ... */]);

Returns a list of objects associated with a profile of a given ProfileObjectType.

Parameter Syntax

$result = $client->listProfileObjects([
    'DomainName' => '<string>', // REQUIRED
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'ObjectFilter' => [
        'KeyName' => '<string>', // REQUIRED
        'Values' => ['<string>', ...], // REQUIRED
    ],
    'ObjectTypeName' => '<string>', // REQUIRED
    'ProfileId' => '<string>', // REQUIRED
]);

Parameter Details

Members
DomainName
Required: Yes
Type: string

The unique name of the domain.

MaxResults
Type: int

The maximum number of objects returned per page.

NextToken
Type: string

The pagination token from the previous call to ListProfileObjects.

ObjectFilter
Type: ObjectFilter structure

Applies a filter to the response to include profile objects with the specified index values.

ObjectTypeName
Required: Yes
Type: string

The name of the profile object type.

ProfileId
Required: Yes
Type: string

The unique identifier of a customer profile.

Result Syntax

[
    'Items' => [
        [
            'Object' => '<string>',
            'ObjectTypeName' => '<string>',
            'ProfileObjectUniqueKey' => '<string>',
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
Items
Type: Array of ListProfileObjectsItem structures

The list of ListProfileObject instances.

NextToken
Type: string

The pagination token from the previous call to ListProfileObjects.

Errors

BadRequestException:

The input you provided is invalid.

AccessDeniedException:

You do not have sufficient access to perform this action.

ResourceNotFoundException:

The requested resource does not exist, or access was denied.

ThrottlingException:

You exceeded the maximum number of requests.

InternalServerException:

An internal service error occurred.

ListRuleBasedMatches

$result = $client->listRuleBasedMatches([/* ... */]);
$promise = $client->listRuleBasedMatchesAsync([/* ... */]);

Returns a set of MatchIds that belong to the given domain.

Parameter Syntax

$result = $client->listRuleBasedMatches([
    'DomainName' => '<string>', // REQUIRED
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
]);

Parameter Details

Members
DomainName
Required: Yes
Type: string

The unique name of the domain.

MaxResults
Type: int

The maximum number of MatchIds returned per page.

NextToken
Type: string

The pagination token from the previous ListRuleBasedMatches API call.

Result Syntax

[
    'MatchIds' => ['<string>', ...],
    'NextToken' => '<string>',
]

Result Details

Members
MatchIds
Type: Array of strings

The list of MatchIds for the given domain.

NextToken
Type: string

The pagination token from the previous ListRuleBasedMatches API call.

Errors

BadRequestException:

The input you provided is invalid.

AccessDeniedException:

You do not have sufficient access to perform this action.

ResourceNotFoundException:

The requested resource does not exist, or access was denied.

ThrottlingException:

You exceeded the maximum number of requests.

InternalServerException:

An internal service error occurred.

ListTagsForResource

$result = $client->listTagsForResource([/* ... */]);
$promise = $client->listTagsForResourceAsync([/* ... */]);

Displays the tags associated with an Amazon Connect Customer Profiles resource. In Connect Customer Profiles, domains, profile object types, and integrations can be tagged.

Parameter Syntax

$result = $client->listTagsForResource([
    'resourceArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
resourceArn
Required: Yes
Type: string

The ARN of the resource for which you want to view tags.

Result Syntax

[
    'tags' => ['<string>', ...],
]

Result Details

Members
tags
Type: Associative array of custom strings keys (TagKey) to strings

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

Errors

InternalServerException:

An internal service error occurred.

BadRequestException:

The input you provided is invalid.

ResourceNotFoundException:

The requested resource does not exist, or access was denied.

ListWorkflows

$result = $client->listWorkflows([/* ... */]);
$promise = $client->listWorkflowsAsync([/* ... */]);

Query to list all workflows.

Parameter Syntax

$result = $client->listWorkflows([
    'DomainName' => '<string>', // REQUIRED
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'QueryEndDate' => <integer || string || DateTime>,
    'QueryStartDate' => <integer || string || DateTime>,
    'Status' => 'NOT_STARTED|IN_PROGRESS|COMPLETE|FAILED|SPLIT|RETRY|CANCELLED',
    'WorkflowType' => 'APPFLOW_INTEGRATION',
]);

Parameter Details

Members
DomainName
Required: Yes
Type: string

The unique name of the domain.

MaxResults
Type: int

The maximum number of results to return per page.

NextToken
Type: string

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

QueryEndDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

Retrieve workflows ended after timestamp.

QueryStartDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

Retrieve workflows started after timestamp.

Status
Type: string

Status of workflow execution.

WorkflowType
Type: string

The type of workflow. The only supported value is APPFLOW_INTEGRATION.

Result Syntax

[
    'Items' => [
        [
            'CreatedAt' => <DateTime>,
            'LastUpdatedAt' => <DateTime>,
            'Status' => 'NOT_STARTED|IN_PROGRESS|COMPLETE|FAILED|SPLIT|RETRY|CANCELLED',
            'StatusDescription' => '<string>',
            'WorkflowId' => '<string>',
            'WorkflowType' => 'APPFLOW_INTEGRATION',
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
Items
Type: Array of ListWorkflowsItem structures

List containing workflow details.

NextToken
Type: string

If there are additional results, this is the token for the next set of results.

Errors

BadRequestException:

The input you provided is invalid.

ResourceNotFoundException:

The requested resource does not exist, or access was denied.

AccessDeniedException:

You do not have sufficient access to perform this action.

ThrottlingException:

You exceeded the maximum number of requests.

InternalServerException:

An internal service error occurred.

MergeProfiles

$result = $client->mergeProfiles([/* ... */]);
$promise = $client->mergeProfilesAsync([/* ... */]);

Runs an AWS Lambda job that does the following:

  1. All the profileKeys in the ProfileToBeMerged will be moved to the main profile.

  2. All the objects in the ProfileToBeMerged will be moved to the main profile.

  3. All the ProfileToBeMerged will be deleted at the end.

  4. All the profileKeys in the ProfileIdsToBeMerged will be moved to the main profile.

  5. Standard fields are merged as follows:

    1. Fields are always "union"-ed if there are no conflicts in standard fields or attributeKeys.

    2. When there are conflicting fields:

      1. If no SourceProfileIds entry is specified, the main Profile value is always taken.

      2. If a SourceProfileIds entry is specified, the specified profileId is always taken, even if it is a NULL value.

You can use MergeProfiles together with GetMatches, which returns potentially matching profiles, or use it with the results of another matching system. After profiles have been merged, they cannot be separated (unmerged).

Parameter Syntax

$result = $client->mergeProfiles([
    'DomainName' => '<string>', // REQUIRED
    'FieldSourceProfileIds' => [
        'AccountNumber' => '<string>',
        'AdditionalInformation' => '<string>',
        'Address' => '<string>',
        'Attributes' => ['<string>', ...],
        'BillingAddress' => '<string>',
        'BirthDate' => '<string>',
        'BusinessEmailAddress' => '<string>',
        'BusinessName' => '<string>',
        'BusinessPhoneNumber' => '<string>',
        'EmailAddress' => '<string>',
        'FirstName' => '<string>',
        'Gender' => '<string>',
        'HomePhoneNumber' => '<string>',
        'LastName' => '<string>',
        'MailingAddress' => '<string>',
        'MiddleName' => '<string>',
        'MobilePhoneNumber' => '<string>',
        'PartyType' => '<string>',
        'PersonalEmailAddress' => '<string>',
        'PhoneNumber' => '<string>',
        'ShippingAddress' => '<string>',
    ],
    'MainProfileId' => '<string>', // REQUIRED
    'ProfileIdsToBeMerged' => ['<string>', ...], // REQUIRED
]);

Parameter Details

Members
DomainName
Required: Yes
Type: string

The unique name of the domain.

FieldSourceProfileIds
Type: FieldSourceProfileIds structure

The identifiers of the fields in the profile that has the information you want to apply to the merge. For example, say you want to merge EmailAddress from Profile1 into MainProfile. This would be the identifier of the EmailAddress field in Profile1.

MainProfileId
Required: Yes
Type: string

The identifier of the profile to be taken.

ProfileIdsToBeMerged
Required: Yes
Type: Array of strings

The identifier of the profile to be merged into MainProfileId.

Result Syntax

[
    'Message' => '<string>',
]

Result Details

Members
Message
Type: string

A message that indicates the merge request is complete.

Errors

BadRequestException:

The input you provided is invalid.

ResourceNotFoundException:

The requested resource does not exist, or access was denied.

ThrottlingException:

You exceeded the maximum number of requests.

InternalServerException:

An internal service error occurred.

PutIntegration

$result = $client->putIntegration([/* ... */]);
$promise = $client->putIntegrationAsync([/* ... */]);

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.

To add or remove tags on an existing Integration, see TagResource / UntagResource.

Parameter Syntax

$result = $client->putIntegration([
    'DomainName' => '<string>', // REQUIRED
    'FlowDefinition' => [
        'Description' => '<string>',
        'FlowName' => '<string>', // REQUIRED
        'KmsArn' => '<string>', // REQUIRED
        'SourceFlowConfig' => [ // REQUIRED
            'ConnectorProfileName' => '<string>',
            'ConnectorType' => 'Salesforce|Marketo|Zendesk|Servicenow|S3', // REQUIRED
            'IncrementalPullConfig' => [
                'DatetimeTypeFieldName' => '<string>',
            ],
            'SourceConnectorProperties' => [ // REQUIRED
                'Marketo' => [
                    'Object' => '<string>', // REQUIRED
                ],
                'S3' => [
                    'BucketName' => '<string>', // REQUIRED
                    'BucketPrefix' => '<string>',
                ],
                'Salesforce' => [
                    'EnableDynamicFieldUpdate' => true || false,
                    'IncludeDeletedRecords' => true || false,
                    'Object' => '<string>', // REQUIRED
                ],
                'ServiceNow' => [
                    'Object' => '<string>', // REQUIRED
                ],
                'Zendesk' => [
                    'Object' => '<string>', // REQUIRED
                ],
            ],
        ],
        'Tasks' => [ // REQUIRED
            [
                '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>', ...], // REQUIRED
                'TaskProperties' => ['<string>', ...],
                'TaskType' => 'Arithmetic|Filter|Map|Mask|Merge|Truncate|Validate', // REQUIRED
            ],
            // ...
        ],
        'TriggerConfig' => [ // REQUIRED
            'TriggerProperties' => [
                'Scheduled' => [
                    'DataPullMode' => 'Incremental|Complete',
                    'FirstExecutionFrom' => <integer || string || DateTime>,
                    'ScheduleEndTime' => <integer || string || DateTime>,
                    'ScheduleExpression' => '<string>', // REQUIRED
                    'ScheduleOffset' => <integer>,
                    'ScheduleStartTime' => <integer || string || DateTime>,
                    'Timezone' => '<string>',
                ],
            ],
            'TriggerType' => 'Scheduled|Event|OnDemand', // REQUIRED
        ],
    ],
    'ObjectTypeName' => '<string>',
    'ObjectTypeNames' => ['<string>', ...],
    'RoleArn' => '<string>',
    'Tags' => ['<string>', ...],
    'Uri' => '<string>',
]);

Parameter Details

Members
DomainName
Required: Yes
Type: string

The unique name of the domain.

FlowDefinition
Type: FlowDefinition structure

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

ObjectTypeName
Type: string

The name of the profile object type.

ObjectTypeNames
Type: Associative array of custom strings keys (string1To255) to strings

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.

RoleArn
Type: string

The Amazon Resource Name (ARN) of the IAM role. The Integration uses this role to make Customer Profiles requests on your behalf.

Tags
Type: Associative array of custom strings keys (TagKey) to strings

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

Uri
Type: string

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

Result Syntax

[
    'CreatedAt' => <DateTime>,
    'DomainName' => '<string>',
    'IsUnstructured' => true || false,
    'LastUpdatedAt' => <DateTime>,
    'ObjectTypeName' => '<string>',
    'ObjectTypeNames' => ['<string>', ...],
    'RoleArn' => '<string>',
    'Tags' => ['<string>', ...],
    'Uri' => '<string>',
    'WorkflowId' => '<string>',
]

Result Details

Members
CreatedAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp of when the domain was created.

DomainName
Required: Yes
Type: string

The unique name of the domain.

IsUnstructured
Type: boolean

Boolean that shows if the Flow that's associated with the Integration is created in Amazon Appflow, or with ObjectTypeName equals _unstructured via API/CLI in flowDefinition.

LastUpdatedAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp of when the domain was most recently edited.

ObjectTypeName
Type: string

The name of the profile object type.

ObjectTypeNames
Type: Associative array of custom strings keys (string1To255) to strings

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.

RoleArn
Type: string

The Amazon Resource Name (ARN) of the IAM role. The Integration uses this role to make Customer Profiles requests on your behalf.

Tags
Type: Associative array of custom strings keys (TagKey) to strings

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

Uri
Required: Yes
Type: string

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

WorkflowId
Type: string

Unique identifier for the workflow.

Errors

BadRequestException:

The input you provided is invalid.

ResourceNotFoundException:

The requested resource does not exist, or access was denied.

AccessDeniedException:

You do not have sufficient access to perform this action.

ThrottlingException:

You exceeded the maximum number of requests.

InternalServerException:

An internal service error occurred.

PutProfileObject

$result = $client->putProfileObject([/* ... */]);
$promise = $client->putProfileObjectAsync([/* ... */]);

Adds additional objects to customer profiles of a given ObjectType.

When adding a specific profile object, like a Contact Record, an inferred profile can get created if it is not mapped to an existing profile. The resulting profile will only have a phone number populated in the standard ProfileObject. Any additional Contact Records with the same phone number will be mapped to the same inferred profile.

When a ProfileObject is created and if a ProfileObjectType already exists for the ProfileObject, it will provide data to a standard profile depending on the ProfileObjectType definition.

PutProfileObject needs an ObjectType, which can be created using PutProfileObjectType.

Parameter Syntax

$result = $client->putProfileObject([
    'DomainName' => '<string>', // REQUIRED
    'Object' => '<string>', // REQUIRED
    'ObjectTypeName' => '<string>', // REQUIRED
]);

Parameter Details

Members
DomainName
Required: Yes
Type: string

The unique name of the domain.

Object
Required: Yes
Type: string

A string that is serialized from a JSON object.

ObjectTypeName
Required: Yes
Type: string

The name of the profile object type.

Result Syntax

[
    'ProfileObjectUniqueKey' => '<string>',
]

Result Details

Members
ProfileObjectUniqueKey
Type: string

The unique identifier of the profile object generated by the service.

Errors

BadRequestException:

The input you provided is invalid.

AccessDeniedException:

You do not have sufficient access to perform this action.

ResourceNotFoundException:

The requested resource does not exist, or access was denied.

ThrottlingException:

You exceeded the maximum number of requests.

InternalServerException:

An internal service error occurred.

PutProfileObjectType

$result = $client->putProfileObjectType([/* ... */]);
$promise = $client->putProfileObjectTypeAsync([/* ... */]);

Defines a ProfileObjectType.

To add or remove tags on an existing ObjectType, see TagResource/UntagResource.

Parameter Syntax

$result = $client->putProfileObjectType([
    'AllowProfileCreation' => true || false,
    'Description' => '<string>', // REQUIRED
    'DomainName' => '<string>', // REQUIRED
    'EncryptionKey' => '<string>',
    'ExpirationDays' => <integer>,
    'Fields' => [
        '<name>' => [
            'ContentType' => 'STRING|NUMBER|PHONE_NUMBER|EMAIL_ADDRESS|NAME',
            'Source' => '<string>',
            'Target' => '<string>',
        ],
        // ...
    ],
    'Keys' => [
        '<name>' => [
            [
                'FieldNames' => ['<string>', ...],
                'StandardIdentifiers' => ['<string>', ...],
            ],
            // ...
        ],
        // ...
    ],
    'MaxProfileObjectCount' => <integer>,
    'ObjectTypeName' => '<string>', // REQUIRED
    'SourceLastUpdatedTimestampFormat' => '<string>',
    'Tags' => ['<string>', ...],
    'TemplateId' => '<string>',
]);

Parameter Details

Members
AllowProfileCreation
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.

Description
Required: Yes
Type: string

Description of the profile object type.

DomainName
Required: Yes
Type: string

The unique name of the domain.

EncryptionKey
Type: string

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

ExpirationDays
Type: int

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

Fields
Type: Associative array of custom strings keys (name) to ObjectTypeField structures

A map of the name and ObjectType field.

Keys
Type: Associative array of custom strings keys (name) to ObjectTypeKey structuress

A list of unique keys that can be used to map data to the profile.

MaxProfileObjectCount
Type: int

The amount of profile object max count assigned to the object type

ObjectTypeName
Required: Yes
Type: string

The name of the profile object type.

SourceLastUpdatedTimestampFormat
Type: string

The format of your sourceLastUpdatedTimestamp that was previously set up.

Tags
Type: Associative array of custom strings keys (TagKey) to strings

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

TemplateId
Type: string

A unique identifier for the object template. For some attributes in the request, the service will use the default value from the object template when TemplateId is present. If these attributes are present in the request, the service may return a BadRequestException. These attributes include: AllowProfileCreation, SourceLastUpdatedTimestampFormat, Fields, and Keys. For example, if AllowProfileCreation is set to true when TemplateId is set, the service may return a BadRequestException.

Result Syntax

[
    'AllowProfileCreation' => true || false,
    'CreatedAt' => <DateTime>,
    'Description' => '<string>',
    'EncryptionKey' => '<string>',
    'ExpirationDays' => <integer>,
    'Fields' => [
        '<name>' => [
            'ContentType' => 'STRING|NUMBER|PHONE_NUMBER|EMAIL_ADDRESS|NAME',
            'Source' => '<string>',
            'Target' => '<string>',
        ],
        // ...
    ],
    'Keys' => [
        '<name>' => [
            [
                'FieldNames' => ['<string>', ...],
                'StandardIdentifiers' => ['<string>', ...],
            ],
            // ...
        ],
        // ...
    ],
    'LastUpdatedAt' => <DateTime>,
    'MaxAvailableProfileObjectCount' => <integer>,
    'MaxProfileObjectCount' => <integer>,
    'ObjectTypeName' => '<string>',
    'SourceLastUpdatedTimestampFormat' => '<string>',
    'Tags' => ['<string>', ...],
    'TemplateId' => '<string>',
]

Result Details

Members
AllowProfileCreation
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.

CreatedAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp of when the domain was created.

Description
Required: Yes
Type: string

Description of the profile object type.

EncryptionKey
Type: string

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

ExpirationDays
Type: int

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

Fields
Type: Associative array of custom strings keys (name) to ObjectTypeField structures

A map of the name and ObjectType field.

Keys
Type: Associative array of custom strings keys (name) to ObjectTypeKey structuress

A list of unique keys that can be used to map data to the profile.

LastUpdatedAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp of when the domain was most recently edited.

MaxAvailableProfileObjectCount
Type: int

The amount of provisioned profile object max count available.

MaxProfileObjectCount
Type: int

The amount of profile object max count assigned to the object type.

ObjectTypeName
Required: Yes
Type: string

The name of the profile object type.

SourceLastUpdatedTimestampFormat
Type: 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.

Tags
Type: Associative array of custom strings keys (TagKey) to strings

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

TemplateId
Type: string

A unique identifier for the object template.

Errors

BadRequestException:

The input you provided is invalid.

ResourceNotFoundException:

The requested resource does not exist, or access was denied.

AccessDeniedException:

You do not have sufficient access to perform this action.

ThrottlingException:

You exceeded the maximum number of requests.

InternalServerException:

An internal service error occurred.

SearchProfiles

$result = $client->searchProfiles([/* ... */]);
$promise = $client->searchProfilesAsync([/* ... */]);

Searches for profiles within a specific domain using one or more predefined search keys (e.g., _fullName, _phone, _email, _account, etc.) and/or custom-defined search keys. A search key is a data type pair that consists of a KeyName and Values list.

This operation supports searching for profiles with a minimum of 1 key-value(s) pair and up to 5 key-value(s) pairs using either AND or OR logic.

Parameter Syntax

$result = $client->searchProfiles([
    'AdditionalSearchKeys' => [
        [
            'KeyName' => '<string>', // REQUIRED
            'Values' => ['<string>', ...], // REQUIRED
        ],
        // ...
    ],
    'DomainName' => '<string>', // REQUIRED
    'KeyName' => '<string>', // REQUIRED
    'LogicalOperator' => 'AND|OR',
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'Values' => ['<string>', ...], // REQUIRED
]);

Parameter Details

Members
AdditionalSearchKeys
Type: Array of AdditionalSearchKey structures

A list of AdditionalSearchKey objects that are each searchable identifiers of a profile. Each AdditionalSearchKey object contains a KeyName and a list of Values associated with that specific key (i.e., a key-value(s) pair). These additional search keys will be used in conjunction with the LogicalOperator and the required KeyName and Values parameters to search for profiles that satisfy the search criteria.

DomainName
Required: Yes
Type: string

The unique name of the domain.

KeyName
Required: Yes
Type: string

A searchable identifier of a customer profile. The predefined keys you can use to search include: _account, _profileId, _assetId, _caseId, _orderId, _fullName, _phone, _email, _ctrContactId, _marketoLeadId, _salesforceAccountId, _salesforceContactId, _salesforceAssetId, _zendeskUserId, _zendeskExternalId, _zendeskTicketId, _serviceNowSystemId, _serviceNowIncidentId, _segmentUserId, _shopifyCustomerId, _shopifyOrderId.

LogicalOperator
Type: string

Relationship between all specified search keys that will be used to search for profiles. This includes the required KeyName and Values parameters as well as any key-value(s) pairs specified in the AdditionalSearchKeys list.

This parameter influences which profiles will be returned in the response in the following manner:

  • AND - The response only includes profiles that match all of the search keys.

  • OR - The response includes profiles that match at least one of the search keys.

The OR relationship is the default behavior if this parameter is not included in the request.

MaxResults
Type: int

The maximum number of objects returned per page.

The default is 20 if this parameter is not included in the request.

NextToken
Type: string

The pagination token from the previous SearchProfiles API call.

Values
Required: Yes
Type: Array of strings

A list of key values.

Result Syntax

[
    'Items' => [
        [
            'AccountNumber' => '<string>',
            'AdditionalInformation' => '<string>',
            'Address' => [
                'Address1' => '<string>',
                'Address2' => '<string>',
                'Address3' => '<string>',
                'Address4' => '<string>',
                'City' => '<string>',
                'Country' => '<string>',
                'County' => '<string>',
                'PostalCode' => '<string>',
                'Province' => '<string>',
                'State' => '<string>',
            ],
            'Attributes' => ['<string>', ...],
            'BillingAddress' => [
                'Address1' => '<string>',
                'Address2' => '<string>',
                'Address3' => '<string>',
                'Address4' => '<string>',
                'City' => '<string>',
                'Country' => '<string>',
                'County' => '<string>',
                'PostalCode' => '<string>',
                'Province' => '<string>',
                'State' => '<string>',
            ],
            'BirthDate' => '<string>',
            'BusinessEmailAddress' => '<string>',
            'BusinessName' => '<string>',
            'BusinessPhoneNumber' => '<string>',
            'EmailAddress' => '<string>',
            'FirstName' => '<string>',
            'FoundByItems' => [
                [
                    'KeyName' => '<string>',
                    'Values' => ['<string>', ...],
                ],
                // ...
            ],
            'Gender' => 'MALE|FEMALE|UNSPECIFIED',
            'GenderString' => '<string>',
            'HomePhoneNumber' => '<string>',
            'LastName' => '<string>',
            'MailingAddress' => [
                'Address1' => '<string>',
                'Address2' => '<string>',
                'Address3' => '<string>',
                'Address4' => '<string>',
                'City' => '<string>',
                'Country' => '<string>',
                'County' => '<string>',
                'PostalCode' => '<string>',
                'Province' => '<string>',
                'State' => '<string>',
            ],
            'MiddleName' => '<string>',
            'MobilePhoneNumber' => '<string>',
            'PartyType' => 'INDIVIDUAL|BUSINESS|OTHER',
            'PartyTypeString' => '<string>',
            'PersonalEmailAddress' => '<string>',
            'PhoneNumber' => '<string>',
            'ProfileId' => '<string>',
            'ShippingAddress' => [
                'Address1' => '<string>',
                'Address2' => '<string>',
                'Address3' => '<string>',
                'Address4' => '<string>',
                'City' => '<string>',
                'Country' => '<string>',
                'County' => '<string>',
                'PostalCode' => '<string>',
                'Province' => '<string>',
                'State' => '<string>',
            ],
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
Items
Type: Array of Profile structures

The list of Profiles matching the search criteria.

NextToken
Type: string

The pagination token from the previous SearchProfiles API call.

Errors

BadRequestException:

The input you provided is invalid.

AccessDeniedException:

You do not have sufficient access to perform this action.

ResourceNotFoundException:

The requested resource does not exist, or access was denied.

ThrottlingException:

You exceeded the maximum number of requests.

InternalServerException:

An internal service error occurred.

TagResource

$result = $client->tagResource([/* ... */]);
$promise = $client->tagResourceAsync([/* ... */]);

Assigns one or more tags (key-value pairs) to the specified Amazon Connect Customer Profiles resource. Tags can help you organize and categorize your resources. You can also use them to scope user permissions by granting a user permission to access or change only resources with certain tag values. In Connect Customer Profiles, domains, profile object types, and integrations can be tagged.

Tags don't have any semantic meaning to AWS and are interpreted strictly as strings of characters.

You can use the TagResource action with a resource that already has tags. If you specify a new tag key, this tag is appended to the list of tags associated with the resource. If you specify a tag key that is already associated with the resource, the new tag value that you specify replaces the previous value for that tag.

You can associate as many as 50 tags with a resource.

Parameter Syntax

$result = $client->tagResource([
    'resourceArn' => '<string>', // REQUIRED
    'tags' => ['<string>', ...], // REQUIRED
]);

Parameter Details

Members
resourceArn
Required: Yes
Type: string

The ARN of the resource that you're adding tags to.

tags
Required: Yes
Type: Associative array of custom strings keys (TagKey) to strings

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

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InternalServerException:

An internal service error occurred.

BadRequestException:

The input you provided is invalid.

ResourceNotFoundException:

The requested resource does not exist, or access was denied.

UntagResource

$result = $client->untagResource([/* ... */]);
$promise = $client->untagResourceAsync([/* ... */]);

Removes one or more tags from the specified Amazon Connect Customer Profiles resource. In Connect Customer Profiles, domains, profile object types, and integrations can be tagged.

Parameter Syntax

$result = $client->untagResource([
    'resourceArn' => '<string>', // REQUIRED
    'tagKeys' => ['<string>', ...], // REQUIRED
]);

Parameter Details

Members
resourceArn
Required: Yes
Type: string

The ARN of the resource from which you are removing tags.

tagKeys
Required: Yes
Type: Array of strings

The list of tag keys to remove from the resource.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InternalServerException:

An internal service error occurred.

BadRequestException:

The input you provided is invalid.

ResourceNotFoundException:

The requested resource does not exist, or access was denied.

UpdateCalculatedAttributeDefinition

$result = $client->updateCalculatedAttributeDefinition([/* ... */]);
$promise = $client->updateCalculatedAttributeDefinitionAsync([/* ... */]);

Updates an existing calculated attribute definition. When updating the Conditions, note that increasing the date range of a calculated attribute will not trigger inclusion of historical data greater than the current date range.

Parameter Syntax

$result = $client->updateCalculatedAttributeDefinition([
    'CalculatedAttributeName' => '<string>', // REQUIRED
    'Conditions' => [
        'ObjectCount' => <integer>,
        'Range' => [
            'Unit' => 'DAYS', // REQUIRED
            'Value' => <integer>, // REQUIRED
        ],
        'Threshold' => [
            'Operator' => 'EQUAL_TO|GREATER_THAN|LESS_THAN|NOT_EQUAL_TO', // REQUIRED
            'Value' => '<string>', // REQUIRED
        ],
    ],
    'Description' => '<string>',
    'DisplayName' => '<string>',
    'DomainName' => '<string>', // REQUIRED
]);

Parameter Details

Members
CalculatedAttributeName
Required: Yes
Type: string

The unique name of the calculated attribute.

Conditions
Type: Conditions structure

The conditions including range, object count, and threshold for the calculated attribute.

Description
Type: string

The description of the calculated attribute.

DisplayName
Type: string

The display name of the calculated attribute.

DomainName
Required: Yes
Type: string

The unique name of the domain.

Result Syntax

[
    'AttributeDetails' => [
        'Attributes' => [
            [
                'Name' => '<string>',
            ],
            // ...
        ],
        'Expression' => '<string>',
    ],
    'CalculatedAttributeName' => '<string>',
    'Conditions' => [
        'ObjectCount' => <integer>,
        'Range' => [
            'Unit' => 'DAYS',
            'Value' => <integer>,
        ],
        'Threshold' => [
            'Operator' => 'EQUAL_TO|GREATER_THAN|LESS_THAN|NOT_EQUAL_TO',
            'Value' => '<string>',
        ],
    ],
    'CreatedAt' => <DateTime>,
    'Description' => '<string>',
    'DisplayName' => '<string>',
    'LastUpdatedAt' => <DateTime>,
    'Statistic' => 'FIRST_OCCURRENCE|LAST_OCCURRENCE|COUNT|SUM|MINIMUM|MAXIMUM|AVERAGE|MAX_OCCURRENCE',
    'Tags' => ['<string>', ...],
]

Result Details

Members
AttributeDetails
Type: AttributeDetails structure

The mathematical expression and a list of attribute items specified in that expression.

CalculatedAttributeName
Type: string

The unique name of the calculated attribute.

Conditions
Type: Conditions structure

The conditions including range, object count, and threshold for the calculated attribute.

CreatedAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp of when the calculated attribute definition was created.

Description
Type: string

The description of the calculated attribute.

DisplayName
Type: string

The display name of the calculated attribute.

LastUpdatedAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp of when the calculated attribute definition was most recently edited.

Statistic
Type: string

The aggregation operation to perform for the calculated attribute.

Tags
Type: Associative array of custom strings keys (TagKey) to strings

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

Errors

BadRequestException:

The input you provided is invalid.

ResourceNotFoundException:

The requested resource does not exist, or access was denied.

AccessDeniedException:

You do not have sufficient access to perform this action.

ThrottlingException:

You exceeded the maximum number of requests.

InternalServerException:

An internal service error occurred.

UpdateDomain

$result = $client->updateDomain([/* ... */]);
$promise = $client->updateDomainAsync([/* ... */]);

Updates the properties of a domain, including creating or selecting a dead letter queue or an encryption key.

After a domain is created, the name can’t be changed.

Use this API or CreateDomain to enable identity resolution: set Matching to true.

To prevent cross-service impersonation when you call this API, see Cross-service confused deputy prevention for sample policies that you should apply.

To add or remove tags on an existing Domain, see TagResource/UntagResource.

Parameter Syntax

$result = $client->updateDomain([
    'DeadLetterQueueUrl' => '<string>',
    'DefaultEncryptionKey' => '<string>',
    'DefaultExpirationDays' => <integer>,
    'DomainName' => '<string>', // REQUIRED
    'Matching' => [
        'AutoMerging' => [
            'ConflictResolution' => [
                'ConflictResolvingModel' => 'RECENCY|SOURCE', // REQUIRED
                'SourceName' => '<string>',
            ],
            'Consolidation' => [
                'MatchingAttributesList' => [ // REQUIRED
                    ['<string>', ...],
                    // ...
                ],
            ],
            'Enabled' => true || false, // REQUIRED
            'MinAllowedConfidenceScoreForMerging' => <float>,
        ],
        'Enabled' => true || false, // REQUIRED
        'ExportingConfig' => [
            'S3Exporting' => [
                'S3BucketName' => '<string>', // REQUIRED
                'S3KeyName' => '<string>',
            ],
        ],
        'JobSchedule' => [
            'DayOfTheWeek' => 'SUNDAY|MONDAY|TUESDAY|WEDNESDAY|THURSDAY|FRIDAY|SATURDAY', // REQUIRED
            'Time' => '<string>', // REQUIRED
        ],
    ],
    'RuleBasedMatching' => [
        'AttributeTypesSelector' => [
            'Address' => ['<string>', ...],
            'AttributeMatchingModel' => 'ONE_TO_ONE|MANY_TO_MANY', // REQUIRED
            'EmailAddress' => ['<string>', ...],
            'PhoneNumber' => ['<string>', ...],
        ],
        'ConflictResolution' => [
            'ConflictResolvingModel' => 'RECENCY|SOURCE', // REQUIRED
            'SourceName' => '<string>',
        ],
        'Enabled' => true || false, // REQUIRED
        'ExportingConfig' => [
            'S3Exporting' => [
                'S3BucketName' => '<string>', // REQUIRED
                'S3KeyName' => '<string>',
            ],
        ],
        'MatchingRules' => [
            [
                'Rule' => ['<string>', ...], // REQUIRED
            ],
            // ...
        ],
        'MaxAllowedRuleLevelForMatching' => <integer>,
        'MaxAllowedRuleLevelForMerging' => <integer>,
    ],
    'Tags' => ['<string>', ...],
]);

Parameter Details

Members
DeadLetterQueueUrl
Type: string

The URL of the SQS dead letter queue, which is used for reporting errors associated with ingesting data from third party applications. If specified as an empty string, it will clear any existing value. You must set up a policy on the DeadLetterQueue for the SendMessage operation to enable Amazon Connect Customer Profiles to send messages to the DeadLetterQueue.

DefaultEncryptionKey
Type: string

The default encryption key, which is an AWS managed key, is used when no specific type of encryption key is specified. It is used to encrypt all data before it is placed in permanent or semi-permanent storage. If specified as an empty string, it will clear any existing value.

DefaultExpirationDays
Type: int

The default number of days until the data within the domain expires.

DomainName
Required: Yes
Type: string

The unique name of the domain.

Matching
Type: MatchingRequest structure

The process of matching duplicate profiles. If Matching = true, Amazon Connect Customer Profiles starts a weekly batch process called Identity Resolution Job. If you do not specify a date and time for Identity Resolution Job to run, by default it runs every Saturday at 12AM UTC to detect duplicate profiles in your domains.

After the Identity Resolution Job completes, use the GetMatches API to return and review the results. Or, if you have configured ExportingConfig in the MatchingRequest, you can download the results from S3.

RuleBasedMatching
Type: RuleBasedMatchingRequest structure

The process of matching duplicate profiles using the rule-Based matching. If RuleBasedMatching = true, Amazon Connect Customer Profiles will start to match and merge your profiles according to your configuration in the RuleBasedMatchingRequest. You can use the ListRuleBasedMatches and GetSimilarProfiles API to return and review the results. Also, if you have configured ExportingConfig in the RuleBasedMatchingRequest, you can download the results from S3.

Tags
Type: Associative array of custom strings keys (TagKey) to strings

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

Result Syntax

[
    'CreatedAt' => <DateTime>,
    'DeadLetterQueueUrl' => '<string>',
    'DefaultEncryptionKey' => '<string>',
    'DefaultExpirationDays' => <integer>,
    'DomainName' => '<string>',
    'LastUpdatedAt' => <DateTime>,
    'Matching' => [
        'AutoMerging' => [
            'ConflictResolution' => [
                'ConflictResolvingModel' => 'RECENCY|SOURCE',
                'SourceName' => '<string>',
            ],
            'Consolidation' => [
                'MatchingAttributesList' => [
                    ['<string>', ...],
                    // ...
                ],
            ],
            'Enabled' => true || false,
            'MinAllowedConfidenceScoreForMerging' => <float>,
        ],
        'Enabled' => true || false,
        'ExportingConfig' => [
            'S3Exporting' => [
                'S3BucketName' => '<string>',
                'S3KeyName' => '<string>',
            ],
        ],
        'JobSchedule' => [
            'DayOfTheWeek' => 'SUNDAY|MONDAY|TUESDAY|WEDNESDAY|THURSDAY|FRIDAY|SATURDAY',
            'Time' => '<string>',
        ],
    ],
    'RuleBasedMatching' => [
        'AttributeTypesSelector' => [
            'Address' => ['<string>', ...],
            'AttributeMatchingModel' => 'ONE_TO_ONE|MANY_TO_MANY',
            'EmailAddress' => ['<string>', ...],
            'PhoneNumber' => ['<string>', ...],
        ],
        'ConflictResolution' => [
            'ConflictResolvingModel' => 'RECENCY|SOURCE',
            'SourceName' => '<string>',
        ],
        'Enabled' => true || false,
        'ExportingConfig' => [
            'S3Exporting' => [
                'S3BucketName' => '<string>',
                'S3KeyName' => '<string>',
            ],
        ],
        'MatchingRules' => [
            [
                'Rule' => ['<string>', ...],
            ],
            // ...
        ],
        'MaxAllowedRuleLevelForMatching' => <integer>,
        'MaxAllowedRuleLevelForMerging' => <integer>,
        'Status' => 'PENDING|IN_PROGRESS|ACTIVE',
    ],
    'Tags' => ['<string>', ...],
]

Result Details

Members
CreatedAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp of when the domain was created.

DeadLetterQueueUrl
Type: string

The URL of the SQS dead letter queue, which is used for reporting errors associated with ingesting data from third party applications.

DefaultEncryptionKey
Type: string

The default encryption key, which is an AWS managed key, is used when no specific type of encryption key is specified. It is used to encrypt all data before it is placed in permanent or semi-permanent storage.

DefaultExpirationDays
Type: int

The default number of days until the data within the domain expires.

DomainName
Required: Yes
Type: string

The unique name of the domain.

LastUpdatedAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp of when the domain was most recently edited.

Matching
Type: MatchingResponse structure

The process of matching duplicate profiles. If Matching = true, Amazon Connect Customer Profiles starts a weekly batch process called Identity Resolution Job. If you do not specify a date and time for Identity Resolution Job to run, by default it runs every Saturday at 12AM UTC to detect duplicate profiles in your domains.

After the Identity Resolution Job completes, use the GetMatches API to return and review the results. Or, if you have configured ExportingConfig in the MatchingRequest, you can download the results from S3.

RuleBasedMatching
Type: RuleBasedMatchingResponse structure

The process of matching duplicate profiles using the rule-Based matching. If RuleBasedMatching = true, Amazon Connect Customer Profiles will start to match and merge your profiles according to your configuration in the RuleBasedMatchingRequest. You can use the ListRuleBasedMatches and GetSimilarProfiles API to return and review the results. Also, if you have configured ExportingConfig in the RuleBasedMatchingRequest, you can download the results from S3.

Tags
Type: Associative array of custom strings keys (TagKey) to strings

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

Errors

BadRequestException:

The input you provided is invalid.

ResourceNotFoundException:

The requested resource does not exist, or access was denied.

AccessDeniedException:

You do not have sufficient access to perform this action.

ThrottlingException:

You exceeded the maximum number of requests.

InternalServerException:

An internal service error occurred.

UpdateProfile

$result = $client->updateProfile([/* ... */]);
$promise = $client->updateProfileAsync([/* ... */]);

Updates the properties of a profile. The ProfileId is required for updating a customer profile.

When calling the UpdateProfile API, specifying an empty string value means that any existing value will be removed. Not specifying a string value means that any value already there will be kept.

Parameter Syntax

$result = $client->updateProfile([
    'AccountNumber' => '<string>',
    'AdditionalInformation' => '<string>',
    'Address' => [
        'Address1' => '<string>',
        'Address2' => '<string>',
        'Address3' => '<string>',
        'Address4' => '<string>',
        'City' => '<string>',
        'Country' => '<string>',
        'County' => '<string>',
        'PostalCode' => '<string>',
        'Province' => '<string>',
        'State' => '<string>',
    ],
    'Attributes' => ['<string>', ...],
    'BillingAddress' => [
        'Address1' => '<string>',
        'Address2' => '<string>',
        'Address3' => '<string>',
        'Address4' => '<string>',
        'City' => '<string>',
        'Country' => '<string>',
        'County' => '<string>',
        'PostalCode' => '<string>',
        'Province' => '<string>',
        'State' => '<string>',
    ],
    'BirthDate' => '<string>',
    'BusinessEmailAddress' => '<string>',
    'BusinessName' => '<string>',
    'BusinessPhoneNumber' => '<string>',
    'DomainName' => '<string>', // REQUIRED
    'EmailAddress' => '<string>',
    'FirstName' => '<string>',
    'Gender' => 'MALE|FEMALE|UNSPECIFIED',
    'GenderString' => '<string>',
    'HomePhoneNumber' => '<string>',
    'LastName' => '<string>',
    'MailingAddress' => [
        'Address1' => '<string>',
        'Address2' => '<string>',
        'Address3' => '<string>',
        'Address4' => '<string>',
        'City' => '<string>',
        'Country' => '<string>',
        'County' => '<string>',
        'PostalCode' => '<string>',
        'Province' => '<string>',
        'State' => '<string>',
    ],
    'MiddleName' => '<string>',
    'MobilePhoneNumber' => '<string>',
    'PartyType' => 'INDIVIDUAL|BUSINESS|OTHER',
    'PartyTypeString' => '<string>',
    'PersonalEmailAddress' => '<string>',
    'PhoneNumber' => '<string>',
    'ProfileId' => '<string>', // REQUIRED
    'ShippingAddress' => [
        'Address1' => '<string>',
        'Address2' => '<string>',
        'Address3' => '<string>',
        'Address4' => '<string>',
        'City' => '<string>',
        'Country' => '<string>',
        'County' => '<string>',
        'PostalCode' => '<string>',
        'Province' => '<string>',
        'State' => '<string>',
    ],
]);

Parameter Details

Members
AccountNumber
Type: string

An account number that you have given to the customer.

AdditionalInformation
Type: string

Any additional information relevant to the customer’s profile.

Address
Type: UpdateAddress structure

A generic address associated with the customer that is not mailing, shipping, or billing.

Attributes
Type: Associative array of custom strings keys (string1To255) to strings

A key value pair of attributes of a customer profile.

BillingAddress
Type: UpdateAddress structure

The customer’s billing address.

BirthDate
Type: string

The customer’s birth date.

BusinessEmailAddress
Type: string

The customer’s business email address.

BusinessName
Type: string

The name of the customer’s business.

BusinessPhoneNumber
Type: string

The customer’s business phone number.

DomainName
Required: Yes
Type: string

The unique name of the domain.

EmailAddress
Type: string

The customer’s email address, which has not been specified as a personal or business address.

FirstName
Type: string

The customer’s first name.

Gender
Type: string

The gender with which the customer identifies.

GenderString
Type: string

An alternative to Gender which accepts any string as input.

HomePhoneNumber
Type: string

The customer’s home phone number.

LastName
Type: string

The customer’s last name.

MailingAddress
Type: UpdateAddress structure

The customer’s mailing address.

MiddleName
Type: string

The customer’s middle name.

MobilePhoneNumber
Type: string

The customer’s mobile phone number.

PartyType
Type: string

The type of profile used to describe the customer.

PartyTypeString
Type: string

An alternative to PartyType which accepts any string as input.

PersonalEmailAddress
Type: string

The customer’s personal email address.

PhoneNumber
Type: string

The customer’s phone number, which has not been specified as a mobile, home, or business number.

ProfileId
Required: Yes
Type: string

The unique identifier of a customer profile.

ShippingAddress
Type: UpdateAddress structure

The customer’s shipping address.

Result Syntax

[
    'ProfileId' => '<string>',
]

Result Details

Members
ProfileId
Required: Yes
Type: string

The unique identifier of a customer profile.

Errors

BadRequestException:

The input you provided is invalid.

AccessDeniedException:

You do not have sufficient access to perform this action.

ResourceNotFoundException:

The requested resource does not exist, or access was denied.

ThrottlingException:

You exceeded the maximum number of requests.

InternalServerException:

An internal service error occurred.

Shapes

AccessDeniedException

Description

You do not have sufficient access to perform this action.

Members
Message
Type: string

AdditionalSearchKey

Description

A data type pair that consists of a KeyName and Values list that is used in conjunction with the KeyName and Values parameters to search for profiles using the SearchProfiles API.

Members
KeyName
Required: Yes
Type: string

A searchable identifier of a customer profile.

Values
Required: Yes
Type: Array of strings

A list of key values.

Address

Description

A generic address associated with the customer that is not mailing, shipping, or billing.

Members
Address1
Type: string

The first line of a customer address.

Address2
Type: string

The second line of a customer address.

Address3
Type: string

The third line of a customer address.

Address4
Type: string

The fourth line of a customer address.

City
Type: string

The city in which a customer lives.

Country
Type: string

The country in which a customer lives.

County
Type: string

The county in which a customer lives.

PostalCode
Type: string

The postal code of a customer address.

Province
Type: string

The province in which a customer lives.

State
Type: string

The state in which a customer lives.

AppflowIntegration

Description

Details for workflow of type APPFLOW_INTEGRATION.

Members
Batches
Type: Array of Batch structures

Batches in workflow of type APPFLOW_INTEGRATION.

FlowDefinition
Required: Yes
Type: FlowDefinition structure

The configurations that control how Customer Profiles retrieves data from the source, Amazon AppFlow. Customer Profiles uses this information to create an AppFlow flow on behalf of customers.

AppflowIntegrationWorkflowAttributes

Description

Structure holding all APPFLOW_INTEGRATION specific workflow attributes.

Members
ConnectorProfileName
Required: Yes
Type: string

The name of the AppFlow connector profile used for ingestion.

RoleArn
Type: string

The Amazon Resource Name (ARN) of the IAM role. Customer Profiles assumes this role to create resources on your behalf as part of workflow execution.

SourceConnectorType
Required: Yes
Type: string

Specifies the source connector type, such as Salesforce, ServiceNow, and Marketo. Indicates source of ingestion.

AppflowIntegrationWorkflowMetrics

Description

Workflow specific execution metrics for APPFLOW_INTEGRATION workflow.

Members
RecordsProcessed
Required: Yes
Type: long (int|float)

Number of records processed in APPFLOW_INTEGRATION workflow.

StepsCompleted
Required: Yes
Type: long (int|float)

Total steps completed in APPFLOW_INTEGRATION workflow.

TotalSteps
Required: Yes
Type: long (int|float)

Total steps in APPFLOW_INTEGRATION workflow.

AppflowIntegrationWorkflowStep

Description

Workflow step details for APPFLOW_INTEGRATION workflow.

Members
BatchRecordsEndTime
Required: Yes
Type: string

End datetime of records pulled in batch during execution of workflow step for APPFLOW_INTEGRATION workflow.

BatchRecordsStartTime
Required: Yes
Type: string

Start datetime of records pulled in batch during execution of workflow step for APPFLOW_INTEGRATION workflow.

CreatedAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

Creation timestamp of workflow step for APPFLOW_INTEGRATION workflow.

ExecutionMessage
Required: Yes
Type: string

Message indicating execution of workflow step for APPFLOW_INTEGRATION workflow.

FlowName
Required: Yes
Type: string

Name of the flow created during execution of workflow step. APPFLOW_INTEGRATION workflow type creates an appflow flow during workflow step execution on the customers behalf.

LastUpdatedAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

Last updated timestamp for workflow step for APPFLOW_INTEGRATION workflow.

RecordsProcessed
Required: Yes
Type: long (int|float)

Total number of records processed during execution of workflow step for APPFLOW_INTEGRATION workflow.

Status
Required: Yes
Type: string

Workflow step status for APPFLOW_INTEGRATION workflow.

AttributeDetails

Description

Mathematical expression and a list of attribute items specified in that expression.

Members
Attributes
Required: Yes
Type: Array of AttributeItem structures

A list of attribute items specified in the mathematical expression.

Expression
Required: Yes
Type: string

Mathematical expression that is performed on attribute items provided in the attribute list. Each element in the expression should follow the structure of \"{ObjectTypeName.AttributeName}\".

AttributeItem

Description

The details of a single attribute item specified in the mathematical expression.

Members
Name
Required: Yes
Type: string

The name of an attribute defined in a profile object type.

AttributeTypesSelector

Description

Configuration information about the AttributeTypesSelector where the rule-based identity resolution uses to match profiles. You can choose how profiles are compared across attribute types and which attribute to use for matching from each type. There are three attribute types you can configure:

  • Email type

    • You can choose from Email, BusinessEmail, and PersonalEmail

  • Phone number type

    • You can choose from Phone, HomePhone, and MobilePhone

  • Address type

    • You can choose from Address, BusinessAddress, MaillingAddress, and ShippingAddress

You can either choose ONE_TO_ONE or MANY_TO_MANY as the AttributeMatchingModel. When choosing MANY_TO_MANY, the system can match attribute across the sub-types of an attribute type. For example, if the value of the Email field of Profile A and the value of BusinessEmail field of Profile B matches, the two profiles are matched on the Email type. When choosing ONE_TO_ONE the system can only match if the sub-types are exact matches. For example, only when the value of the Email field of Profile A and the value of the Email field of Profile B matches, the two profiles are matched on the Email type.

Members
Address
Type: Array of strings

The Address type. You can choose from Address, BusinessAddress, MaillingAddress, and ShippingAddress.

You only can use the Address type in the MatchingRule. For example, if you want to match profile based on BusinessAddress.City or MaillingAddress.City, you need to choose the BusinessAddress and the MaillingAddress to represent the Address type and specify the Address.City on the matching rule.

AttributeMatchingModel
Required: Yes
Type: string

Configures the AttributeMatchingModel, you can either choose ONE_TO_ONE or MANY_TO_MANY.

EmailAddress
Type: Array of strings

The Email type. You can choose from EmailAddress, BusinessEmailAddress and PersonalEmailAddress.

You only can use the EmailAddress type in the MatchingRule. For example, if you want to match profile based on PersonalEmailAddress or BusinessEmailAddress, you need to choose the PersonalEmailAddress and the BusinessEmailAddress to represent the EmailAddress type and only specify the EmailAddress on the matching rule.

PhoneNumber
Type: Array of strings

The PhoneNumber type. You can choose from PhoneNumber, HomePhoneNumber, and MobilePhoneNumber.

You only can use the PhoneNumber type in the MatchingRule. For example, if you want to match a profile based on Phone or HomePhone, you need to choose the Phone and the HomePhone to represent the PhoneNumber type and only specify the PhoneNumber on the matching rule.

AutoMerging

Description

Configuration settings for how to perform the auto-merging of profiles.

Members
ConflictResolution
Type: ConflictResolution structure

How the auto-merging process should resolve conflicts between different profiles. For example, if Profile A and Profile B have the same FirstName and LastName (and that is the matching criteria), which EmailAddress should be used?

Consolidation
Type: Consolidation structure

A list of matching attributes that represent matching criteria. If two profiles meet at least one of the requirements in the matching attributes list, they will be merged.

Enabled
Required: Yes
Type: boolean

The flag that enables the auto-merging of duplicate profiles.

MinAllowedConfidenceScoreForMerging
Type: double

A number between 0 and 1 that represents the minimum confidence score required for profiles within a matching group to be merged during the auto-merge process. A higher score means higher similarity required to merge profiles.

BadRequestException

Description

The input you provided is invalid.

Members
Message
Type: string

Batch

Description

Batch defines the boundaries for ingestion for each step in APPFLOW_INTEGRATION workflow. APPFLOW_INTEGRATION workflow splits ingestion based on these boundaries.

Members
EndTime
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

End time of batch to split ingestion.

StartTime
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

Start time of batch to split ingestion.

Conditions

Description

The conditions including range, object count, and threshold for the calculated attribute.

Members
ObjectCount
Type: int

The number of profile objects used for the calculated attribute.

Range
Type: Range structure

The relative time period over which data is included in the aggregation.

Threshold
Type: Threshold structure

The threshold for the calculated attribute.

ConflictResolution

Description

How the auto-merging process should resolve conflicts between different profiles.

Members
ConflictResolvingModel
Required: Yes
Type: string

How the auto-merging process should resolve conflicts between different profiles.

  • RECENCY: Uses the data that was most recently updated.

  • SOURCE: Uses the data from a specific source. For example, if a company has been aquired or two departments have merged, data from the specified source is used. If two duplicate profiles are from the same source, then RECENCY is used again.

SourceName
Type: string

The ObjectType name that is used to resolve profile merging conflicts when choosing SOURCE as the ConflictResolvingModel.

ConnectorOperator

Description

The operation to be performed on the provided source fields.

Members
Marketo
Type: string

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

S3
Type: string

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

Salesforce
Type: string

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

ServiceNow
Type: string

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

Zendesk
Type: string

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

Consolidation

Description

The matching criteria to be used during the auto-merging process.

Members
MatchingAttributesList
Required: Yes
Type: Array of stringss

A list of matching criteria.

DestinationSummary

Description

Summary information about the Kinesis data stream

Members
Status
Required: Yes
Type: string

The status of enabling the Kinesis stream as a destination for export.

UnhealthySince
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp when the status last changed to UNHEALHY.

Uri
Required: Yes
Type: string

The StreamARN of the destination to deliver profile events to. For example, arn:aws:kinesis:region:account-id:stream/stream-name.

DetectedProfileObjectType

Description

Contains ProfileObjectType mapping information from the model.

Members
Fields
Type: Associative array of custom strings keys (name) to ObjectTypeField structures

A map of the name and the ObjectType field.

Keys
Type: Associative array of custom strings keys (name) to ObjectTypeKey structuress

A list of unique keys that can be used to map data to a profile.

SourceLastUpdatedTimestampFormat
Type: string

The format of sourceLastUpdatedTimestamp that was detected in fields.

DomainStats

Description

Usage-specific statistics about the domain.

Members
MeteringProfileCount
Type: long (int|float)

The number of profiles that you are currently paying for in the domain. If you have more than 100 objects associated with a single profile, that profile counts as two profiles. If you have more than 200 objects, that profile counts as three, and so on.

ObjectCount
Type: long (int|float)

The total number of objects in domain.

ProfileCount
Type: long (int|float)

The total number of profiles currently in the domain.

TotalSize
Type: long (int|float)

The total size, in bytes, of all objects in the domain.

EventStreamDestinationDetails

Description

Details of the destination being used for the EventStream.

Members
Message
Type: string

The human-readable string that corresponds to the error or success while enabling the streaming destination.

Status
Required: Yes
Type: string

The status of enabling the Kinesis stream as a destination for export.

UnhealthySince
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp when the status last changed to UNHEALHY.

Uri
Required: Yes
Type: string

The StreamARN of the destination to deliver profile events to. For example, arn:aws:kinesis:region:account-id:stream/stream-name.

EventStreamSummary

Description

An instance of EventStream in a list of EventStreams.

Members
DestinationSummary
Type: DestinationSummary structure

Summary information about the Kinesis data stream.

DomainName
Required: Yes
Type: string

The unique name of the domain.

EventStreamArn
Required: Yes
Type: string

A unique identifier for the event stream.

EventStreamName
Required: Yes
Type: string

The name of the event stream.

State
Required: Yes
Type: string

The operational state of destination stream for export.

StoppedSince
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp when the State changed to STOPPED.

Tags
Type: Associative array of custom strings keys (TagKey) to strings

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

ExportingConfig

Description

Configuration information about the S3 bucket where Identity Resolution Jobs writes result files.

You need to give Customer Profiles service principal write permission to your S3 bucket. Otherwise, you'll get an exception in the API response. For an example policy, see Amazon Connect Customer Profiles cross-service confused deputy prevention.

Members
S3Exporting
Type: S3ExportingConfig structure

The S3 location where Identity Resolution Jobs write result files.

ExportingLocation

Description

The S3 location where Identity Resolution Jobs write result files.

Members
S3Exporting
Type: S3ExportingLocation structure

Information about the S3 location where Identity Resolution Jobs write result files.

FieldSourceProfileIds

Description

A duplicate customer profile that is to be merged into a main profile.

Members
AccountNumber
Type: string

A unique identifier for the account number field to be merged.

AdditionalInformation
Type: string

A unique identifier for the additional information field to be merged.

Address
Type: string

A unique identifier for the party type field to be merged.

Attributes
Type: Associative array of custom strings keys (string1To255) to strings

A unique identifier for the attributes field to be merged.

BillingAddress
Type: string

A unique identifier for the billing type field to be merged.

BirthDate
Type: string

A unique identifier for the birthdate field to be merged.

BusinessEmailAddress
Type: string

A unique identifier for the party type field to be merged.

BusinessName
Type: string

A unique identifier for the business name field to be merged.

BusinessPhoneNumber
Type: string

A unique identifier for the business phone number field to be merged.

EmailAddress
Type: string

A unique identifier for the email address field to be merged.

FirstName
Type: string

A unique identifier for the first name field to be merged.

Gender
Type: string

A unique identifier for the gender field to be merged.

HomePhoneNumber
Type: string

A unique identifier for the home phone number field to be merged.

LastName
Type: string

A unique identifier for the last name field to be merged.

MailingAddress
Type: string

A unique identifier for the mailing address field to be merged.

MiddleName
Type: string

A unique identifier for the middle name field to be merged.

MobilePhoneNumber
Type: string

A unique identifier for the mobile phone number field to be merged.

PartyType
Type: string

A unique identifier for the party type field to be merged.

PersonalEmailAddress
Type: string

A unique identifier for the personal email address field to be merged.

PhoneNumber
Type: string

A unique identifier for the phone number field to be merged.

ShippingAddress
Type: string

A unique identifier for the shipping address field to be merged.

FlowDefinition

Description

The configurations that control how Customer Profiles retrieves data from the source, Amazon AppFlow. Customer Profiles uses this information to create an AppFlow flow on behalf of customers.

Members
Description
Type: string

A description of the flow you want to create.

FlowName
Required: Yes
Type: string

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

KmsArn
Required: Yes
Type: string

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

SourceFlowConfig
Required: Yes
Type: SourceFlowConfig structure

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

Tasks
Required: Yes
Type: Array of Task structures

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

TriggerConfig
Required: Yes
Type: TriggerConfig structure

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

FoundByKeyValue

Description

A data type pair that consists of a KeyName and Values list that were used to find a profile returned in response to a SearchProfiles request.

Members
KeyName
Type: string

A searchable identifier of a customer profile.

Values
Type: Array of strings

A list of key values.

IdentityResolutionJob

Description

Information about the Identity Resolution Job.

Members
DomainName
Type: string

The unique name of the domain.

ExportingLocation
Type: ExportingLocation structure

The S3 location where the Identity Resolution Job writes result files.

JobEndTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp of when the job was completed.

JobId
Type: string

The unique identifier of the Identity Resolution Job.

JobStartTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp of when the job was started or will be started.

JobStats
Type: JobStats structure

Statistics about an Identity Resolution Job.

Message
Type: string

The error messages that are generated when the Identity Resolution Job runs.

Status
Type: string

The status of the Identity Resolution Job.

  • PENDING: The Identity Resolution Job is scheduled but has not started yet. If you turn off the Identity Resolution feature in your domain, jobs in the PENDING state are deleted.

  • PREPROCESSING: The Identity Resolution Job is loading your data.

  • FIND_MATCHING: The Identity Resolution Job is using the machine learning model to identify profiles that belong to the same matching group.

  • MERGING: The Identity Resolution Job is merging duplicate profiles.

  • COMPLETED: The Identity Resolution Job completed successfully.

  • PARTIAL_SUCCESS: There's a system error and not all of the data is merged. The Identity Resolution Job writes a message indicating the source of the problem.

  • FAILED: The Identity Resolution Job did not merge any data. It writes a message indicating the source of the problem.

IncrementalPullConfig

Description

Specifies the configuration used when importing incremental records from the source.

Members
DatetimeTypeFieldName
Type: string

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

IntegrationConfig

Description

Configuration data for integration workflow.

Members
AppflowIntegration
Type: AppflowIntegration structure

Configuration data for APPFLOW_INTEGRATION workflow type.

InternalServerException

Description

An internal service error occurred.

Members
Message
Type: string

JobSchedule

Description

The day and time when do you want to start the Identity Resolution Job every week.

Members
DayOfTheWeek
Required: Yes
Type: string

The day when the Identity Resolution Job should run every week.

Time
Required: Yes
Type: string

The time when the Identity Resolution Job should run every week.

JobStats

Description

Statistics about the Identity Resolution Job.

Members
NumberOfMatchesFound
Type: long (int|float)

The number of matches found.

NumberOfMergesDone
Type: long (int|float)

The number of merges completed.

NumberOfProfilesReviewed
Type: long (int|float)

The number of profiles reviewed.

ListCalculatedAttributeDefinitionItem

Description

The details of a single calculated attribute definition.

Members
CalculatedAttributeName
Type: string

The unique name of the calculated attribute.

CreatedAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The threshold for the calculated attribute.

Description
Type: string

The threshold for the calculated attribute.

DisplayName
Type: string

The display name of the calculated attribute.

LastUpdatedAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp of when the calculated attribute definition was most recently edited.

Tags
Type: Associative array of custom strings keys (TagKey) to strings

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

ListCalculatedAttributeForProfileItem

Description

The details of a single calculated attribute for a profile.

Members
CalculatedAttributeName
Type: string

The unique name of the calculated attribute.

DisplayName
Type: string

The display name of the calculated attribute.

IsDataPartial
Type: string

Indicates whether the calculated attribute’s value is based on partial data. If data is partial, it is set to true.

Value
Type: string

The value of the calculated attribute.

ListDomainItem

Description

An object in a list that represents a domain.

Members
CreatedAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp of when the domain was created.

DomainName
Required: Yes
Type: string

The unique name of the domain.

LastUpdatedAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp of when the domain was most recently edited.

Tags
Type: Associative array of custom strings keys (TagKey) to strings

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

ListIntegrationItem

Description

An integration in list of integrations.

Members
CreatedAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp of when the domain was created.

DomainName
Required: Yes
Type: string

The unique name of the domain.

IsUnstructured
Type: boolean

Boolean that shows if the Flow that's associated with the Integration is created in Amazon Appflow, or with ObjectTypeName equals _unstructured via API/CLI in flowDefinition.

LastUpdatedAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp of when the domain was most recently edited.

ObjectTypeName
Type: string

The name of the profile object type.

ObjectTypeNames
Type: Associative array of custom strings keys (string1To255) to strings

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.

RoleArn
Type: string

The Amazon Resource Name (ARN) of the IAM role. The Integration uses this role to make Customer Profiles requests on your behalf.

Tags
Type: Associative array of custom strings keys (TagKey) to strings

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

Uri
Required: Yes
Type: string

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

WorkflowId
Type: string

Unique identifier for the workflow.

ListProfileObjectTypeItem

Description

A ProfileObjectType instance.

Members
CreatedAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp of when the domain was created.

Description
Required: Yes
Type: string

Description of the profile object type.

LastUpdatedAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp of when the domain was most recently edited.

MaxAvailableProfileObjectCount
Type: int

The amount of provisioned profile object max count available.

MaxProfileObjectCount
Type: int

The amount of profile object max count assigned to the object type.

ObjectTypeName
Required: Yes
Type: string

The name of the profile object type.

Tags
Type: Associative array of custom strings keys (TagKey) to strings

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

ListProfileObjectTypeTemplateItem

Description

A ProfileObjectTypeTemplate in a list of ProfileObjectTypeTemplates.

Members
SourceName
Type: string

The name of the source of the object template.

SourceObject
Type: string

The source of the object template.

TemplateId
Type: string

A unique identifier for the object template.

ListProfileObjectsItem

Description

A ProfileObject in a list of ProfileObjects.

Members
Object
Type: string

A JSON representation of a ProfileObject that belongs to a profile.

ObjectTypeName
Type: string

Specifies the kind of object being added to a profile, such as "Salesforce-Account."

ProfileObjectUniqueKey
Type: string

The unique identifier of the ProfileObject generated by the service.

ListWorkflowsItem

Description

A workflow in list of workflows.

Members
CreatedAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

Creation timestamp for workflow.

LastUpdatedAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

Last updated timestamp for workflow.

Status
Required: Yes
Type: string

Status of workflow execution.

StatusDescription
Required: Yes
Type: string

Description for workflow execution status.

WorkflowId
Required: Yes
Type: string

Unique identifier for the workflow.

WorkflowType
Required: Yes
Type: string

The type of workflow. The only supported value is APPFLOW_INTEGRATION.

MarketoSourceProperties

Description

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

Members
Object
Required: Yes
Type: string

The object specified in the Marketo flow source.

MatchItem

Description

The Match group object.

Members
ConfidenceScore
Type: double

A number between 0 and 1, where a higher score means higher similarity. Examining match confidence scores lets you distinguish between groups of similar records in which the system is highly confident (which you may decide to merge), groups of similar records about which the system is uncertain (which you may decide to have reviewed by a human), and groups of similar records that the system deems to be unlikely (which you may decide to reject). Given confidence scores vary as per the data input, it should not be used an absolute measure of matching quality.

MatchId
Type: string

The unique identifiers for this group of profiles that match.

ProfileIds
Type: Array of strings

A list of identifiers for profiles that match.

MatchingRequest

Description

The flag that enables the matching process of duplicate profiles.

Members
AutoMerging
Type: AutoMerging structure

Configuration information about the auto-merging process.

Enabled
Required: Yes
Type: boolean

The flag that enables the matching process of duplicate profiles.

ExportingConfig
Type: ExportingConfig structure

Configuration information for exporting Identity Resolution results, for example, to an S3 bucket.

JobSchedule
Type: JobSchedule structure

The day and time when do you want to start the Identity Resolution Job every week.

MatchingResponse

Description

The flag that enables the matching process of duplicate profiles.

Members
AutoMerging
Type: AutoMerging structure

Configuration information about the auto-merging process.

Enabled
Type: boolean

The flag that enables the matching process of duplicate profiles.

ExportingConfig
Type: ExportingConfig structure

Configuration information for exporting Identity Resolution results, for example, to an S3 bucket.

JobSchedule
Type: JobSchedule structure

The day and time when do you want to start the Identity Resolution Job every week.

MatchingRule

Description

Specifies how does the rule-based matching process should match profiles. You can choose from the following attributes to build the matching Rule:

  • AccountNumber

  • Address.Address

  • Address.City

  • Address.Country

  • Address.County

  • Address.PostalCode

  • Address.State

  • Address.Province

  • BirthDate

  • BusinessName

  • EmailAddress

  • FirstName

  • Gender

  • LastName

  • MiddleName

  • PhoneNumber

  • Any customized profile attributes that start with the Attributes

Members
Rule
Required: Yes
Type: Array of strings

A single rule level of the MatchRules. Configures how the rule-based matching process should match profiles.

ObjectFilter

Description

The filter applied to ListProfileObjects response to include profile objects with the specified index values.

Members
KeyName
Required: Yes
Type: string

A searchable identifier of a profile object. The predefined keys you can use to search for _asset include: _assetId, _assetName, and _serialNumber. The predefined keys you can use to search for _case include: _caseId. The predefined keys you can use to search for _order include: _orderId.

Values
Required: Yes
Type: Array of strings

A list of key values.

ObjectTypeField

Description

Represents a field in a ProfileObjectType.

Members
ContentType
Type: string

The content type of the field. Used for determining equality when searching.

Source
Type: 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
Type: string

The location of the data in the standard ProfileObject model. For example: _profile.Address.PostalCode.

ObjectTypeKey

Description

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.

Members
FieldNames
Type: Array of strings

The reference for the key name of the fields map.

StandardIdentifiers
Type: Array of strings

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.

Profile

Description

The standard profile of a customer.

Members
AccountNumber
Type: string

An account number that you have given to the customer.

AdditionalInformation
Type: string

Any additional information relevant to the customer’s profile.

Address
Type: Address structure

A generic address associated with the customer that is not mailing, shipping, or billing.

Attributes
Type: Associative array of custom strings keys (string1To255) to strings

A key value pair of attributes of a customer profile.

BillingAddress
Type: Address structure

The customer’s billing address.

BirthDate
Type: string

The customer’s birth date.

BusinessEmailAddress
Type: string

The customer’s business email address.

BusinessName
Type: string

The name of the customer’s business.

BusinessPhoneNumber
Type: string

The customer’s home phone number.

EmailAddress
Type: string

The customer’s email address, which has not been specified as a personal or business address.

FirstName
Type: string

The customer’s first name.

FoundByItems
Type: Array of FoundByKeyValue structures

A list of items used to find a profile returned in a SearchProfiles response. An item is a key-value(s) pair that matches an attribute in the profile.

If the optional AdditionalSearchKeys parameter was included in the SearchProfiles request, the FoundByItems list should be interpreted based on the LogicalOperator used in the request:

  • AND - The profile included in the response matched all of the search keys specified in the request. The FoundByItems will include all of the key-value(s) pairs that were specified in the request (as this is a requirement of AND search logic).

  • OR - The profile included in the response matched at least one of the search keys specified in the request. The FoundByItems will include each of the key-value(s) pairs that the profile was found by.

The OR relationship is the default behavior if the LogicalOperator parameter is not included in the SearchProfiles request.

Gender
Type: string

The gender with which the customer identifies.

GenderString
Type: string

An alternative to Gender which accepts any string as input.

HomePhoneNumber
Type: string

The customer’s home phone number.

LastName
Type: string

The customer’s last name.

MailingAddress
Type: Address structure

The customer’s mailing address.

MiddleName
Type: string

The customer’s middle name.

MobilePhoneNumber
Type: string

The customer’s mobile phone number.

PartyType
Type: string

The type of profile used to describe the customer.

PartyTypeString
Type: string

An alternative to PartyType which accepts any string as input.

PersonalEmailAddress
Type: string

The customer’s personal email address.

PhoneNumber
Type: string

The customer's phone number, which has not been specified as a mobile, home, or business number.

ProfileId
Type: string

The unique identifier of a customer profile.

ShippingAddress
Type: Address structure

The customer’s shipping address.

Range

Description

The relative time period over which data is included in the aggregation.

Members
Unit
Required: Yes
Type: string

The unit of time.

Value
Required: Yes
Type: int

The amount of time of the specified unit.

ResourceNotFoundException

Description

The requested resource does not exist, or access was denied.

Members
Message
Type: string

RuleBasedMatchingRequest

Description

The request to enable the rule-based matching.

Members
AttributeTypesSelector
Type: AttributeTypesSelector structure

Configures information about the AttributeTypesSelector where the rule-based identity resolution uses to match profiles.

ConflictResolution
Type: ConflictResolution structure

How the auto-merging process should resolve conflicts between different profiles.

Enabled
Required: Yes
Type: boolean

The flag that enables the rule-based matching process of duplicate profiles.

ExportingConfig
Type: ExportingConfig structure

Configuration information about the S3 bucket where Identity Resolution Jobs writes result files.

You need to give Customer Profiles service principal write permission to your S3 bucket. Otherwise, you'll get an exception in the API response. For an example policy, see Amazon Connect Customer Profiles cross-service confused deputy prevention.

MatchingRules
Type: Array of MatchingRule structures

Configures how the rule-based matching process should match profiles. You can have up to 15 MatchingRule in the MatchingRules.

MaxAllowedRuleLevelForMatching
Type: int

Indicates the maximum allowed rule level.

MaxAllowedRuleLevelForMerging
Type: int

RuleBasedMatchingResponse

Description

The response of the Rule-based matching request.

Members
AttributeTypesSelector
Type: AttributeTypesSelector structure

Configures information about the AttributeTypesSelector where the rule-based identity resolution uses to match profiles.

ConflictResolution
Type: ConflictResolution structure

How the auto-merging process should resolve conflicts between different profiles.

Enabled
Type: boolean

The flag that enables the rule-based matching process of duplicate profiles.

ExportingConfig
Type: ExportingConfig structure

Configuration information about the S3 bucket where Identity Resolution Jobs writes result files.

You need to give Customer Profiles service principal write permission to your S3 bucket. Otherwise, you'll get an exception in the API response. For an example policy, see Amazon Connect Customer Profiles cross-service confused deputy prevention.

MatchingRules
Type: Array of MatchingRule structures

Configures how the rule-based matching process should match profiles. You can have up to 15 MatchingRule in the MatchingRules.

MaxAllowedRuleLevelForMatching
Type: int

Indicates the maximum allowed rule level.

MaxAllowedRuleLevelForMerging
Type: int
Status
Type: string

PENDING

  • The first status after configuration a rule-based matching rule. If it is an existing domain, the rule-based Identity Resolution waits one hour before creating the matching rule. If it is a new domain, the system will skip the PENDING stage.

IN_PROGRESS

  • The system is creating the rule-based matching rule. Under this status, the system is evaluating the existing data and you can no longer change the Rule-based matching configuration.

ACTIVE

  • The rule is ready to use. You can change the rule a day after the status is in ACTIVE.

S3ExportingConfig

Description

Configuration information about the S3 bucket where Identity Resolution Jobs write result files.

Members
S3BucketName
Required: Yes
Type: string

The name of the S3 bucket where Identity Resolution Jobs write result files.

S3KeyName
Type: string

The S3 key name of the location where Identity Resolution Jobs write result files.

S3ExportingLocation

Description

The S3 location where Identity Resolution Jobs write result files.

Members
S3BucketName
Type: string

The name of the S3 bucket name where Identity Resolution Jobs write result files.

S3KeyName
Type: string

The S3 key name of the location where Identity Resolution Jobs write result files.

S3SourceProperties

Description

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

Members
BucketName
Required: Yes
Type: string

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

BucketPrefix
Type: string

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

SalesforceSourceProperties

Description

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

Members
EnableDynamicFieldUpdate
Type: boolean

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

IncludeDeletedRecords
Type: boolean

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

Object
Required: Yes
Type: string

The object specified in the Salesforce flow source.

ScheduledTriggerProperties

Description

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

Members
DataPullMode
Type: string

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

FirstExecutionFrom
Type: timestamp (string|DateTime or anything parsable by strtotime)

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

ScheduleEndTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

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

ScheduleExpression
Required: Yes
Type: string

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

ScheduleOffset
Type: long (int|float)

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

ScheduleStartTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

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

Timezone
Type: string

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

ServiceNowSourceProperties

Description

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

Members
Object
Required: Yes
Type: string

The object specified in the ServiceNow flow source.

SourceConnectorProperties

Description

Specifies the information that is required to query a particular Amazon AppFlow connector. Customer Profiles supports Salesforce, Zendesk, Marketo, ServiceNow and Amazon S3.

Members
Marketo
Type: MarketoSourceProperties structure

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

S3
Type: S3SourceProperties structure

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

Salesforce
Type: SalesforceSourceProperties structure

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

ServiceNow
Type: ServiceNowSourceProperties structure

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

Zendesk
Type: ZendeskSourceProperties structure

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

SourceFlowConfig

Description

Contains information about the configuration of the source connector used in the flow.

Members
ConnectorProfileName
Type: string

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

ConnectorType
Required: Yes
Type: string

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

IncrementalPullConfig
Type: IncrementalPullConfig structure

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.

SourceConnectorProperties
Required: Yes
Type: SourceConnectorProperties structure

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

Task

Description

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

Members
ConnectorOperator
Type: ConnectorOperator structure

The operation to be performed on the provided source fields.

DestinationField
Type: string

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

SourceFields
Required: Yes
Type: Array of strings

The source fields to which a particular task is applied.

TaskProperties
Type: Associative array of custom strings keys (OperatorPropertiesKeys) to strings

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

TaskType
Required: Yes
Type: string

Specifies the particular task implementation that Amazon AppFlow performs.

Threshold

Description

The threshold for the calculated attribute.

Members
Operator
Required: Yes
Type: string

The operator of the threshold.

Value
Required: Yes
Type: string

The value of the threshold.

ThrottlingException

Description

You exceeded the maximum number of requests.

Members
Message
Type: string

TriggerConfig

Description

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

Members
TriggerProperties
Type: TriggerProperties structure

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

TriggerType
Required: Yes
Type: string

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

TriggerProperties

Description

Specifies the configuration details that control the trigger for a flow. Currently, these settings only apply to the Scheduled trigger type.

Members
Scheduled
Type: ScheduledTriggerProperties structure

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

UpdateAddress

Description

Updates associated with the address properties of a customer profile.

Members
Address1
Type: string

The first line of a customer address.

Address2
Type: string

The second line of a customer address.

Address3
Type: string

The third line of a customer address.

Address4
Type: string

The fourth line of a customer address.

City
Type: string

The city in which a customer lives.

Country
Type: string

The country in which a customer lives.

County
Type: string

The county in which a customer lives.

PostalCode
Type: string

The postal code of a customer address.

Province
Type: string

The province in which a customer lives.

State
Type: string

The state in which a customer lives.

WorkflowAttributes

Description

Structure to hold workflow attributes.

Members
AppflowIntegration

Workflow attributes specific to APPFLOW_INTEGRATION workflow.

WorkflowMetrics

Description

Generic object containing workflow execution metrics.

Members
AppflowIntegration

Workflow execution metrics for APPFLOW_INTEGRATION workflow.

WorkflowStepItem

Description

List containing steps in workflow.

Members
AppflowIntegration

Workflow step information specific to APPFLOW_INTEGRATION workflow.

ZendeskSourceProperties

Description

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

Members
Object
Required: Yes
Type: string

The object specified in the Zendesk flow source.