The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Paws::CustomerProfiles - Perl Interface to AWS Amazon Connect Customer Profiles

SYNOPSIS

  use Paws;

  my $obj = Paws->service('CustomerProfiles');
  my $res = $obj->Method(
    Arg1 => $val1,
    Arg2 => [ 'V1', 'V2' ],
    # if Arg3 is an object, the HashRef will be used as arguments to the constructor
    # of the arguments type
    Arg3 => { Att1 => 'Val1' },
    # if Arg4 is an array of objects, the HashRefs will be passed as arguments to
    # the constructor of the arguments type
    Arg4 => [ { Att1 => 'Val1'  }, { Att1 => 'Val2' } ],
  );

DESCRIPTION

Amazon Connect Customer Profiles

Welcome to the Amazon Connect Customer Profiles API Reference. This guide provides information about the Amazon Connect Customer Profiles API, including supported operations, data types, parameters, and schemas.

Amazon Connect Customer Profiles is a unified customer profile for your contact center that has pre-built connectors powered by AppFlow that make it easy to combine customer information from third party applications, such as Salesforce (CRM), ServiceNow (ITSM), and your enterprise resource planning (ERP), with contact history from your Amazon Connect contact center.

If you're new to Amazon Connect , you might find it helpful to also review the Amazon Connect Administrator Guide (https://docs.aws.amazon.com/connect/latest/adminguide/what-is-amazon-connect.html).

For the AWS API documentation, see https://docs.aws.amazon.com/goto/WebAPI/profile-2020-08-15

METHODS

AddProfileKey

DomainName => Str
KeyName => Str
ProfileId => Str
Values => ArrayRef[Str|Undef]

Each argument is described in detail in: Paws::CustomerProfiles::AddProfileKey

Returns: a Paws::CustomerProfiles::AddProfileKeyResponse instance

Associates a new key value with a specific profile, such as a Contact Trace Record (CTR) 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.

CreateDomain

DefaultExpirationDays => Int
DomainName => Str
[DeadLetterQueueUrl => Str]
[DefaultEncryptionKey => Str]
[Matching => Paws::CustomerProfiles::MatchingRequest]
[Tags => Paws::CustomerProfiles::TagMap]

Each argument is described in detail in: Paws::CustomerProfiles::CreateDomain

Returns: a Paws::CustomerProfiles::CreateDomainResponse instance

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.

CreateProfile

DomainName => Str
[AccountNumber => Str]
[AdditionalInformation => Str]
[Address => Paws::CustomerProfiles::Address]
[Attributes => Paws::CustomerProfiles::Attributes]
[BillingAddress => Paws::CustomerProfiles::Address]
[BirthDate => Str]
[BusinessEmailAddress => Str]
[BusinessName => Str]
[BusinessPhoneNumber => Str]
[EmailAddress => Str]
[FirstName => Str]
[Gender => Str]
[HomePhoneNumber => Str]
[LastName => Str]
[MailingAddress => Paws::CustomerProfiles::Address]
[MiddleName => Str]
[MobilePhoneNumber => Str]
[PartyType => Str]
[PersonalEmailAddress => Str]
[PhoneNumber => Str]
[ShippingAddress => Paws::CustomerProfiles::Address]

Each argument is described in detail in: Paws::CustomerProfiles::CreateProfile

Returns: a Paws::CustomerProfiles::CreateProfileResponse instance

Creates a standard profile.

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

DeleteDomain

DomainName => Str

Each argument is described in detail in: Paws::CustomerProfiles::DeleteDomain

Returns: a Paws::CustomerProfiles::DeleteDomainResponse instance

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

DeleteIntegration

DomainName => Str
Uri => Str

Each argument is described in detail in: Paws::CustomerProfiles::DeleteIntegration

Returns: a Paws::CustomerProfiles::DeleteIntegrationResponse instance

Removes an integration from a specific domain.

DeleteProfile

DomainName => Str
ProfileId => Str

Each argument is described in detail in: Paws::CustomerProfiles::DeleteProfile

Returns: a Paws::CustomerProfiles::DeleteProfileResponse instance

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

DeleteProfileKey

DomainName => Str
KeyName => Str
ProfileId => Str
Values => ArrayRef[Str|Undef]

Each argument is described in detail in: Paws::CustomerProfiles::DeleteProfileKey

Returns: a Paws::CustomerProfiles::DeleteProfileKeyResponse instance

Removes a searchable key from a customer profile.

DeleteProfileObject

DomainName => Str
ObjectTypeName => Str
ProfileId => Str
ProfileObjectUniqueKey => Str

Each argument is described in detail in: Paws::CustomerProfiles::DeleteProfileObject

Returns: a Paws::CustomerProfiles::DeleteProfileObjectResponse instance

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

DeleteProfileObjectType

DomainName => Str
ObjectTypeName => Str

Each argument is described in detail in: Paws::CustomerProfiles::DeleteProfileObjectType

Returns: a Paws::CustomerProfiles::DeleteProfileObjectTypeResponse instance

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.

GetDomain

DomainName => Str

Each argument is described in detail in: Paws::CustomerProfiles::GetDomain

Returns: a Paws::CustomerProfiles::GetDomainResponse instance

Returns information about a specific domain.

GetIntegration

DomainName => Str
Uri => Str

Each argument is described in detail in: Paws::CustomerProfiles::GetIntegration

Returns: a Paws::CustomerProfiles::GetIntegrationResponse instance

Returns an integration for a domain.

GetMatches

DomainName => Str
[MaxResults => Int]
[NextToken => Str]

Each argument is described in detail in: Paws::CustomerProfiles::GetMatches

Returns: a Paws::CustomerProfiles::GetMatchesResponse instance

This API is in preview release for Amazon Connect and subject to change.

Before calling this API, use CreateDomain (https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_CreateDomain.html) or UpdateDomain (https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_UpdateDomain.html) 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.

Amazon Connect runs a batch process every Saturday at 12AM UTC to identify matching profiles. The results are returned up to seven days after the Saturday run.

Amazon Connect uses the following profile attributes to identify matches:

  • PhoneNumber

  • HomePhoneNumber

  • BusinessPhoneNumber

  • MobilePhoneNumber

  • EmailAddress

  • PersonalEmailAddress

  • BusinessEmailAddress

  • FullName

  • BusinessName

GetProfileObjectType

DomainName => Str
ObjectTypeName => Str

Each argument is described in detail in: Paws::CustomerProfiles::GetProfileObjectType

Returns: a Paws::CustomerProfiles::GetProfileObjectTypeResponse instance

Returns the object types for a specific domain.

GetProfileObjectTypeTemplate

TemplateId => Str

Each argument is described in detail in: Paws::CustomerProfiles::GetProfileObjectTypeTemplate

Returns: a Paws::CustomerProfiles::GetProfileObjectTypeTemplateResponse instance

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.

ListAccountIntegrations

Uri => Str
[MaxResults => Int]
[NextToken => Str]

Each argument is described in detail in: Paws::CustomerProfiles::ListAccountIntegrations

Returns: a Paws::CustomerProfiles::ListAccountIntegrationsResponse instance

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

ListDomains

[MaxResults => Int]
[NextToken => Str]

Each argument is described in detail in: Paws::CustomerProfiles::ListDomains

Returns: a Paws::CustomerProfiles::ListDomainsResponse instance

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

ListIntegrations

DomainName => Str
[MaxResults => Int]
[NextToken => Str]

Each argument is described in detail in: Paws::CustomerProfiles::ListIntegrations

Returns: a Paws::CustomerProfiles::ListIntegrationsResponse instance

Lists all of the integrations in your domain.

ListProfileObjects

DomainName => Str
ObjectTypeName => Str
ProfileId => Str
[MaxResults => Int]
[NextToken => Str]

Each argument is described in detail in: Paws::CustomerProfiles::ListProfileObjects

Returns: a Paws::CustomerProfiles::ListProfileObjectsResponse instance

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

ListProfileObjectTypes

DomainName => Str
[MaxResults => Int]
[NextToken => Str]

Each argument is described in detail in: Paws::CustomerProfiles::ListProfileObjectTypes

Returns: a Paws::CustomerProfiles::ListProfileObjectTypesResponse instance

Lists all of the templates available within the service.

ListProfileObjectTypeTemplates

[MaxResults => Int]
[NextToken => Str]

Each argument is described in detail in: Paws::CustomerProfiles::ListProfileObjectTypeTemplates

Returns: a Paws::CustomerProfiles::ListProfileObjectTypeTemplatesResponse instance

Lists all of the template information for object types.

ListTagsForResource

ResourceArn => Str

Each argument is described in detail in: Paws::CustomerProfiles::ListTagsForResource

Returns: a Paws::CustomerProfiles::ListTagsForResourceResponse instance

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

MergeProfiles

DomainName => Str
MainProfileId => Str
ProfileIdsToBeMerged => ArrayRef[Str|Undef]
[FieldSourceProfileIds => Paws::CustomerProfiles::FieldSourceProfileIds]

Each argument is described in detail in: Paws::CustomerProfiles::MergeProfiles

Returns: a Paws::CustomerProfiles::MergeProfilesResponse instance

This API is in preview release for Amazon Connect and subject to change.

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 (https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetMatches.html), 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).

PutIntegration

DomainName => Str
ObjectTypeName => Str
[FlowDefinition => Paws::CustomerProfiles::FlowDefinition]
[Tags => Paws::CustomerProfiles::TagMap]
[Uri => Str]

Each argument is described in detail in: Paws::CustomerProfiles::PutIntegration

Returns: a Paws::CustomerProfiles::PutIntegrationResponse instance

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.

PutProfileObject

DomainName => Str
Object => Str
ObjectTypeName => Str

Each argument is described in detail in: Paws::CustomerProfiles::PutProfileObject

Returns: a Paws::CustomerProfiles::PutProfileObjectResponse instance

Adds additional objects to customer profiles of a given ObjectType.

When adding a specific profile object, like a Contact Trace Record (CTR), 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 CTRs 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.

PutProfileObjectType

Description => Str
DomainName => Str
ObjectTypeName => Str
[AllowProfileCreation => Bool]
[EncryptionKey => Str]
[ExpirationDays => Int]
[Fields => Paws::CustomerProfiles::FieldMap]
[Keys => Paws::CustomerProfiles::KeyMap]
[Tags => Paws::CustomerProfiles::TagMap]
[TemplateId => Str]

Each argument is described in detail in: Paws::CustomerProfiles::PutProfileObjectType

Returns: a Paws::CustomerProfiles::PutProfileObjectTypeResponse instance

Defines a ProfileObjectType.

SearchProfiles

DomainName => Str
KeyName => Str
Values => ArrayRef[Str|Undef]
[MaxResults => Int]
[NextToken => Str]

Each argument is described in detail in: Paws::CustomerProfiles::SearchProfiles

Returns: a Paws::CustomerProfiles::SearchProfilesResponse instance

Searches for profiles within a specific domain name using name, phone number, email address, account number, or a custom defined index.

TagResource

ResourceArn => Str
Tags => Paws::CustomerProfiles::TagMap

Each argument is described in detail in: Paws::CustomerProfiles::TagResource

Returns: a Paws::CustomerProfiles::TagResourceResponse instance

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.

UntagResource

ResourceArn => Str
TagKeys => ArrayRef[Str|Undef]

Each argument is described in detail in: Paws::CustomerProfiles::UntagResource

Returns: a Paws::CustomerProfiles::UntagResourceResponse instance

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.

UpdateDomain

DomainName => Str
[DeadLetterQueueUrl => Str]
[DefaultEncryptionKey => Str]
[DefaultExpirationDays => Int]
[Matching => Paws::CustomerProfiles::MatchingRequest]
[Tags => Paws::CustomerProfiles::TagMap]

Each argument is described in detail in: Paws::CustomerProfiles::UpdateDomain

Returns: a Paws::CustomerProfiles::UpdateDomainResponse instance

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.

UpdateProfile

DomainName => Str
ProfileId => Str
[AccountNumber => Str]
[AdditionalInformation => Str]
[Address => Paws::CustomerProfiles::UpdateAddress]
[Attributes => Paws::CustomerProfiles::UpdateAttributes]
[BillingAddress => Paws::CustomerProfiles::UpdateAddress]
[BirthDate => Str]
[BusinessEmailAddress => Str]
[BusinessName => Str]
[BusinessPhoneNumber => Str]
[EmailAddress => Str]
[FirstName => Str]
[Gender => Str]
[HomePhoneNumber => Str]
[LastName => Str]
[MailingAddress => Paws::CustomerProfiles::UpdateAddress]
[MiddleName => Str]
[MobilePhoneNumber => Str]
[PartyType => Str]
[PersonalEmailAddress => Str]
[PhoneNumber => Str]
[ShippingAddress => Paws::CustomerProfiles::UpdateAddress]

Each argument is described in detail in: Paws::CustomerProfiles::UpdateProfile

Returns: a Paws::CustomerProfiles::UpdateProfileResponse instance

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.

PAGINATORS

Paginator methods are helpers that repetively call methods that return partial results

SEE ALSO

This service class forms part of Paws

BUGS and CONTRIBUTIONS

The source code is located here: https://github.com/pplu/aws-sdk-perl

Please report bugs to: https://github.com/pplu/aws-sdk-perl/issues