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&lt;String,String&gt; # # @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&lt;String,String&gt; # # @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&lt;Types::MatchItem&gt; + # + # @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&lt;String,String&gt; # # @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