lib/aws-sdk-customerprofiles/client.rb in aws-sdk-customerprofiles-1.6.0 vs lib/aws-sdk-customerprofiles/client.rb in aws-sdk-customerprofiles-1.7.0
- old
+ new
@@ -399,19 +399,24 @@
# 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.
#
+ # @option params [Types::MatchingRequest] :matching
+ # The process of matching duplicate profiles. This process runs every
+ # Saturday at 12AM.
+ #
# @option params [Hash<String,String>] :tags
# The tags used to organize, track, or control access for this resource.
#
# @return [Types::CreateDomainResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::CreateDomainResponse#domain_name #domain_name} => String
# * {Types::CreateDomainResponse#default_expiration_days #default_expiration_days} => Integer
# * {Types::CreateDomainResponse#default_encryption_key #default_encryption_key} => String
# * {Types::CreateDomainResponse#dead_letter_queue_url #dead_letter_queue_url} => String
+ # * {Types::CreateDomainResponse#matching #matching} => Types::MatchingResponse
# * {Types::CreateDomainResponse#created_at #created_at} => Time
# * {Types::CreateDomainResponse#last_updated_at #last_updated_at} => Time
# * {Types::CreateDomainResponse#tags #tags} => Hash<String,String>
#
# @example Request syntax with placeholder values
@@ -419,10 +424,13 @@
# resp = client.create_domain({
# domain_name: "name", # required
# default_expiration_days: 1, # required
# default_encryption_key: "encryptionKey",
# dead_letter_queue_url: "sqsQueueUrl",
+ # matching: {
+ # enabled: false, # required
+ # },
# tags: {
# "TagKey" => "TagValue",
# },
# })
#
@@ -430,10 +438,11 @@
#
# resp.domain_name #=> String
# resp.default_expiration_days #=> Integer
# resp.default_encryption_key #=> String
# resp.dead_letter_queue_url #=> String
+ # resp.matching.enabled #=> Boolean
# resp.created_at #=> Time
# resp.last_updated_at #=> Time
# resp.tags #=> Hash
# resp.tags["TagKey"] #=> String
#
@@ -456,11 +465,11 @@
#
# @option params [String] :account_number
# A unique account number that you have given to the customer.
#
# @option params [String] :additional_information
- # Any additional information relevant to the customer's profile.
+ # Any additional information relevant to the customer’s profile.
#
# @option params [String] :party_type
# The type of profile used to describe the customer.
#
# @option params [String] :business_name
@@ -480,12 +489,12 @@
#
# @option params [String] :gender
# The gender with which the customer identifies.
#
# @option params [String] :phone_number
- # The customer's phone number, which has not been specified as a
- # mobile, home, or business number.
+ # The customer’s phone number, which has not been specified as a mobile,
+ # home, or business number.
#
# @option params [String] :mobile_phone_number
# The customer’s mobile phone number.
#
# @option params [String] :home_phone_number
@@ -493,11 +502,11 @@
#
# @option params [String] :business_phone_number
# The customer’s business phone number.
#
# @option params [String] :email_address
- # The customer's email address, which has not been specified as a
+ # The customer’s email address, which has not been specified as a
# personal or business address.
#
# @option params [String] :personal_email_address
# The customer’s personal email address.
#
@@ -822,19 +831,20 @@
end
# Returns information about a specific domain.
#
# @option params [required, String] :domain_name
- # A unique name for the domain.
+ # The unique name of the domain.
#
# @return [Types::GetDomainResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::GetDomainResponse#domain_name #domain_name} => String
# * {Types::GetDomainResponse#default_expiration_days #default_expiration_days} => Integer
# * {Types::GetDomainResponse#default_encryption_key #default_encryption_key} => String
# * {Types::GetDomainResponse#dead_letter_queue_url #dead_letter_queue_url} => String
# * {Types::GetDomainResponse#stats #stats} => Types::DomainStats
+ # * {Types::GetDomainResponse#matching #matching} => Types::MatchingResponse
# * {Types::GetDomainResponse#created_at #created_at} => Time
# * {Types::GetDomainResponse#last_updated_at #last_updated_at} => Time
# * {Types::GetDomainResponse#tags #tags} => Hash<String,String>
#
# @example Request syntax with placeholder values
@@ -851,10 +861,11 @@
# resp.dead_letter_queue_url #=> String
# resp.stats.profile_count #=> Integer
# resp.stats.metering_profile_count #=> Integer
# resp.stats.object_count #=> Integer
# resp.stats.total_size #=> Integer
+ # resp.matching.enabled #=> Boolean
# resp.created_at #=> Time
# resp.last_updated_at #=> Time
# resp.tags #=> Hash
# resp.tags["TagKey"] #=> String
#
@@ -908,10 +919,94 @@
def get_integration(params = {}, options = {})
req = build_request(:get_integration, params)
req.send_request(options)
end
+ # This API is in preview release for Amazon Connect and subject to
+ # change.
+ #
+ # Before calling this API, use [CreateDomain][1] or [UpdateDomain][2] 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
+ #
+ #
+ #
+ # [1]: https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_CreateDomain.html
+ # [2]: https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_UpdateDomain.html
+ #
+ # @option params [String] :next_token
+ # 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.
+ #
+ # @option params [Integer] :max_results
+ # The maximum number of results to return per page.
+ #
+ # @option params [required, String] :domain_name
+ # The unique name of the domain.
+ #
+ # @return [Types::GetMatchesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
+ #
+ # * {Types::GetMatchesResponse#next_token #next_token} => String
+ # * {Types::GetMatchesResponse#match_generation_date #match_generation_date} => Time
+ # * {Types::GetMatchesResponse#potential_matches #potential_matches} => Integer
+ # * {Types::GetMatchesResponse#matches #matches} => Array<Types::MatchItem>
+ #
+ # @example Request syntax with placeholder values
+ #
+ # resp = client.get_matches({
+ # next_token: "token",
+ # max_results: 1,
+ # domain_name: "name", # required
+ # })
+ #
+ # @example Response structure
+ #
+ # resp.next_token #=> String
+ # resp.match_generation_date #=> Time
+ # resp.potential_matches #=> Integer
+ # resp.matches #=> Array
+ # resp.matches[0].match_id #=> String
+ # resp.matches[0].profile_ids #=> Array
+ # resp.matches[0].profile_ids[0] #=> String
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/GetMatches AWS API Documentation
+ #
+ # @overload get_matches(params = {})
+ # @param [Hash] params ({})
+ def get_matches(params = {}, options = {})
+ req = build_request(:get_matches, params)
+ req.send_request(options)
+ end
+
# Returns the object types for a specific domain.
#
# @option params [required, String] :domain_name
# The unique name of the domain.
#
@@ -1316,10 +1411,113 @@
def list_tags_for_resource(params = {}, options = {})
req = build_request(:list_tags_for_resource, params)
req.send_request(options)
end
+ # 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][1], 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).
+ #
+ #
+ #
+ # [1]: https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetMatches.html
+ #
+ # @option params [required, String] :domain_name
+ # The unique name of the domain.
+ #
+ # @option params [required, String] :main_profile_id
+ # The identifier of the profile to be taken.
+ #
+ # @option params [required, Array<String>] :profile_ids_to_be_merged
+ # The identifier of the profile to be merged into MainProfileId.
+ #
+ # @option params [Types::FieldSourceProfileIds] :field_source_profile_ids
+ # 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.
+ #
+ # @return [Types::MergeProfilesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
+ #
+ # * {Types::MergeProfilesResponse#message #message} => String
+ #
+ # @example Request syntax with placeholder values
+ #
+ # resp = client.merge_profiles({
+ # domain_name: "name", # required
+ # main_profile_id: "uuid", # required
+ # profile_ids_to_be_merged: ["uuid"], # required
+ # field_source_profile_ids: {
+ # account_number: "uuid",
+ # additional_information: "uuid",
+ # party_type: "uuid",
+ # business_name: "uuid",
+ # first_name: "uuid",
+ # middle_name: "uuid",
+ # last_name: "uuid",
+ # birth_date: "uuid",
+ # gender: "uuid",
+ # phone_number: "uuid",
+ # mobile_phone_number: "uuid",
+ # home_phone_number: "uuid",
+ # business_phone_number: "uuid",
+ # email_address: "uuid",
+ # personal_email_address: "uuid",
+ # business_email_address: "uuid",
+ # address: "uuid",
+ # shipping_address: "uuid",
+ # mailing_address: "uuid",
+ # billing_address: "uuid",
+ # attributes: {
+ # "string1To255" => "uuid",
+ # },
+ # },
+ # })
+ #
+ # @example Response structure
+ #
+ # resp.message #=> String
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/MergeProfiles AWS API Documentation
+ #
+ # @overload merge_profiles(params = {})
+ # @param [Hash] params ({})
+ def merge_profiles(params = {}, options = {})
+ req = build_request(:merge_profiles, params)
+ req.send_request(options)
+ end
+
# 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.
#
@@ -1787,14 +1985,14 @@
end
# Updates the properties of a domain, including creating or selecting a
# dead letter queue or an encryption key.
#
- # Once a domain is created, the name can’t be changed.
+ # After a domain is created, the name can’t be changed.
#
# @option params [required, String] :domain_name
- # The unique name for the domain.
+ # The unique name of the domain.
#
# @option params [Integer] :default_expiration_days
# The default number of days until the data within the domain expires.
#
# @option params [String] :default_encryption_key
@@ -1809,19 +2007,24 @@
# 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.
#
+ # @option params [Types::MatchingRequest] :matching
+ # The process of matching duplicate profiles. This process runs every
+ # Saturday at 12AM.
+ #
# @option params [Hash<String,String>] :tags
# The tags used to organize, track, or control access for this resource.
#
# @return [Types::UpdateDomainResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::UpdateDomainResponse#domain_name #domain_name} => String
# * {Types::UpdateDomainResponse#default_expiration_days #default_expiration_days} => Integer
# * {Types::UpdateDomainResponse#default_encryption_key #default_encryption_key} => String
# * {Types::UpdateDomainResponse#dead_letter_queue_url #dead_letter_queue_url} => String
+ # * {Types::UpdateDomainResponse#matching #matching} => Types::MatchingResponse
# * {Types::UpdateDomainResponse#created_at #created_at} => Time
# * {Types::UpdateDomainResponse#last_updated_at #last_updated_at} => Time
# * {Types::UpdateDomainResponse#tags #tags} => Hash<String,String>
#
# @example Request syntax with placeholder values
@@ -1829,10 +2032,13 @@
# resp = client.update_domain({
# domain_name: "name", # required
# default_expiration_days: 1,
# default_encryption_key: "encryptionKey",
# dead_letter_queue_url: "sqsQueueUrl",
+ # matching: {
+ # enabled: false, # required
+ # },
# tags: {
# "TagKey" => "TagValue",
# },
# })
#
@@ -1840,10 +2046,11 @@
#
# resp.domain_name #=> String
# resp.default_expiration_days #=> Integer
# resp.default_encryption_key #=> String
# resp.dead_letter_queue_url #=> String
+ # resp.matching.enabled #=> Boolean
# resp.created_at #=> Time
# resp.last_updated_at #=> Time
# resp.tags #=> Hash
# resp.tags["TagKey"] #=> String
#
@@ -1868,11 +2075,11 @@
#
# @option params [required, String] :profile_id
# The unique identifier of a customer profile.
#
# @option params [String] :additional_information
- # Any additional information relevant to the customer's profile.
+ # Any additional information relevant to the customer’s profile.
#
# @option params [String] :account_number
# A unique account number that you have given to the customer.
#
# @option params [String] :party_type
@@ -1895,12 +2102,12 @@
#
# @option params [String] :gender
# The gender with which the customer identifies.
#
# @option params [String] :phone_number
- # The customer's phone number, which has not been specified as a
- # mobile, home, or business number.
+ # The customer’s phone number, which has not been specified as a mobile,
+ # home, or business number.
#
# @option params [String] :mobile_phone_number
# The customer’s mobile phone number.
#
# @option params [String] :home_phone_number
@@ -1908,11 +2115,11 @@
#
# @option params [String] :business_phone_number
# The customer’s business phone number.
#
# @option params [String] :email_address
- # The customer's email address, which has not been specified as a
+ # The customer’s email address, which has not been specified as a
# personal or business address.
#
# @option params [String] :personal_email_address
# The customer’s personal email address.
#
@@ -2037,10 +2244,10 @@
operation: config.api.operation(operation_name),
client: self,
params: params,
config: config)
context[:gem_name] = 'aws-sdk-customerprofiles'
- context[:gem_version] = '1.6.0'
+ context[:gem_version] = '1.7.0'
Seahorse::Client::Request.new(handlers, context)
end
# @api private
# @deprecated