/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include
#include
#include
#include
#include
#include
namespace Aws
{
namespace CustomerProfiles
{
/**
* Amazon Connect Customer Profiles 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 review the Amazon Connect
* Administrator Guide.
*/
class AWS_CUSTOMERPROFILES_API CustomerProfilesClient : public Aws::Client::AWSJsonClient, public Aws::Client::ClientWithAsyncTemplateMethods
{
public:
typedef Aws::Client::AWSJsonClient BASECLASS;
static const char* SERVICE_NAME;
static const char* ALLOCATION_TAG;
typedef CustomerProfilesClientConfiguration ClientConfigurationType;
typedef CustomerProfilesEndpointProvider EndpointProviderType;
/**
* Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config
* is not specified, it will be initialized to default values.
*/
CustomerProfilesClient(const Aws::CustomerProfiles::CustomerProfilesClientConfiguration& clientConfiguration = Aws::CustomerProfiles::CustomerProfilesClientConfiguration(),
std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG));
/**
* Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config
* is not specified, it will be initialized to default values.
*/
CustomerProfilesClient(const Aws::Auth::AWSCredentials& credentials,
std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG),
const Aws::CustomerProfiles::CustomerProfilesClientConfiguration& clientConfiguration = Aws::CustomerProfiles::CustomerProfilesClientConfiguration());
/**
* Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied,
* the default http client factory will be used
*/
CustomerProfilesClient(const std::shared_ptr& credentialsProvider,
std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG),
const Aws::CustomerProfiles::CustomerProfilesClientConfiguration& clientConfiguration = Aws::CustomerProfiles::CustomerProfilesClientConfiguration());
/* Legacy constructors due deprecation */
/**
* Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config
* is not specified, it will be initialized to default values.
*/
CustomerProfilesClient(const Aws::Client::ClientConfiguration& clientConfiguration);
/**
* Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config
* is not specified, it will be initialized to default values.
*/
CustomerProfilesClient(const Aws::Auth::AWSCredentials& credentials,
const Aws::Client::ClientConfiguration& clientConfiguration);
/**
* Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied,
* the default http client factory will be used
*/
CustomerProfilesClient(const std::shared_ptr& credentialsProvider,
const Aws::Client::ClientConfiguration& clientConfiguration);
/* End of legacy constructors due deprecation */
virtual ~CustomerProfilesClient();
/**
* 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.
See Also:
AWS
* API Reference
*/
virtual Model::AddProfileKeyOutcome AddProfileKey(const Model::AddProfileKeyRequest& request) const;
/**
* A Callable wrapper for AddProfileKey that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::AddProfileKeyOutcomeCallable AddProfileKeyCallable(const AddProfileKeyRequestT& request) const
{
return SubmitCallable(&CustomerProfilesClient::AddProfileKey, request);
}
/**
* An Async wrapper for AddProfileKey that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void AddProfileKeyAsync(const AddProfileKeyRequestT& request, const AddProfileKeyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CustomerProfilesClient::AddProfileKey, request, handler, context);
}
/**
* 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
.
See Also:
AWS
* API Reference
*/
virtual Model::CreateCalculatedAttributeDefinitionOutcome CreateCalculatedAttributeDefinition(const Model::CreateCalculatedAttributeDefinitionRequest& request) const;
/**
* A Callable wrapper for CreateCalculatedAttributeDefinition that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateCalculatedAttributeDefinitionOutcomeCallable CreateCalculatedAttributeDefinitionCallable(const CreateCalculatedAttributeDefinitionRequestT& request) const
{
return SubmitCallable(&CustomerProfilesClient::CreateCalculatedAttributeDefinition, request);
}
/**
* An Async wrapper for CreateCalculatedAttributeDefinition that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateCalculatedAttributeDefinitionAsync(const CreateCalculatedAttributeDefinitionRequestT& request, const CreateCalculatedAttributeDefinitionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CustomerProfilesClient::CreateCalculatedAttributeDefinition, request, handler, context);
}
/**
* 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.
*
See Also:
AWS
* API Reference
*/
virtual Model::CreateDomainOutcome CreateDomain(const Model::CreateDomainRequest& request) const;
/**
* A Callable wrapper for CreateDomain that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateDomainOutcomeCallable CreateDomainCallable(const CreateDomainRequestT& request) const
{
return SubmitCallable(&CustomerProfilesClient::CreateDomain, request);
}
/**
* An Async wrapper for CreateDomain that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateDomainAsync(const CreateDomainRequestT& request, const CreateDomainResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CustomerProfilesClient::CreateDomain, request, handler, context);
}
/**
* 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
See Also:
AWS
* API Reference
*/
virtual Model::CreateEventStreamOutcome CreateEventStream(const Model::CreateEventStreamRequest& request) const;
/**
* A Callable wrapper for CreateEventStream that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateEventStreamOutcomeCallable CreateEventStreamCallable(const CreateEventStreamRequestT& request) const
{
return SubmitCallable(&CustomerProfilesClient::CreateEventStream, request);
}
/**
* An Async wrapper for CreateEventStream that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateEventStreamAsync(const CreateEventStreamRequestT& request, const CreateEventStreamResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CustomerProfilesClient::CreateEventStream, request, handler, context);
}
/**
* 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.
*
See Also:
AWS
* API Reference
*/
virtual Model::CreateIntegrationWorkflowOutcome CreateIntegrationWorkflow(const Model::CreateIntegrationWorkflowRequest& request) const;
/**
* A Callable wrapper for CreateIntegrationWorkflow that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateIntegrationWorkflowOutcomeCallable CreateIntegrationWorkflowCallable(const CreateIntegrationWorkflowRequestT& request) const
{
return SubmitCallable(&CustomerProfilesClient::CreateIntegrationWorkflow, request);
}
/**
* An Async wrapper for CreateIntegrationWorkflow that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateIntegrationWorkflowAsync(const CreateIntegrationWorkflowRequestT& request, const CreateIntegrationWorkflowResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CustomerProfilesClient::CreateIntegrationWorkflow, request, handler, context);
}
/**
* Creates a standard profile.
A standard profile represents the
* following attributes for a customer profile in a domain.
See
* Also:
AWS
* API Reference
*/
virtual Model::CreateProfileOutcome CreateProfile(const Model::CreateProfileRequest& request) const;
/**
* A Callable wrapper for CreateProfile that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateProfileOutcomeCallable CreateProfileCallable(const CreateProfileRequestT& request) const
{
return SubmitCallable(&CustomerProfilesClient::CreateProfile, request);
}
/**
* An Async wrapper for CreateProfile that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateProfileAsync(const CreateProfileRequestT& request, const CreateProfileResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CustomerProfilesClient::CreateProfile, request, handler, context);
}
/**
* 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.
See
* Also:
AWS
* API Reference
*/
virtual Model::DeleteCalculatedAttributeDefinitionOutcome DeleteCalculatedAttributeDefinition(const Model::DeleteCalculatedAttributeDefinitionRequest& request) const;
/**
* A Callable wrapper for DeleteCalculatedAttributeDefinition that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteCalculatedAttributeDefinitionOutcomeCallable DeleteCalculatedAttributeDefinitionCallable(const DeleteCalculatedAttributeDefinitionRequestT& request) const
{
return SubmitCallable(&CustomerProfilesClient::DeleteCalculatedAttributeDefinition, request);
}
/**
* An Async wrapper for DeleteCalculatedAttributeDefinition that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteCalculatedAttributeDefinitionAsync(const DeleteCalculatedAttributeDefinitionRequestT& request, const DeleteCalculatedAttributeDefinitionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CustomerProfilesClient::DeleteCalculatedAttributeDefinition, request, handler, context);
}
/**
* Deletes a specific domain and all of its customer data, such as customer
* profile attributes and their related objects.
See Also:
AWS
* API Reference
*/
virtual Model::DeleteDomainOutcome DeleteDomain(const Model::DeleteDomainRequest& request) const;
/**
* A Callable wrapper for DeleteDomain that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteDomainOutcomeCallable DeleteDomainCallable(const DeleteDomainRequestT& request) const
{
return SubmitCallable(&CustomerProfilesClient::DeleteDomain, request);
}
/**
* An Async wrapper for DeleteDomain that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteDomainAsync(const DeleteDomainRequestT& request, const DeleteDomainResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CustomerProfilesClient::DeleteDomain, request, handler, context);
}
/**
* Disables and deletes the specified event stream.
See Also:
* AWS
* API Reference
*/
virtual Model::DeleteEventStreamOutcome DeleteEventStream(const Model::DeleteEventStreamRequest& request) const;
/**
* A Callable wrapper for DeleteEventStream that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteEventStreamOutcomeCallable DeleteEventStreamCallable(const DeleteEventStreamRequestT& request) const
{
return SubmitCallable(&CustomerProfilesClient::DeleteEventStream, request);
}
/**
* An Async wrapper for DeleteEventStream that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteEventStreamAsync(const DeleteEventStreamRequestT& request, const DeleteEventStreamResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CustomerProfilesClient::DeleteEventStream, request, handler, context);
}
/**
* Removes an integration from a specific domain.
See Also:
AWS
* API Reference
*/
virtual Model::DeleteIntegrationOutcome DeleteIntegration(const Model::DeleteIntegrationRequest& request) const;
/**
* A Callable wrapper for DeleteIntegration that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteIntegrationOutcomeCallable DeleteIntegrationCallable(const DeleteIntegrationRequestT& request) const
{
return SubmitCallable(&CustomerProfilesClient::DeleteIntegration, request);
}
/**
* An Async wrapper for DeleteIntegration that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteIntegrationAsync(const DeleteIntegrationRequestT& request, const DeleteIntegrationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CustomerProfilesClient::DeleteIntegration, request, handler, context);
}
/**
* Deletes the standard customer profile and all data pertaining to the
* profile.
See Also:
AWS
* API Reference
*/
virtual Model::DeleteProfileOutcome DeleteProfile(const Model::DeleteProfileRequest& request) const;
/**
* A Callable wrapper for DeleteProfile that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteProfileOutcomeCallable DeleteProfileCallable(const DeleteProfileRequestT& request) const
{
return SubmitCallable(&CustomerProfilesClient::DeleteProfile, request);
}
/**
* An Async wrapper for DeleteProfile that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteProfileAsync(const DeleteProfileRequestT& request, const DeleteProfileResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CustomerProfilesClient::DeleteProfile, request, handler, context);
}
/**
* Removes a searchable key from a customer profile.
See Also:
* AWS
* API Reference
*/
virtual Model::DeleteProfileKeyOutcome DeleteProfileKey(const Model::DeleteProfileKeyRequest& request) const;
/**
* A Callable wrapper for DeleteProfileKey that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteProfileKeyOutcomeCallable DeleteProfileKeyCallable(const DeleteProfileKeyRequestT& request) const
{
return SubmitCallable(&CustomerProfilesClient::DeleteProfileKey, request);
}
/**
* An Async wrapper for DeleteProfileKey that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteProfileKeyAsync(const DeleteProfileKeyRequestT& request, const DeleteProfileKeyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CustomerProfilesClient::DeleteProfileKey, request, handler, context);
}
/**
* Removes an object associated with a profile of a given
* ProfileObjectType.
See Also:
AWS
* API Reference
*/
virtual Model::DeleteProfileObjectOutcome DeleteProfileObject(const Model::DeleteProfileObjectRequest& request) const;
/**
* A Callable wrapper for DeleteProfileObject that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteProfileObjectOutcomeCallable DeleteProfileObjectCallable(const DeleteProfileObjectRequestT& request) const
{
return SubmitCallable(&CustomerProfilesClient::DeleteProfileObject, request);
}
/**
* An Async wrapper for DeleteProfileObject that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteProfileObjectAsync(const DeleteProfileObjectRequestT& request, const DeleteProfileObjectResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CustomerProfilesClient::DeleteProfileObject, request, handler, context);
}
/**
* 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.
See
* Also:
AWS
* API Reference
*/
virtual Model::DeleteProfileObjectTypeOutcome DeleteProfileObjectType(const Model::DeleteProfileObjectTypeRequest& request) const;
/**
* A Callable wrapper for DeleteProfileObjectType that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteProfileObjectTypeOutcomeCallable DeleteProfileObjectTypeCallable(const DeleteProfileObjectTypeRequestT& request) const
{
return SubmitCallable(&CustomerProfilesClient::DeleteProfileObjectType, request);
}
/**
* An Async wrapper for DeleteProfileObjectType that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteProfileObjectTypeAsync(const DeleteProfileObjectTypeRequestT& request, const DeleteProfileObjectTypeResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CustomerProfilesClient::DeleteProfileObjectType, request, handler, context);
}
/**
* Deletes the specified workflow and all its corresponding resources. This is
* an async process.
See Also:
AWS
* API Reference
*/
virtual Model::DeleteWorkflowOutcome DeleteWorkflow(const Model::DeleteWorkflowRequest& request) const;
/**
* A Callable wrapper for DeleteWorkflow that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteWorkflowOutcomeCallable DeleteWorkflowCallable(const DeleteWorkflowRequestT& request) const
{
return SubmitCallable(&CustomerProfilesClient::DeleteWorkflow, request);
}
/**
* An Async wrapper for DeleteWorkflow that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteWorkflowAsync(const DeleteWorkflowRequestT& request, const DeleteWorkflowResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CustomerProfilesClient::DeleteWorkflow, request, handler, context);
}
/**
* 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.
* See Also:
AWS
* API Reference
*/
virtual Model::GetAutoMergingPreviewOutcome GetAutoMergingPreview(const Model::GetAutoMergingPreviewRequest& request) const;
/**
* A Callable wrapper for GetAutoMergingPreview that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetAutoMergingPreviewOutcomeCallable GetAutoMergingPreviewCallable(const GetAutoMergingPreviewRequestT& request) const
{
return SubmitCallable(&CustomerProfilesClient::GetAutoMergingPreview, request);
}
/**
* An Async wrapper for GetAutoMergingPreview that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetAutoMergingPreviewAsync(const GetAutoMergingPreviewRequestT& request, const GetAutoMergingPreviewResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CustomerProfilesClient::GetAutoMergingPreview, request, handler, context);
}
/**
* Provides more information on a calculated attribute definition for Customer
* Profiles.
See Also:
AWS
* API Reference
*/
virtual Model::GetCalculatedAttributeDefinitionOutcome GetCalculatedAttributeDefinition(const Model::GetCalculatedAttributeDefinitionRequest& request) const;
/**
* A Callable wrapper for GetCalculatedAttributeDefinition that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetCalculatedAttributeDefinitionOutcomeCallable GetCalculatedAttributeDefinitionCallable(const GetCalculatedAttributeDefinitionRequestT& request) const
{
return SubmitCallable(&CustomerProfilesClient::GetCalculatedAttributeDefinition, request);
}
/**
* An Async wrapper for GetCalculatedAttributeDefinition that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetCalculatedAttributeDefinitionAsync(const GetCalculatedAttributeDefinitionRequestT& request, const GetCalculatedAttributeDefinitionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CustomerProfilesClient::GetCalculatedAttributeDefinition, request, handler, context);
}
/**
* Retrieve a calculated attribute for a customer profile.
See
* Also:
AWS
* API Reference
*/
virtual Model::GetCalculatedAttributeForProfileOutcome GetCalculatedAttributeForProfile(const Model::GetCalculatedAttributeForProfileRequest& request) const;
/**
* A Callable wrapper for GetCalculatedAttributeForProfile that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetCalculatedAttributeForProfileOutcomeCallable GetCalculatedAttributeForProfileCallable(const GetCalculatedAttributeForProfileRequestT& request) const
{
return SubmitCallable(&CustomerProfilesClient::GetCalculatedAttributeForProfile, request);
}
/**
* An Async wrapper for GetCalculatedAttributeForProfile that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetCalculatedAttributeForProfileAsync(const GetCalculatedAttributeForProfileRequestT& request, const GetCalculatedAttributeForProfileResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CustomerProfilesClient::GetCalculatedAttributeForProfile, request, handler, context);
}
/**
* Returns information about a specific domain.
See Also:
AWS
* API Reference
*/
virtual Model::GetDomainOutcome GetDomain(const Model::GetDomainRequest& request) const;
/**
* A Callable wrapper for GetDomain that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetDomainOutcomeCallable GetDomainCallable(const GetDomainRequestT& request) const
{
return SubmitCallable(&CustomerProfilesClient::GetDomain, request);
}
/**
* An Async wrapper for GetDomain that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetDomainAsync(const GetDomainRequestT& request, const GetDomainResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CustomerProfilesClient::GetDomain, request, handler, context);
}
/**
* Returns information about the specified event stream in a specific
* domain.
See Also:
AWS
* API Reference
*/
virtual Model::GetEventStreamOutcome GetEventStream(const Model::GetEventStreamRequest& request) const;
/**
* A Callable wrapper for GetEventStream that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetEventStreamOutcomeCallable GetEventStreamCallable(const GetEventStreamRequestT& request) const
{
return SubmitCallable(&CustomerProfilesClient::GetEventStream, request);
}
/**
* An Async wrapper for GetEventStream that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetEventStreamAsync(const GetEventStreamRequestT& request, const GetEventStreamResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CustomerProfilesClient::GetEventStream, request, handler, context);
}
/**
* 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.
See
* Also:
AWS
* API Reference
*/
virtual Model::GetIdentityResolutionJobOutcome GetIdentityResolutionJob(const Model::GetIdentityResolutionJobRequest& request) const;
/**
* A Callable wrapper for GetIdentityResolutionJob that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetIdentityResolutionJobOutcomeCallable GetIdentityResolutionJobCallable(const GetIdentityResolutionJobRequestT& request) const
{
return SubmitCallable(&CustomerProfilesClient::GetIdentityResolutionJob, request);
}
/**
* An Async wrapper for GetIdentityResolutionJob that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetIdentityResolutionJobAsync(const GetIdentityResolutionJobRequestT& request, const GetIdentityResolutionJobResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CustomerProfilesClient::GetIdentityResolutionJob, request, handler, context);
}
/**
* Returns an integration for a domain.
See Also:
AWS
* API Reference
*/
virtual Model::GetIntegrationOutcome GetIntegration(const Model::GetIntegrationRequest& request) const;
/**
* A Callable wrapper for GetIntegration that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetIntegrationOutcomeCallable GetIntegrationCallable(const GetIntegrationRequestT& request) const
{
return SubmitCallable(&CustomerProfilesClient::GetIntegration, request);
}
/**
* An Async wrapper for GetIntegration that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetIntegrationAsync(const GetIntegrationRequestT& request, const GetIntegrationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CustomerProfilesClient::GetIntegration, request, handler, context);
}
/**
* 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.
See Also:
AWS
* API Reference
*/
virtual Model::GetMatchesOutcome GetMatches(const Model::GetMatchesRequest& request) const;
/**
* A Callable wrapper for GetMatches that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetMatchesOutcomeCallable GetMatchesCallable(const GetMatchesRequestT& request) const
{
return SubmitCallable(&CustomerProfilesClient::GetMatches, request);
}
/**
* An Async wrapper for GetMatches that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetMatchesAsync(const GetMatchesRequestT& request, const GetMatchesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CustomerProfilesClient::GetMatches, request, handler, context);
}
/**
* Returns the object types for a specific domain.
See Also:
AWS
* API Reference
*/
virtual Model::GetProfileObjectTypeOutcome GetProfileObjectType(const Model::GetProfileObjectTypeRequest& request) const;
/**
* A Callable wrapper for GetProfileObjectType that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetProfileObjectTypeOutcomeCallable GetProfileObjectTypeCallable(const GetProfileObjectTypeRequestT& request) const
{
return SubmitCallable(&CustomerProfilesClient::GetProfileObjectType, request);
}
/**
* An Async wrapper for GetProfileObjectType that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetProfileObjectTypeAsync(const GetProfileObjectTypeRequestT& request, const GetProfileObjectTypeResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CustomerProfilesClient::GetProfileObjectType, request, handler, context);
}
/**
* Returns the template information for a specific object type.
A
* template is a predefined ProfileObjectType, such as “Salesforce-Account” or
* “Salesforce-Contact.” When a user sends a ProfileObject, using the
* PutProfileObject API, with an ObjectTypeName that matches one of the
* TemplateIds, it uses the mappings from the template.
See Also:
* AWS
* API Reference
*/
virtual Model::GetProfileObjectTypeTemplateOutcome GetProfileObjectTypeTemplate(const Model::GetProfileObjectTypeTemplateRequest& request) const;
/**
* A Callable wrapper for GetProfileObjectTypeTemplate that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetProfileObjectTypeTemplateOutcomeCallable GetProfileObjectTypeTemplateCallable(const GetProfileObjectTypeTemplateRequestT& request) const
{
return SubmitCallable(&CustomerProfilesClient::GetProfileObjectTypeTemplate, request);
}
/**
* An Async wrapper for GetProfileObjectTypeTemplate that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetProfileObjectTypeTemplateAsync(const GetProfileObjectTypeTemplateRequestT& request, const GetProfileObjectTypeTemplateResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CustomerProfilesClient::GetProfileObjectTypeTemplate, request, handler, context);
}
/**
* 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
.
See Also:
AWS
* API Reference
*/
virtual Model::GetSimilarProfilesOutcome GetSimilarProfiles(const Model::GetSimilarProfilesRequest& request) const;
/**
* A Callable wrapper for GetSimilarProfiles that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetSimilarProfilesOutcomeCallable GetSimilarProfilesCallable(const GetSimilarProfilesRequestT& request) const
{
return SubmitCallable(&CustomerProfilesClient::GetSimilarProfiles, request);
}
/**
* An Async wrapper for GetSimilarProfiles that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetSimilarProfilesAsync(const GetSimilarProfilesRequestT& request, const GetSimilarProfilesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CustomerProfilesClient::GetSimilarProfiles, request, handler, context);
}
/**
* Get details of specified workflow.
See Also:
AWS
* API Reference
*/
virtual Model::GetWorkflowOutcome GetWorkflow(const Model::GetWorkflowRequest& request) const;
/**
* A Callable wrapper for GetWorkflow that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetWorkflowOutcomeCallable GetWorkflowCallable(const GetWorkflowRequestT& request) const
{
return SubmitCallable(&CustomerProfilesClient::GetWorkflow, request);
}
/**
* An Async wrapper for GetWorkflow that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetWorkflowAsync(const GetWorkflowRequestT& request, const GetWorkflowResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CustomerProfilesClient::GetWorkflow, request, handler, context);
}
/**
* Get granular list of steps in workflow.
See Also:
AWS
* API Reference
*/
virtual Model::GetWorkflowStepsOutcome GetWorkflowSteps(const Model::GetWorkflowStepsRequest& request) const;
/**
* A Callable wrapper for GetWorkflowSteps that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetWorkflowStepsOutcomeCallable GetWorkflowStepsCallable(const GetWorkflowStepsRequestT& request) const
{
return SubmitCallable(&CustomerProfilesClient::GetWorkflowSteps, request);
}
/**
* An Async wrapper for GetWorkflowSteps that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetWorkflowStepsAsync(const GetWorkflowStepsRequestT& request, const GetWorkflowStepsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CustomerProfilesClient::GetWorkflowSteps, request, handler, context);
}
/**
* Lists all of the integrations associated to a specific URI in the AWS
* account.
See Also:
AWS
* API Reference
*/
virtual Model::ListAccountIntegrationsOutcome ListAccountIntegrations(const Model::ListAccountIntegrationsRequest& request) const;
/**
* A Callable wrapper for ListAccountIntegrations that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListAccountIntegrationsOutcomeCallable ListAccountIntegrationsCallable(const ListAccountIntegrationsRequestT& request) const
{
return SubmitCallable(&CustomerProfilesClient::ListAccountIntegrations, request);
}
/**
* An Async wrapper for ListAccountIntegrations that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListAccountIntegrationsAsync(const ListAccountIntegrationsRequestT& request, const ListAccountIntegrationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CustomerProfilesClient::ListAccountIntegrations, request, handler, context);
}
/**
* Lists calculated attribute definitions for Customer Profiles
See
* Also:
AWS
* API Reference
*/
virtual Model::ListCalculatedAttributeDefinitionsOutcome ListCalculatedAttributeDefinitions(const Model::ListCalculatedAttributeDefinitionsRequest& request) const;
/**
* A Callable wrapper for ListCalculatedAttributeDefinitions that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListCalculatedAttributeDefinitionsOutcomeCallable ListCalculatedAttributeDefinitionsCallable(const ListCalculatedAttributeDefinitionsRequestT& request) const
{
return SubmitCallable(&CustomerProfilesClient::ListCalculatedAttributeDefinitions, request);
}
/**
* An Async wrapper for ListCalculatedAttributeDefinitions that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListCalculatedAttributeDefinitionsAsync(const ListCalculatedAttributeDefinitionsRequestT& request, const ListCalculatedAttributeDefinitionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CustomerProfilesClient::ListCalculatedAttributeDefinitions, request, handler, context);
}
/**
* Retrieve a list of calculated attributes for a customer
* profile.
See Also:
AWS
* API Reference
*/
virtual Model::ListCalculatedAttributesForProfileOutcome ListCalculatedAttributesForProfile(const Model::ListCalculatedAttributesForProfileRequest& request) const;
/**
* A Callable wrapper for ListCalculatedAttributesForProfile that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListCalculatedAttributesForProfileOutcomeCallable ListCalculatedAttributesForProfileCallable(const ListCalculatedAttributesForProfileRequestT& request) const
{
return SubmitCallable(&CustomerProfilesClient::ListCalculatedAttributesForProfile, request);
}
/**
* An Async wrapper for ListCalculatedAttributesForProfile that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListCalculatedAttributesForProfileAsync(const ListCalculatedAttributesForProfileRequestT& request, const ListCalculatedAttributesForProfileResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CustomerProfilesClient::ListCalculatedAttributesForProfile, request, handler, context);
}
/**
* Returns a list of all the domains for an AWS account that have been
* created.
See Also:
AWS
* API Reference
*/
virtual Model::ListDomainsOutcome ListDomains(const Model::ListDomainsRequest& request) const;
/**
* A Callable wrapper for ListDomains that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListDomainsOutcomeCallable ListDomainsCallable(const ListDomainsRequestT& request) const
{
return SubmitCallable(&CustomerProfilesClient::ListDomains, request);
}
/**
* An Async wrapper for ListDomains that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListDomainsAsync(const ListDomainsRequestT& request, const ListDomainsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CustomerProfilesClient::ListDomains, request, handler, context);
}
/**
* Returns a list of all the event streams in a specific domain.
See
* Also:
AWS
* API Reference
*/
virtual Model::ListEventStreamsOutcome ListEventStreams(const Model::ListEventStreamsRequest& request) const;
/**
* A Callable wrapper for ListEventStreams that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListEventStreamsOutcomeCallable ListEventStreamsCallable(const ListEventStreamsRequestT& request) const
{
return SubmitCallable(&CustomerProfilesClient::ListEventStreams, request);
}
/**
* An Async wrapper for ListEventStreams that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListEventStreamsAsync(const ListEventStreamsRequestT& request, const ListEventStreamsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CustomerProfilesClient::ListEventStreams, request, handler, context);
}
/**
* Lists all of the Identity Resolution Jobs in your domain. The response sorts
* the list by JobStartTime
.
See Also:
AWS
* API Reference
*/
virtual Model::ListIdentityResolutionJobsOutcome ListIdentityResolutionJobs(const Model::ListIdentityResolutionJobsRequest& request) const;
/**
* A Callable wrapper for ListIdentityResolutionJobs that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListIdentityResolutionJobsOutcomeCallable ListIdentityResolutionJobsCallable(const ListIdentityResolutionJobsRequestT& request) const
{
return SubmitCallable(&CustomerProfilesClient::ListIdentityResolutionJobs, request);
}
/**
* An Async wrapper for ListIdentityResolutionJobs that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListIdentityResolutionJobsAsync(const ListIdentityResolutionJobsRequestT& request, const ListIdentityResolutionJobsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CustomerProfilesClient::ListIdentityResolutionJobs, request, handler, context);
}
/**
* Lists all of the integrations in your domain.
See Also:
AWS
* API Reference
*/
virtual Model::ListIntegrationsOutcome ListIntegrations(const Model::ListIntegrationsRequest& request) const;
/**
* A Callable wrapper for ListIntegrations that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListIntegrationsOutcomeCallable ListIntegrationsCallable(const ListIntegrationsRequestT& request) const
{
return SubmitCallable(&CustomerProfilesClient::ListIntegrations, request);
}
/**
* An Async wrapper for ListIntegrations that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListIntegrationsAsync(const ListIntegrationsRequestT& request, const ListIntegrationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CustomerProfilesClient::ListIntegrations, request, handler, context);
}
/**
* Lists all of the template information for object types.
See
* Also:
AWS
* API Reference
*/
virtual Model::ListProfileObjectTypeTemplatesOutcome ListProfileObjectTypeTemplates(const Model::ListProfileObjectTypeTemplatesRequest& request) const;
/**
* A Callable wrapper for ListProfileObjectTypeTemplates that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListProfileObjectTypeTemplatesOutcomeCallable ListProfileObjectTypeTemplatesCallable(const ListProfileObjectTypeTemplatesRequestT& request) const
{
return SubmitCallable(&CustomerProfilesClient::ListProfileObjectTypeTemplates, request);
}
/**
* An Async wrapper for ListProfileObjectTypeTemplates that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListProfileObjectTypeTemplatesAsync(const ListProfileObjectTypeTemplatesRequestT& request, const ListProfileObjectTypeTemplatesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CustomerProfilesClient::ListProfileObjectTypeTemplates, request, handler, context);
}
/**
* Lists all of the templates available within the service.
See
* Also:
AWS
* API Reference
*/
virtual Model::ListProfileObjectTypesOutcome ListProfileObjectTypes(const Model::ListProfileObjectTypesRequest& request) const;
/**
* A Callable wrapper for ListProfileObjectTypes that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListProfileObjectTypesOutcomeCallable ListProfileObjectTypesCallable(const ListProfileObjectTypesRequestT& request) const
{
return SubmitCallable(&CustomerProfilesClient::ListProfileObjectTypes, request);
}
/**
* An Async wrapper for ListProfileObjectTypes that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListProfileObjectTypesAsync(const ListProfileObjectTypesRequestT& request, const ListProfileObjectTypesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CustomerProfilesClient::ListProfileObjectTypes, request, handler, context);
}
/**
* Returns a list of objects associated with a profile of a given
* ProfileObjectType.
See Also:
AWS
* API Reference
*/
virtual Model::ListProfileObjectsOutcome ListProfileObjects(const Model::ListProfileObjectsRequest& request) const;
/**
* A Callable wrapper for ListProfileObjects that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListProfileObjectsOutcomeCallable ListProfileObjectsCallable(const ListProfileObjectsRequestT& request) const
{
return SubmitCallable(&CustomerProfilesClient::ListProfileObjects, request);
}
/**
* An Async wrapper for ListProfileObjects that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListProfileObjectsAsync(const ListProfileObjectsRequestT& request, const ListProfileObjectsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CustomerProfilesClient::ListProfileObjects, request, handler, context);
}
/**
* Returns a set of MatchIds
that belong to the given
* domain.
See Also:
AWS
* API Reference
*/
virtual Model::ListRuleBasedMatchesOutcome ListRuleBasedMatches(const Model::ListRuleBasedMatchesRequest& request) const;
/**
* A Callable wrapper for ListRuleBasedMatches that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListRuleBasedMatchesOutcomeCallable ListRuleBasedMatchesCallable(const ListRuleBasedMatchesRequestT& request) const
{
return SubmitCallable(&CustomerProfilesClient::ListRuleBasedMatches, request);
}
/**
* An Async wrapper for ListRuleBasedMatches that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListRuleBasedMatchesAsync(const ListRuleBasedMatchesRequestT& request, const ListRuleBasedMatchesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CustomerProfilesClient::ListRuleBasedMatches, request, handler, context);
}
/**
* Displays the tags associated with an Amazon Connect Customer Profiles
* resource. In Connect Customer Profiles, domains, profile object types, and
* integrations can be tagged.
See Also:
AWS
* API Reference
*/
virtual Model::ListTagsForResourceOutcome ListTagsForResource(const Model::ListTagsForResourceRequest& request) const;
/**
* A Callable wrapper for ListTagsForResource that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const ListTagsForResourceRequestT& request) const
{
return SubmitCallable(&CustomerProfilesClient::ListTagsForResource, request);
}
/**
* An Async wrapper for ListTagsForResource that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListTagsForResourceAsync(const ListTagsForResourceRequestT& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CustomerProfilesClient::ListTagsForResource, request, handler, context);
}
/**
* Query to list all workflows.
See Also:
AWS
* API Reference
*/
virtual Model::ListWorkflowsOutcome ListWorkflows(const Model::ListWorkflowsRequest& request) const;
/**
* A Callable wrapper for ListWorkflows that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListWorkflowsOutcomeCallable ListWorkflowsCallable(const ListWorkflowsRequestT& request) const
{
return SubmitCallable(&CustomerProfilesClient::ListWorkflows, request);
}
/**
* An Async wrapper for ListWorkflows that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListWorkflowsAsync(const ListWorkflowsRequestT& request, const ListWorkflowsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CustomerProfilesClient::ListWorkflows, request, handler, context);
}
/**
* Runs an AWS Lambda job that does the following:
-
All the
* profileKeys in the ProfileToBeMerged
will be moved to the main
* profile.
-
All the objects in the ProfileToBeMerged
* will be moved to the main profile.
-
All the
* ProfileToBeMerged
will be deleted at the end.
-
All
* the profileKeys in the ProfileIdsToBeMerged
will be moved to the
* main profile.
-
Standard fields are merged as follows:
* -
Fields are always "union"-ed if there are no conflicts in standard
* fields or attributeKeys.
-
When there are conflicting
* fields:
-
If no SourceProfileIds
entry is specified,
* the main Profile value is always taken.
-
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).
See Also:
AWS
* API Reference
*/
virtual Model::MergeProfilesOutcome MergeProfiles(const Model::MergeProfilesRequest& request) const;
/**
* A Callable wrapper for MergeProfiles that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::MergeProfilesOutcomeCallable MergeProfilesCallable(const MergeProfilesRequestT& request) const
{
return SubmitCallable(&CustomerProfilesClient::MergeProfiles, request);
}
/**
* An Async wrapper for MergeProfiles that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void MergeProfilesAsync(const MergeProfilesRequestT& request, const MergeProfilesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CustomerProfilesClient::MergeProfiles, request, handler, context);
}
/**
* 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.
See Also:
AWS
* API Reference
*/
virtual Model::PutIntegrationOutcome PutIntegration(const Model::PutIntegrationRequest& request) const;
/**
* A Callable wrapper for PutIntegration that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::PutIntegrationOutcomeCallable PutIntegrationCallable(const PutIntegrationRequestT& request) const
{
return SubmitCallable(&CustomerProfilesClient::PutIntegration, request);
}
/**
* An Async wrapper for PutIntegration that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void PutIntegrationAsync(const PutIntegrationRequestT& request, const PutIntegrationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CustomerProfilesClient::PutIntegration, request, handler, context);
}
/**
* 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.
See Also:
AWS
* API Reference
*/
virtual Model::PutProfileObjectOutcome PutProfileObject(const Model::PutProfileObjectRequest& request) const;
/**
* A Callable wrapper for PutProfileObject that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::PutProfileObjectOutcomeCallable PutProfileObjectCallable(const PutProfileObjectRequestT& request) const
{
return SubmitCallable(&CustomerProfilesClient::PutProfileObject, request);
}
/**
* An Async wrapper for PutProfileObject that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void PutProfileObjectAsync(const PutProfileObjectRequestT& request, const PutProfileObjectResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CustomerProfilesClient::PutProfileObject, request, handler, context);
}
/**
* Defines a ProfileObjectType.
To add or remove tags on an existing
* ObjectType, see
* TagResource/UntagResource.
See
* Also:
AWS
* API Reference
*/
virtual Model::PutProfileObjectTypeOutcome PutProfileObjectType(const Model::PutProfileObjectTypeRequest& request) const;
/**
* A Callable wrapper for PutProfileObjectType that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::PutProfileObjectTypeOutcomeCallable PutProfileObjectTypeCallable(const PutProfileObjectTypeRequestT& request) const
{
return SubmitCallable(&CustomerProfilesClient::PutProfileObjectType, request);
}
/**
* An Async wrapper for PutProfileObjectType that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void PutProfileObjectTypeAsync(const PutProfileObjectTypeRequestT& request, const PutProfileObjectTypeResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CustomerProfilesClient::PutProfileObjectType, request, handler, context);
}
/**
* 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.
See Also:
AWS
* API Reference
*/
virtual Model::SearchProfilesOutcome SearchProfiles(const Model::SearchProfilesRequest& request) const;
/**
* A Callable wrapper for SearchProfiles that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::SearchProfilesOutcomeCallable SearchProfilesCallable(const SearchProfilesRequestT& request) const
{
return SubmitCallable(&CustomerProfilesClient::SearchProfiles, request);
}
/**
* An Async wrapper for SearchProfiles that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void SearchProfilesAsync(const SearchProfilesRequestT& request, const SearchProfilesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CustomerProfilesClient::SearchProfiles, request, handler, context);
}
/**
* 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.
See Also:
AWS
* API Reference
*/
virtual Model::TagResourceOutcome TagResource(const Model::TagResourceRequest& request) const;
/**
* A Callable wrapper for TagResource that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::TagResourceOutcomeCallable TagResourceCallable(const TagResourceRequestT& request) const
{
return SubmitCallable(&CustomerProfilesClient::TagResource, request);
}
/**
* An Async wrapper for TagResource that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void TagResourceAsync(const TagResourceRequestT& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CustomerProfilesClient::TagResource, request, handler, context);
}
/**
* 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.
See Also:
AWS
* API Reference
*/
virtual Model::UntagResourceOutcome UntagResource(const Model::UntagResourceRequest& request) const;
/**
* A Callable wrapper for UntagResource that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UntagResourceOutcomeCallable UntagResourceCallable(const UntagResourceRequestT& request) const
{
return SubmitCallable(&CustomerProfilesClient::UntagResource, request);
}
/**
* An Async wrapper for UntagResource that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UntagResourceAsync(const UntagResourceRequestT& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CustomerProfilesClient::UntagResource, request, handler, context);
}
/**
* 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.
See Also:
AWS
* API Reference
*/
virtual Model::UpdateCalculatedAttributeDefinitionOutcome UpdateCalculatedAttributeDefinition(const Model::UpdateCalculatedAttributeDefinitionRequest& request) const;
/**
* A Callable wrapper for UpdateCalculatedAttributeDefinition that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateCalculatedAttributeDefinitionOutcomeCallable UpdateCalculatedAttributeDefinitionCallable(const UpdateCalculatedAttributeDefinitionRequestT& request) const
{
return SubmitCallable(&CustomerProfilesClient::UpdateCalculatedAttributeDefinition, request);
}
/**
* An Async wrapper for UpdateCalculatedAttributeDefinition that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateCalculatedAttributeDefinitionAsync(const UpdateCalculatedAttributeDefinitionRequestT& request, const UpdateCalculatedAttributeDefinitionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CustomerProfilesClient::UpdateCalculatedAttributeDefinition, request, handler, context);
}
/**
* 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.
See
* Also:
AWS
* API Reference
*/
virtual Model::UpdateDomainOutcome UpdateDomain(const Model::UpdateDomainRequest& request) const;
/**
* A Callable wrapper for UpdateDomain that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateDomainOutcomeCallable UpdateDomainCallable(const UpdateDomainRequestT& request) const
{
return SubmitCallable(&CustomerProfilesClient::UpdateDomain, request);
}
/**
* An Async wrapper for UpdateDomain that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateDomainAsync(const UpdateDomainRequestT& request, const UpdateDomainResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CustomerProfilesClient::UpdateDomain, request, handler, context);
}
/**
* 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.
See
* Also:
AWS
* API Reference
*/
virtual Model::UpdateProfileOutcome UpdateProfile(const Model::UpdateProfileRequest& request) const;
/**
* A Callable wrapper for UpdateProfile that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateProfileOutcomeCallable UpdateProfileCallable(const UpdateProfileRequestT& request) const
{
return SubmitCallable(&CustomerProfilesClient::UpdateProfile, request);
}
/**
* An Async wrapper for UpdateProfile that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateProfileAsync(const UpdateProfileRequestT& request, const UpdateProfileResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CustomerProfilesClient::UpdateProfile, request, handler, context);
}
void OverrideEndpoint(const Aws::String& endpoint);
std::shared_ptr& accessEndpointProvider();
private:
friend class Aws::Client::ClientWithAsyncTemplateMethods;
void init(const CustomerProfilesClientConfiguration& clientConfiguration);
CustomerProfilesClientConfiguration m_clientConfiguration;
std::shared_ptr m_executor;
std::shared_ptr m_endpointProvider;
};
} // namespace CustomerProfiles
} // namespace Aws