lib/aws-sdk-customerprofiles/client.rb in aws-sdk-customerprofiles-1.34.0 vs lib/aws-sdk-customerprofiles/client.rb in aws-sdk-customerprofiles-1.35.0

- old
+ new

@@ -605,20 +605,30 @@ # # # # [1]: https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetMatches.html # + # @option params [Types::RuleBasedMatchingRequest] :rule_based_matching + # The process of matching duplicate profiles using the Rule-Based + # matching. If `RuleBasedMatching` = true, Amazon Connect Customer + # Profiles will start to match and merge your profiles according to your + # configuration in the `RuleBasedMatchingRequest`. You can use the + # `ListRuleBasedMatches` and `GetSimilarProfiles` API to return and + # review the results. Also, if you have configured `ExportingConfig` in + # the `RuleBasedMatchingRequest`, you can download the results from S3. + # # @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#rule_based_matching #rule_based_matching} => Types::RuleBasedMatchingResponse # * {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 @@ -652,10 +662,36 @@ # s3_bucket_name: "s3BucketName", # required # s3_key_name: "s3KeyNameCustomerOutputConfig", # }, # }, # }, + # rule_based_matching: { + # enabled: false, # required + # matching_rules: [ + # { + # rule: ["string1To255"], # required + # }, + # ], + # max_allowed_rule_level_for_merging: 1, + # max_allowed_rule_level_for_matching: 1, + # attribute_types_selector: { + # attribute_matching_model: "ONE_TO_ONE", # required, accepts ONE_TO_ONE, MANY_TO_MANY + # address: ["string1To255"], + # phone_number: ["string1To255"], + # email_address: ["string1To255"], + # }, + # conflict_resolution: { + # conflict_resolving_model: "RECENCY", # required, accepts RECENCY, SOURCE + # source_name: "string1To255", + # }, + # exporting_config: { + # s3_exporting: { + # s3_bucket_name: "s3BucketName", # required + # s3_key_name: "s3KeyNameCustomerOutputConfig", + # }, + # }, + # }, # tags: { # "TagKey" => "TagValue", # }, # }) # @@ -675,10 +711,28 @@ # resp.matching.auto_merging.conflict_resolution.conflict_resolving_model #=> String, one of "RECENCY", "SOURCE" # resp.matching.auto_merging.conflict_resolution.source_name #=> String # resp.matching.auto_merging.min_allowed_confidence_score_for_merging #=> Float # resp.matching.exporting_config.s3_exporting.s3_bucket_name #=> String # resp.matching.exporting_config.s3_exporting.s3_key_name #=> String + # resp.rule_based_matching.enabled #=> Boolean + # resp.rule_based_matching.matching_rules #=> Array + # resp.rule_based_matching.matching_rules[0].rule #=> Array + # resp.rule_based_matching.matching_rules[0].rule[0] #=> String + # resp.rule_based_matching.status #=> String, one of "PENDING", "IN_PROGRESS", "ACTIVE" + # resp.rule_based_matching.max_allowed_rule_level_for_merging #=> Integer + # resp.rule_based_matching.max_allowed_rule_level_for_matching #=> Integer + # resp.rule_based_matching.attribute_types_selector.attribute_matching_model #=> String, one of "ONE_TO_ONE", "MANY_TO_MANY" + # resp.rule_based_matching.attribute_types_selector.address #=> Array + # resp.rule_based_matching.attribute_types_selector.address[0] #=> String + # resp.rule_based_matching.attribute_types_selector.phone_number #=> Array + # resp.rule_based_matching.attribute_types_selector.phone_number[0] #=> String + # resp.rule_based_matching.attribute_types_selector.email_address #=> Array + # resp.rule_based_matching.attribute_types_selector.email_address[0] #=> String + # resp.rule_based_matching.conflict_resolution.conflict_resolving_model #=> String, one of "RECENCY", "SOURCE" + # resp.rule_based_matching.conflict_resolution.source_name #=> String + # resp.rule_based_matching.exporting_config.s3_exporting.s3_bucket_name #=> String + # resp.rule_based_matching.exporting_config.s3_exporting.s3_key_name #=> String # resp.created_at #=> Time # resp.last_updated_at #=> Time # resp.tags #=> Hash # resp.tags["TagKey"] #=> String # @@ -1518,10 +1572,11 @@ # * {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#rule_based_matching #rule_based_matching} => Types::RuleBasedMatchingResponse # * {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 @@ -1550,10 +1605,28 @@ # resp.matching.auto_merging.conflict_resolution.conflict_resolving_model #=> String, one of "RECENCY", "SOURCE" # resp.matching.auto_merging.conflict_resolution.source_name #=> String # resp.matching.auto_merging.min_allowed_confidence_score_for_merging #=> Float # resp.matching.exporting_config.s3_exporting.s3_bucket_name #=> String # resp.matching.exporting_config.s3_exporting.s3_key_name #=> String + # resp.rule_based_matching.enabled #=> Boolean + # resp.rule_based_matching.matching_rules #=> Array + # resp.rule_based_matching.matching_rules[0].rule #=> Array + # resp.rule_based_matching.matching_rules[0].rule[0] #=> String + # resp.rule_based_matching.status #=> String, one of "PENDING", "IN_PROGRESS", "ACTIVE" + # resp.rule_based_matching.max_allowed_rule_level_for_merging #=> Integer + # resp.rule_based_matching.max_allowed_rule_level_for_matching #=> Integer + # resp.rule_based_matching.attribute_types_selector.attribute_matching_model #=> String, one of "ONE_TO_ONE", "MANY_TO_MANY" + # resp.rule_based_matching.attribute_types_selector.address #=> Array + # resp.rule_based_matching.attribute_types_selector.address[0] #=> String + # resp.rule_based_matching.attribute_types_selector.phone_number #=> Array + # resp.rule_based_matching.attribute_types_selector.phone_number[0] #=> String + # resp.rule_based_matching.attribute_types_selector.email_address #=> Array + # resp.rule_based_matching.attribute_types_selector.email_address[0] #=> String + # resp.rule_based_matching.conflict_resolution.conflict_resolving_model #=> String, one of "RECENCY", "SOURCE" + # resp.rule_based_matching.conflict_resolution.source_name #=> String + # resp.rule_based_matching.exporting_config.s3_exporting.s3_bucket_name #=> String + # resp.rule_based_matching.exporting_config.s3_exporting.s3_key_name #=> String # resp.created_at #=> Time # resp.last_updated_at #=> Time # resp.tags #=> Hash # resp.tags["TagKey"] #=> String # @@ -1945,10 +2018,72 @@ def get_profile_object_type_template(params = {}, options = {}) req = build_request(:get_profile_object_type_template, params) req.send_request(options) end + # 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`. + # + # @option params [String] :next_token + # The pagination token from the previous `GetSimilarProfiles` API call. + # + # @option params [Integer] :max_results + # The maximum number of objects returned per page. + # + # @option params [required, String] :domain_name + # The unique name of the domain. + # + # @option params [required, String] :match_type + # Specify the type of matching to get similar profiles for. + # + # @option params [required, String] :search_key + # The string indicating the search key to be used. + # + # @option params [required, String] :search_value + # The string based on `SearchKey` to be searched for similar profiles. + # + # @return [Types::GetSimilarProfilesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: + # + # * {Types::GetSimilarProfilesResponse#profile_ids #profile_ids} => Array&lt;String&gt; + # * {Types::GetSimilarProfilesResponse#match_id #match_id} => String + # * {Types::GetSimilarProfilesResponse#match_type #match_type} => String + # * {Types::GetSimilarProfilesResponse#rule_level #rule_level} => Integer + # * {Types::GetSimilarProfilesResponse#confidence_score #confidence_score} => Float + # * {Types::GetSimilarProfilesResponse#next_token #next_token} => String + # + # @example Request syntax with placeholder values + # + # resp = client.get_similar_profiles({ + # next_token: "token", + # max_results: 1, + # domain_name: "name", # required + # match_type: "RULE_BASED_MATCHING", # required, accepts RULE_BASED_MATCHING, ML_BASED_MATCHING + # search_key: "string1To255", # required + # search_value: "string1To255", # required + # }) + # + # @example Response structure + # + # resp.profile_ids #=> Array + # resp.profile_ids[0] #=> String + # resp.match_id #=> String + # resp.match_type #=> String, one of "RULE_BASED_MATCHING", "ML_BASED_MATCHING" + # resp.rule_level #=> Integer + # resp.confidence_score #=> Float + # resp.next_token #=> String + # + # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/GetSimilarProfiles AWS API Documentation + # + # @overload get_similar_profiles(params = {}) + # @param [Hash] params ({}) + def get_similar_profiles(params = {}, options = {}) + req = build_request(:get_similar_profiles, params) + req.send_request(options) + end + # Get details of specified workflow. # # @option params [required, String] :domain_name # The unique name of the domain. # @@ -2537,10 +2672,50 @@ def list_profile_objects(params = {}, options = {}) req = build_request(:list_profile_objects, params) req.send_request(options) end + # Returns a set of `MatchIds` that belong to the given domain. + # + # @option params [String] :next_token + # The pagination token from the previous `ListRuleBasedMatches` API + # call. + # + # @option params [Integer] :max_results + # The maximum number of `MatchIds` returned per page. + # + # @option params [required, String] :domain_name + # The unique name of the domain. + # + # @return [Types::ListRuleBasedMatchesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: + # + # * {Types::ListRuleBasedMatchesResponse#match_ids #match_ids} => Array&lt;String&gt; + # * {Types::ListRuleBasedMatchesResponse#next_token #next_token} => String + # + # @example Request syntax with placeholder values + # + # resp = client.list_rule_based_matches({ + # next_token: "token", + # max_results: 1, + # domain_name: "name", # required + # }) + # + # @example Response structure + # + # resp.match_ids #=> Array + # resp.match_ids[0] #=> String + # resp.next_token #=> String + # + # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/ListRuleBasedMatches AWS API Documentation + # + # @overload list_rule_based_matches(params = {}) + # @param [Hash] params ({}) + def list_rule_based_matches(params = {}, options = {}) + req = build_request(:list_rule_based_matches, params) + req.send_request(options) + end + # Displays the tags associated with an Amazon Connect Customer Profiles # resource. In Connect Customer Profiles, domains, profile object types, # and integrations can be tagged. # # @option params [required, String] :resource_arn @@ -3438,20 +3613,30 @@ # # # # [1]: https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetMatches.html # + # @option params [Types::RuleBasedMatchingRequest] :rule_based_matching + # The process of matching duplicate profiles using the rule-Based + # matching. If `RuleBasedMatching` = true, Amazon Connect Customer + # Profiles will start to match and merge your profiles according to your + # configuration in the `RuleBasedMatchingRequest`. You can use the + # `ListRuleBasedMatches` and `GetSimilarProfiles` API to return and + # review the results. Also, if you have configured `ExportingConfig` in + # the `RuleBasedMatchingRequest`, you can download the results from S3. + # # @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#rule_based_matching #rule_based_matching} => Types::RuleBasedMatchingResponse # * {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 @@ -3485,10 +3670,36 @@ # s3_bucket_name: "s3BucketName", # required # s3_key_name: "s3KeyNameCustomerOutputConfig", # }, # }, # }, + # rule_based_matching: { + # enabled: false, # required + # matching_rules: [ + # { + # rule: ["string1To255"], # required + # }, + # ], + # max_allowed_rule_level_for_merging: 1, + # max_allowed_rule_level_for_matching: 1, + # attribute_types_selector: { + # attribute_matching_model: "ONE_TO_ONE", # required, accepts ONE_TO_ONE, MANY_TO_MANY + # address: ["string1To255"], + # phone_number: ["string1To255"], + # email_address: ["string1To255"], + # }, + # conflict_resolution: { + # conflict_resolving_model: "RECENCY", # required, accepts RECENCY, SOURCE + # source_name: "string1To255", + # }, + # exporting_config: { + # s3_exporting: { + # s3_bucket_name: "s3BucketName", # required + # s3_key_name: "s3KeyNameCustomerOutputConfig", + # }, + # }, + # }, # tags: { # "TagKey" => "TagValue", # }, # }) # @@ -3508,10 +3719,28 @@ # resp.matching.auto_merging.conflict_resolution.conflict_resolving_model #=> String, one of "RECENCY", "SOURCE" # resp.matching.auto_merging.conflict_resolution.source_name #=> String # resp.matching.auto_merging.min_allowed_confidence_score_for_merging #=> Float # resp.matching.exporting_config.s3_exporting.s3_bucket_name #=> String # resp.matching.exporting_config.s3_exporting.s3_key_name #=> String + # resp.rule_based_matching.enabled #=> Boolean + # resp.rule_based_matching.matching_rules #=> Array + # resp.rule_based_matching.matching_rules[0].rule #=> Array + # resp.rule_based_matching.matching_rules[0].rule[0] #=> String + # resp.rule_based_matching.status #=> String, one of "PENDING", "IN_PROGRESS", "ACTIVE" + # resp.rule_based_matching.max_allowed_rule_level_for_merging #=> Integer + # resp.rule_based_matching.max_allowed_rule_level_for_matching #=> Integer + # resp.rule_based_matching.attribute_types_selector.attribute_matching_model #=> String, one of "ONE_TO_ONE", "MANY_TO_MANY" + # resp.rule_based_matching.attribute_types_selector.address #=> Array + # resp.rule_based_matching.attribute_types_selector.address[0] #=> String + # resp.rule_based_matching.attribute_types_selector.phone_number #=> Array + # resp.rule_based_matching.attribute_types_selector.phone_number[0] #=> String + # resp.rule_based_matching.attribute_types_selector.email_address #=> Array + # resp.rule_based_matching.attribute_types_selector.email_address[0] #=> String + # resp.rule_based_matching.conflict_resolution.conflict_resolving_model #=> String, one of "RECENCY", "SOURCE" + # resp.rule_based_matching.conflict_resolution.source_name #=> String + # resp.rule_based_matching.exporting_config.s3_exporting.s3_bucket_name #=> String + # resp.rule_based_matching.exporting_config.s3_exporting.s3_key_name #=> String # resp.created_at #=> Time # resp.last_updated_at #=> Time # resp.tags #=> Hash # resp.tags["TagKey"] #=> String # @@ -3713,10 +3942,10 @@ operation: config.api.operation(operation_name), client: self, params: params, config: config) context[:gem_name] = 'aws-sdk-customerprofiles' - context[:gem_version] = '1.34.0' + context[:gem_version] = '1.35.0' Seahorse::Client::Request.new(handlers, context) end # @api private # @deprecated