aws-sdk-customerprofiles 1.12.0 → 1.16.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -119,7 +119,9 @@ module Aws::CustomerProfiles
119
119
  # * EC2/ECS IMDS instance profile - When used by default, the timeouts
120
120
  # are very aggressive. Construct and pass an instance of
121
121
  # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
122
- # enable retries and extended timeouts.
122
+ # enable retries and extended timeouts. Instance profile credential
123
+ # fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
124
+ # to true.
123
125
  #
124
126
  # @option options [required, String] :region
125
127
  # The AWS region to connect to. The configured `:region` is
@@ -275,6 +277,15 @@ module Aws::CustomerProfiles
275
277
  # ** Please note ** When response stubbing is enabled, no HTTP
276
278
  # requests are made, and retries are disabled.
277
279
  #
280
+ # @option options [Boolean] :use_dualstack_endpoint
281
+ # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
282
+ # will be used if available.
283
+ #
284
+ # @option options [Boolean] :use_fips_endpoint
285
+ # When set to `true`, fips compatible endpoints will be used if available.
286
+ # When a `fips` region is used, the region is normalized and this config
287
+ # is set to `true`.
288
+ #
278
289
  # @option options [Boolean] :validate_params (true)
279
290
  # When `true`, request parameters are validated before
280
291
  # sending the request.
@@ -386,10 +397,15 @@ module Aws::CustomerProfiles
386
397
  # Use this API or [UpdateDomain][1] to enable [identity resolution][2]\:
387
398
  # set `Matching` to true.
388
399
  #
400
+ # To prevent cross-service impersonation when you call this API, see
401
+ # [Cross-service confused deputy prevention][3] for sample policies that
402
+ # you should apply.
403
+ #
389
404
  #
390
405
  #
391
406
  # [1]: https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_UpdateDomain.html
392
407
  # [2]: https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetMatches.html
408
+ # [3]: https://docs.aws.amazon.com/connect/latest/adminguide/cross-service-confused-deputy-prevention.html
393
409
  #
394
410
  # @option params [required, String] :domain_name
395
411
  # The unique name of the domain.
@@ -410,11 +426,16 @@ module Aws::CustomerProfiles
410
426
  # to the DeadLetterQueue.
411
427
  #
412
428
  # @option params [Types::MatchingRequest] :matching
413
- # The process of matching duplicate profiles. If Matching = true, Amazon
414
- # Connect Customer Profiles starts a weekly batch process every Saturday
415
- # at 12AM UTC to detect duplicate profiles in your domains. After that
416
- # batch process completes, use the [GetMatches][1] API to return and
417
- # review the results.
429
+ # The process of matching duplicate profiles. If `Matching` = `true`,
430
+ # Amazon Connect Customer Profiles starts a weekly batch process called
431
+ # Identity Resolution Job. If you do not specify a date and time for
432
+ # Identity Resolution Job to run, by default it runs every Saturday at
433
+ # 12AM UTC to detect duplicate profiles in your domains.
434
+ #
435
+ # After the Identity Resolution Job completes, use the [GetMatches][1]
436
+ # API to return and review the results. Or, if you have configured
437
+ # `ExportingConfig` in the `MatchingRequest`, you can download the
438
+ # results from S3.
418
439
  #
419
440
  #
420
441
  #
@@ -443,6 +464,28 @@ module Aws::CustomerProfiles
443
464
  # dead_letter_queue_url: "sqsQueueUrl",
444
465
  # matching: {
445
466
  # enabled: false, # required
467
+ # job_schedule: {
468
+ # day_of_the_week: "SUNDAY", # required, accepts SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY
469
+ # time: "JobScheduleTime", # required
470
+ # },
471
+ # auto_merging: {
472
+ # enabled: false, # required
473
+ # consolidation: {
474
+ # matching_attributes_list: [ # required
475
+ # ["string1To255"],
476
+ # ],
477
+ # },
478
+ # conflict_resolution: {
479
+ # conflict_resolving_model: "RECENCY", # required, accepts RECENCY, SOURCE
480
+ # source_name: "string1To255",
481
+ # },
482
+ # },
483
+ # exporting_config: {
484
+ # s3_exporting: {
485
+ # s3_bucket_name: "s3BucketName", # required
486
+ # s3_key_name: "s3KeyNameCustomerOutputConfig",
487
+ # },
488
+ # },
446
489
  # },
447
490
  # tags: {
448
491
  # "TagKey" => "TagValue",
@@ -456,6 +499,16 @@ module Aws::CustomerProfiles
456
499
  # resp.default_encryption_key #=> String
457
500
  # resp.dead_letter_queue_url #=> String
458
501
  # resp.matching.enabled #=> Boolean
502
+ # resp.matching.job_schedule.day_of_the_week #=> String, one of "SUNDAY", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY"
503
+ # resp.matching.job_schedule.time #=> String
504
+ # resp.matching.auto_merging.enabled #=> Boolean
505
+ # resp.matching.auto_merging.consolidation.matching_attributes_list #=> Array
506
+ # resp.matching.auto_merging.consolidation.matching_attributes_list[0] #=> Array
507
+ # resp.matching.auto_merging.consolidation.matching_attributes_list[0][0] #=> String
508
+ # resp.matching.auto_merging.conflict_resolution.conflict_resolving_model #=> String, one of "RECENCY", "SOURCE"
509
+ # resp.matching.auto_merging.conflict_resolution.source_name #=> String
510
+ # resp.matching.exporting_config.s3_exporting.s3_bucket_name #=> String
511
+ # resp.matching.exporting_config.s3_exporting.s3_key_name #=> String
459
512
  # resp.created_at #=> Time
460
513
  # resp.last_updated_at #=> Time
461
514
  # resp.tags #=> Hash
@@ -845,6 +898,71 @@ module Aws::CustomerProfiles
845
898
  req.send_request(options)
846
899
  end
847
900
 
901
+ # Tests the auto-merging settings of your Identity Resolution Job
902
+ # without merging your data. It randomly selects a sample of matching
903
+ # groups from the existing matching results, and applies the automerging
904
+ # settings that you provided. You can then view the number of profiles
905
+ # in the sample, the number of matches, and the number of profiles
906
+ # identified to be merged. This enables you to evaluate the accuracy of
907
+ # the attributes in your matching list.
908
+ #
909
+ # You can't view which profiles are matched and would be merged.
910
+ #
911
+ # We strongly recommend you use this API to do a dry run of the
912
+ # automerging process before running the Identity Resolution Job.
913
+ # Include **at least** two matching attributes. If your matching list
914
+ # includes too few attributes (such as only `FirstName` or only
915
+ # `LastName`), there may be a large number of matches. This increases
916
+ # the chances of erroneous merges.
917
+ #
918
+ # @option params [required, String] :domain_name
919
+ # The unique name of the domain.
920
+ #
921
+ # @option params [required, Types::Consolidation] :consolidation
922
+ # A list of matching attributes that represent matching criteria.
923
+ #
924
+ # @option params [required, Types::ConflictResolution] :conflict_resolution
925
+ # How the auto-merging process should resolve conflicts between
926
+ # different profiles.
927
+ #
928
+ # @return [Types::GetAutoMergingPreviewResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
929
+ #
930
+ # * {Types::GetAutoMergingPreviewResponse#domain_name #domain_name} => String
931
+ # * {Types::GetAutoMergingPreviewResponse#number_of_matches_in_sample #number_of_matches_in_sample} => Integer
932
+ # * {Types::GetAutoMergingPreviewResponse#number_of_profiles_in_sample #number_of_profiles_in_sample} => Integer
933
+ # * {Types::GetAutoMergingPreviewResponse#number_of_profiles_will_be_merged #number_of_profiles_will_be_merged} => Integer
934
+ #
935
+ # @example Request syntax with placeholder values
936
+ #
937
+ # resp = client.get_auto_merging_preview({
938
+ # domain_name: "name", # required
939
+ # consolidation: { # required
940
+ # matching_attributes_list: [ # required
941
+ # ["string1To255"],
942
+ # ],
943
+ # },
944
+ # conflict_resolution: { # required
945
+ # conflict_resolving_model: "RECENCY", # required, accepts RECENCY, SOURCE
946
+ # source_name: "string1To255",
947
+ # },
948
+ # })
949
+ #
950
+ # @example Response structure
951
+ #
952
+ # resp.domain_name #=> String
953
+ # resp.number_of_matches_in_sample #=> Integer
954
+ # resp.number_of_profiles_in_sample #=> Integer
955
+ # resp.number_of_profiles_will_be_merged #=> Integer
956
+ #
957
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/GetAutoMergingPreview AWS API Documentation
958
+ #
959
+ # @overload get_auto_merging_preview(params = {})
960
+ # @param [Hash] params ({})
961
+ def get_auto_merging_preview(params = {}, options = {})
962
+ req = build_request(:get_auto_merging_preview, params)
963
+ req.send_request(options)
964
+ end
965
+
848
966
  # Returns information about a specific domain.
849
967
  #
850
968
  # @option params [required, String] :domain_name
@@ -879,6 +997,16 @@ module Aws::CustomerProfiles
879
997
  # resp.stats.object_count #=> Integer
880
998
  # resp.stats.total_size #=> Integer
881
999
  # resp.matching.enabled #=> Boolean
1000
+ # resp.matching.job_schedule.day_of_the_week #=> String, one of "SUNDAY", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY"
1001
+ # resp.matching.job_schedule.time #=> String
1002
+ # resp.matching.auto_merging.enabled #=> Boolean
1003
+ # resp.matching.auto_merging.consolidation.matching_attributes_list #=> Array
1004
+ # resp.matching.auto_merging.consolidation.matching_attributes_list[0] #=> Array
1005
+ # resp.matching.auto_merging.consolidation.matching_attributes_list[0][0] #=> String
1006
+ # resp.matching.auto_merging.conflict_resolution.conflict_resolving_model #=> String, one of "RECENCY", "SOURCE"
1007
+ # resp.matching.auto_merging.conflict_resolution.source_name #=> String
1008
+ # resp.matching.exporting_config.s3_exporting.s3_bucket_name #=> String
1009
+ # resp.matching.exporting_config.s3_exporting.s3_key_name #=> String
882
1010
  # resp.created_at #=> Time
883
1011
  # resp.last_updated_at #=> Time
884
1012
  # resp.tags #=> Hash
@@ -893,6 +1021,75 @@ module Aws::CustomerProfiles
893
1021
  req.send_request(options)
894
1022
  end
895
1023
 
1024
+ # Returns information about an Identity Resolution Job in a specific
1025
+ # domain.
1026
+ #
1027
+ # Identity Resolution Jobs are set up using the Amazon Connect admin
1028
+ # console. For more information, see [Use Identity Resolution to
1029
+ # consolidate similar profiles][1].
1030
+ #
1031
+ #
1032
+ #
1033
+ # [1]: https://docs.aws.amazon.com/connect/latest/adminguide/use-identity-resolution.html
1034
+ #
1035
+ # @option params [required, String] :domain_name
1036
+ # The unique name of the domain.
1037
+ #
1038
+ # @option params [required, String] :job_id
1039
+ # The unique identifier of the Identity Resolution Job.
1040
+ #
1041
+ # @return [Types::GetIdentityResolutionJobResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1042
+ #
1043
+ # * {Types::GetIdentityResolutionJobResponse#domain_name #domain_name} => String
1044
+ # * {Types::GetIdentityResolutionJobResponse#job_id #job_id} => String
1045
+ # * {Types::GetIdentityResolutionJobResponse#status #status} => String
1046
+ # * {Types::GetIdentityResolutionJobResponse#message #message} => String
1047
+ # * {Types::GetIdentityResolutionJobResponse#job_start_time #job_start_time} => Time
1048
+ # * {Types::GetIdentityResolutionJobResponse#job_end_time #job_end_time} => Time
1049
+ # * {Types::GetIdentityResolutionJobResponse#last_updated_at #last_updated_at} => Time
1050
+ # * {Types::GetIdentityResolutionJobResponse#job_expiration_time #job_expiration_time} => Time
1051
+ # * {Types::GetIdentityResolutionJobResponse#auto_merging #auto_merging} => Types::AutoMerging
1052
+ # * {Types::GetIdentityResolutionJobResponse#exporting_location #exporting_location} => Types::ExportingLocation
1053
+ # * {Types::GetIdentityResolutionJobResponse#job_stats #job_stats} => Types::JobStats
1054
+ #
1055
+ # @example Request syntax with placeholder values
1056
+ #
1057
+ # resp = client.get_identity_resolution_job({
1058
+ # domain_name: "name", # required
1059
+ # job_id: "uuid", # required
1060
+ # })
1061
+ #
1062
+ # @example Response structure
1063
+ #
1064
+ # resp.domain_name #=> String
1065
+ # resp.job_id #=> String
1066
+ # resp.status #=> String, one of "PENDING", "PREPROCESSING", "FIND_MATCHING", "MERGING", "COMPLETED", "PARTIAL_SUCCESS", "FAILED"
1067
+ # resp.message #=> String
1068
+ # resp.job_start_time #=> Time
1069
+ # resp.job_end_time #=> Time
1070
+ # resp.last_updated_at #=> Time
1071
+ # resp.job_expiration_time #=> Time
1072
+ # resp.auto_merging.enabled #=> Boolean
1073
+ # resp.auto_merging.consolidation.matching_attributes_list #=> Array
1074
+ # resp.auto_merging.consolidation.matching_attributes_list[0] #=> Array
1075
+ # resp.auto_merging.consolidation.matching_attributes_list[0][0] #=> String
1076
+ # resp.auto_merging.conflict_resolution.conflict_resolving_model #=> String, one of "RECENCY", "SOURCE"
1077
+ # resp.auto_merging.conflict_resolution.source_name #=> String
1078
+ # resp.exporting_location.s3_exporting.s3_bucket_name #=> String
1079
+ # resp.exporting_location.s3_exporting.s3_key_name #=> String
1080
+ # resp.job_stats.number_of_profiles_reviewed #=> Integer
1081
+ # resp.job_stats.number_of_matches_found #=> Integer
1082
+ # resp.job_stats.number_of_merges_done #=> Integer
1083
+ #
1084
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/GetIdentityResolutionJob AWS API Documentation
1085
+ #
1086
+ # @overload get_identity_resolution_job(params = {})
1087
+ # @param [Hash] params ({})
1088
+ def get_identity_resolution_job(params = {}, options = {})
1089
+ req = build_request(:get_identity_resolution_job, params)
1090
+ req.send_request(options)
1091
+ end
1092
+
896
1093
  # Returns an integration for a domain.
897
1094
  #
898
1095
  # @option params [required, String] :domain_name
@@ -909,6 +1106,7 @@ module Aws::CustomerProfiles
909
1106
  # * {Types::GetIntegrationResponse#created_at #created_at} => Time
910
1107
  # * {Types::GetIntegrationResponse#last_updated_at #last_updated_at} => Time
911
1108
  # * {Types::GetIntegrationResponse#tags #tags} => Hash<String,String>
1109
+ # * {Types::GetIntegrationResponse#object_type_names #object_type_names} => Hash<String,String>
912
1110
  #
913
1111
  # @example Request syntax with placeholder values
914
1112
  #
@@ -926,6 +1124,8 @@ module Aws::CustomerProfiles
926
1124
  # resp.last_updated_at #=> Time
927
1125
  # resp.tags #=> Hash
928
1126
  # resp.tags["TagKey"] #=> String
1127
+ # resp.object_type_names #=> Hash
1128
+ # resp.object_type_names["string1To255"] #=> String
929
1129
  #
930
1130
  # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/GetIntegration AWS API Documentation
931
1131
  #
@@ -936,18 +1136,22 @@ module Aws::CustomerProfiles
936
1136
  req.send_request(options)
937
1137
  end
938
1138
 
939
- # This API is in preview release for Amazon Connect and subject to
940
- # change.
941
- #
942
1139
  # Before calling this API, use [CreateDomain][1] or [UpdateDomain][2] to
943
1140
  # enable identity resolution: set `Matching` to true.
944
1141
  #
945
1142
  # GetMatches returns potentially matching profiles, based on the results
946
1143
  # of the latest run of a machine learning process.
947
1144
  #
948
- # Amazon Connect starts a batch process every Saturday at 12AM UTC to
949
- # identify matching profiles. The results are returned up to seven days
950
- # after the Saturday run.
1145
+ # The process of matching duplicate profiles. If `Matching` = `true`,
1146
+ # Amazon Connect Customer Profiles starts a weekly batch process called
1147
+ # Identity Resolution Job. If you do not specify a date and time for
1148
+ # Identity Resolution Job to run, by default it runs every Saturday at
1149
+ # 12AM UTC to detect duplicate profiles in your domains.
1150
+ #
1151
+ # After the Identity Resolution Job completes, use the [GetMatches][3]
1152
+ # API to return and review the results. Or, if you have configured
1153
+ # `ExportingConfig` in the `MatchingRequest`, you can download the
1154
+ # results from S3.
951
1155
  #
952
1156
  # Amazon Connect uses the following profile attributes to identify
953
1157
  # matches:
@@ -981,6 +1185,7 @@ module Aws::CustomerProfiles
981
1185
  #
982
1186
  # [1]: https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_CreateDomain.html
983
1187
  # [2]: https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_UpdateDomain.html
1188
+ # [3]: https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetMatches.html
984
1189
  #
985
1190
  # @option params [String] :next_token
986
1191
  # The token for the next set of results. Use the value returned in the
@@ -1017,6 +1222,7 @@ module Aws::CustomerProfiles
1017
1222
  # resp.matches[0].match_id #=> String
1018
1223
  # resp.matches[0].profile_ids #=> Array
1019
1224
  # resp.matches[0].profile_ids[0] #=> String
1225
+ # resp.matches[0].confidence_score #=> Float
1020
1226
  #
1021
1227
  # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/GetMatches AWS API Documentation
1022
1228
  #
@@ -1043,6 +1249,7 @@ module Aws::CustomerProfiles
1043
1249
  # * {Types::GetProfileObjectTypeResponse#expiration_days #expiration_days} => Integer
1044
1250
  # * {Types::GetProfileObjectTypeResponse#encryption_key #encryption_key} => String
1045
1251
  # * {Types::GetProfileObjectTypeResponse#allow_profile_creation #allow_profile_creation} => Boolean
1252
+ # * {Types::GetProfileObjectTypeResponse#source_last_updated_timestamp_format #source_last_updated_timestamp_format} => String
1046
1253
  # * {Types::GetProfileObjectTypeResponse#fields #fields} => Hash<String,Types::ObjectTypeField>
1047
1254
  # * {Types::GetProfileObjectTypeResponse#keys #keys} => Hash<String,Array<Types::ObjectTypeKey>>
1048
1255
  # * {Types::GetProfileObjectTypeResponse#created_at #created_at} => Time
@@ -1064,6 +1271,7 @@ module Aws::CustomerProfiles
1064
1271
  # resp.expiration_days #=> Integer
1065
1272
  # resp.encryption_key #=> String
1066
1273
  # resp.allow_profile_creation #=> Boolean
1274
+ # resp.source_last_updated_timestamp_format #=> String
1067
1275
  # resp.fields #=> Hash
1068
1276
  # resp.fields["name"].source #=> String
1069
1277
  # resp.fields["name"].target #=> String
@@ -1071,7 +1279,7 @@ module Aws::CustomerProfiles
1071
1279
  # resp.keys #=> Hash
1072
1280
  # resp.keys["name"] #=> Array
1073
1281
  # resp.keys["name"][0].standard_identifiers #=> Array
1074
- # resp.keys["name"][0].standard_identifiers[0] #=> String, one of "PROFILE", "ASSET", "CASE", "UNIQUE", "SECONDARY", "LOOKUP_ONLY", "NEW_ONLY"
1282
+ # resp.keys["name"][0].standard_identifiers[0] #=> String, one of "PROFILE", "ASSET", "CASE", "UNIQUE", "SECONDARY", "LOOKUP_ONLY", "NEW_ONLY", "ORDER"
1075
1283
  # resp.keys["name"][0].field_names #=> Array
1076
1284
  # resp.keys["name"][0].field_names[0] #=> String
1077
1285
  # resp.created_at #=> Time
@@ -1105,6 +1313,7 @@ module Aws::CustomerProfiles
1105
1313
  # * {Types::GetProfileObjectTypeTemplateResponse#source_name #source_name} => String
1106
1314
  # * {Types::GetProfileObjectTypeTemplateResponse#source_object #source_object} => String
1107
1315
  # * {Types::GetProfileObjectTypeTemplateResponse#allow_profile_creation #allow_profile_creation} => Boolean
1316
+ # * {Types::GetProfileObjectTypeTemplateResponse#source_last_updated_timestamp_format #source_last_updated_timestamp_format} => String
1108
1317
  # * {Types::GetProfileObjectTypeTemplateResponse#fields #fields} => Hash<String,Types::ObjectTypeField>
1109
1318
  # * {Types::GetProfileObjectTypeTemplateResponse#keys #keys} => Hash<String,Array<Types::ObjectTypeKey>>
1110
1319
  #
@@ -1120,6 +1329,7 @@ module Aws::CustomerProfiles
1120
1329
  # resp.source_name #=> String
1121
1330
  # resp.source_object #=> String
1122
1331
  # resp.allow_profile_creation #=> Boolean
1332
+ # resp.source_last_updated_timestamp_format #=> String
1123
1333
  # resp.fields #=> Hash
1124
1334
  # resp.fields["name"].source #=> String
1125
1335
  # resp.fields["name"].target #=> String
@@ -1127,7 +1337,7 @@ module Aws::CustomerProfiles
1127
1337
  # resp.keys #=> Hash
1128
1338
  # resp.keys["name"] #=> Array
1129
1339
  # resp.keys["name"][0].standard_identifiers #=> Array
1130
- # resp.keys["name"][0].standard_identifiers[0] #=> String, one of "PROFILE", "ASSET", "CASE", "UNIQUE", "SECONDARY", "LOOKUP_ONLY", "NEW_ONLY"
1340
+ # resp.keys["name"][0].standard_identifiers[0] #=> String, one of "PROFILE", "ASSET", "CASE", "UNIQUE", "SECONDARY", "LOOKUP_ONLY", "NEW_ONLY", "ORDER"
1131
1341
  # resp.keys["name"][0].field_names #=> Array
1132
1342
  # resp.keys["name"][0].field_names[0] #=> String
1133
1343
  #
@@ -1176,6 +1386,8 @@ module Aws::CustomerProfiles
1176
1386
  # resp.items[0].last_updated_at #=> Time
1177
1387
  # resp.items[0].tags #=> Hash
1178
1388
  # resp.items[0].tags["TagKey"] #=> String
1389
+ # resp.items[0].object_type_names #=> Hash
1390
+ # resp.items[0].object_type_names["string1To255"] #=> String
1179
1391
  # resp.next_token #=> String
1180
1392
  #
1181
1393
  # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/ListAccountIntegrations AWS API Documentation
@@ -1227,6 +1439,58 @@ module Aws::CustomerProfiles
1227
1439
  req.send_request(options)
1228
1440
  end
1229
1441
 
1442
+ # Lists all of the Identity Resolution Jobs in your domain. The response
1443
+ # sorts the list by `JobStartTime`.
1444
+ #
1445
+ # @option params [required, String] :domain_name
1446
+ # The unique name of the domain.
1447
+ #
1448
+ # @option params [String] :next_token
1449
+ # The token for the next set of results. Use the value returned in the
1450
+ # previous response in the next request to retrieve the next set of
1451
+ # results.
1452
+ #
1453
+ # @option params [Integer] :max_results
1454
+ # The maximum number of results to return per page.
1455
+ #
1456
+ # @return [Types::ListIdentityResolutionJobsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1457
+ #
1458
+ # * {Types::ListIdentityResolutionJobsResponse#identity_resolution_jobs_list #identity_resolution_jobs_list} => Array<Types::IdentityResolutionJob>
1459
+ # * {Types::ListIdentityResolutionJobsResponse#next_token #next_token} => String
1460
+ #
1461
+ # @example Request syntax with placeholder values
1462
+ #
1463
+ # resp = client.list_identity_resolution_jobs({
1464
+ # domain_name: "name", # required
1465
+ # next_token: "token",
1466
+ # max_results: 1,
1467
+ # })
1468
+ #
1469
+ # @example Response structure
1470
+ #
1471
+ # resp.identity_resolution_jobs_list #=> Array
1472
+ # resp.identity_resolution_jobs_list[0].domain_name #=> String
1473
+ # resp.identity_resolution_jobs_list[0].job_id #=> String
1474
+ # resp.identity_resolution_jobs_list[0].status #=> String, one of "PENDING", "PREPROCESSING", "FIND_MATCHING", "MERGING", "COMPLETED", "PARTIAL_SUCCESS", "FAILED"
1475
+ # resp.identity_resolution_jobs_list[0].job_start_time #=> Time
1476
+ # resp.identity_resolution_jobs_list[0].job_end_time #=> Time
1477
+ # resp.identity_resolution_jobs_list[0].job_stats.number_of_profiles_reviewed #=> Integer
1478
+ # resp.identity_resolution_jobs_list[0].job_stats.number_of_matches_found #=> Integer
1479
+ # resp.identity_resolution_jobs_list[0].job_stats.number_of_merges_done #=> Integer
1480
+ # resp.identity_resolution_jobs_list[0].exporting_location.s3_exporting.s3_bucket_name #=> String
1481
+ # resp.identity_resolution_jobs_list[0].exporting_location.s3_exporting.s3_key_name #=> String
1482
+ # resp.identity_resolution_jobs_list[0].message #=> String
1483
+ # resp.next_token #=> String
1484
+ #
1485
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/ListIdentityResolutionJobs AWS API Documentation
1486
+ #
1487
+ # @overload list_identity_resolution_jobs(params = {})
1488
+ # @param [Hash] params ({})
1489
+ def list_identity_resolution_jobs(params = {}, options = {})
1490
+ req = build_request(:list_identity_resolution_jobs, params)
1491
+ req.send_request(options)
1492
+ end
1493
+
1230
1494
  # Lists all of the integrations in your domain.
1231
1495
  #
1232
1496
  # @option params [required, String] :domain_name
@@ -1261,6 +1525,8 @@ module Aws::CustomerProfiles
1261
1525
  # resp.items[0].last_updated_at #=> Time
1262
1526
  # resp.items[0].tags #=> Hash
1263
1527
  # resp.items[0].tags["TagKey"] #=> String
1528
+ # resp.items[0].object_type_names #=> Hash
1529
+ # resp.items[0].object_type_names["string1To255"] #=> String
1264
1530
  # resp.next_token #=> String
1265
1531
  #
1266
1532
  # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/ListIntegrations AWS API Documentation
@@ -1375,7 +1641,7 @@ module Aws::CustomerProfiles
1375
1641
  # @option params [Types::ObjectFilter] :object_filter
1376
1642
  # Applies a filter to the response to include profile objects with the
1377
1643
  # specified index values. This filter is only supported for
1378
- # ObjectTypeName \_asset and \_case.
1644
+ # ObjectTypeName \_asset, \_case and \_order.
1379
1645
  #
1380
1646
  # @return [Types::ListProfileObjectsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1381
1647
  #
@@ -1444,9 +1710,6 @@ module Aws::CustomerProfiles
1444
1710
  req.send_request(options)
1445
1711
  end
1446
1712
 
1447
- # This API is in preview release for Amazon Connect and subject to
1448
- # change.
1449
- #
1450
1713
  # Runs an AWS Lambda job that does the following:
1451
1714
  #
1452
1715
  # 1. All the profileKeys in the `ProfileToBeMerged` will be moved to
@@ -1558,7 +1821,7 @@ module Aws::CustomerProfiles
1558
1821
  # @option params [String] :uri
1559
1822
  # The URI of the S3 bucket or any other type of data source.
1560
1823
  #
1561
- # @option params [required, String] :object_type_name
1824
+ # @option params [String] :object_type_name
1562
1825
  # The name of the profile object type.
1563
1826
  #
1564
1827
  # @option params [Hash<String,String>] :tags
@@ -1568,6 +1831,15 @@ module Aws::CustomerProfiles
1568
1831
  # The configuration that controls how Customer Profiles retrieves data
1569
1832
  # from the source.
1570
1833
  #
1834
+ # @option params [Hash<String,String>] :object_type_names
1835
+ # A map in which each key is an event type from an external application
1836
+ # such as Segment or Shopify, and each value is an `ObjectTypeName`
1837
+ # (template) used to ingest the event. It supports the following event
1838
+ # types: `SegmentIdentify`, `ShopifyCreateCustomers`,
1839
+ # `ShopifyUpdateCustomers`, `ShopifyCreateDraftOrders`,
1840
+ # `ShopifyUpdateDraftOrders`, `ShopifyCreateOrders`, and
1841
+ # `ShopifyUpdatedOrders`.
1842
+ #
1571
1843
  # @return [Types::PutIntegrationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1572
1844
  #
1573
1845
  # * {Types::PutIntegrationResponse#domain_name #domain_name} => String
@@ -1576,13 +1848,14 @@ module Aws::CustomerProfiles
1576
1848
  # * {Types::PutIntegrationResponse#created_at #created_at} => Time
1577
1849
  # * {Types::PutIntegrationResponse#last_updated_at #last_updated_at} => Time
1578
1850
  # * {Types::PutIntegrationResponse#tags #tags} => Hash&lt;String,String&gt;
1851
+ # * {Types::PutIntegrationResponse#object_type_names #object_type_names} => Hash&lt;String,String&gt;
1579
1852
  #
1580
1853
  # @example Request syntax with placeholder values
1581
1854
  #
1582
1855
  # resp = client.put_integration({
1583
1856
  # domain_name: "name", # required
1584
1857
  # uri: "string1To255",
1585
- # object_type_name: "typeName", # required
1858
+ # object_type_name: "typeName",
1586
1859
  # tags: {
1587
1860
  # "TagKey" => "TagValue",
1588
1861
  # },
@@ -1649,6 +1922,9 @@ module Aws::CustomerProfiles
1649
1922
  # },
1650
1923
  # },
1651
1924
  # },
1925
+ # object_type_names: {
1926
+ # "string1To255" => "typeName",
1927
+ # },
1652
1928
  # })
1653
1929
  #
1654
1930
  # @example Response structure
@@ -1660,6 +1936,8 @@ module Aws::CustomerProfiles
1660
1936
  # resp.last_updated_at #=> Time
1661
1937
  # resp.tags #=> Hash
1662
1938
  # resp.tags["TagKey"] #=> String
1939
+ # resp.object_type_names #=> Hash
1940
+ # resp.object_type_names["string1To255"] #=> String
1663
1941
  #
1664
1942
  # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/PutIntegration AWS API Documentation
1665
1943
  #
@@ -1748,6 +2026,10 @@ module Aws::CustomerProfiles
1748
2026
  # profile. If it is set to `TRUE`, and if no match is found, then the
1749
2027
  # service creates a new standard profile.
1750
2028
  #
2029
+ # @option params [String] :source_last_updated_timestamp_format
2030
+ # The format of your `sourceLastUpdatedTimestamp` that was previously
2031
+ # set up.
2032
+ #
1751
2033
  # @option params [Hash<String,Types::ObjectTypeField>] :fields
1752
2034
  # A map of the name and ObjectType field.
1753
2035
  #
@@ -1765,6 +2047,7 @@ module Aws::CustomerProfiles
1765
2047
  # * {Types::PutProfileObjectTypeResponse#expiration_days #expiration_days} => Integer
1766
2048
  # * {Types::PutProfileObjectTypeResponse#encryption_key #encryption_key} => String
1767
2049
  # * {Types::PutProfileObjectTypeResponse#allow_profile_creation #allow_profile_creation} => Boolean
2050
+ # * {Types::PutProfileObjectTypeResponse#source_last_updated_timestamp_format #source_last_updated_timestamp_format} => String
1768
2051
  # * {Types::PutProfileObjectTypeResponse#fields #fields} => Hash&lt;String,Types::ObjectTypeField&gt;
1769
2052
  # * {Types::PutProfileObjectTypeResponse#keys #keys} => Hash&lt;String,Array&lt;Types::ObjectTypeKey&gt;&gt;
1770
2053
  # * {Types::PutProfileObjectTypeResponse#created_at #created_at} => Time
@@ -1781,6 +2064,7 @@ module Aws::CustomerProfiles
1781
2064
  # expiration_days: 1,
1782
2065
  # encryption_key: "encryptionKey",
1783
2066
  # allow_profile_creation: false,
2067
+ # source_last_updated_timestamp_format: "string1To255",
1784
2068
  # fields: {
1785
2069
  # "name" => {
1786
2070
  # source: "text",
@@ -1791,7 +2075,7 @@ module Aws::CustomerProfiles
1791
2075
  # keys: {
1792
2076
  # "name" => [
1793
2077
  # {
1794
- # standard_identifiers: ["PROFILE"], # accepts PROFILE, ASSET, CASE, UNIQUE, SECONDARY, LOOKUP_ONLY, NEW_ONLY
2078
+ # standard_identifiers: ["PROFILE"], # accepts PROFILE, ASSET, CASE, UNIQUE, SECONDARY, LOOKUP_ONLY, NEW_ONLY, ORDER
1795
2079
  # field_names: ["name"],
1796
2080
  # },
1797
2081
  # ],
@@ -1809,6 +2093,7 @@ module Aws::CustomerProfiles
1809
2093
  # resp.expiration_days #=> Integer
1810
2094
  # resp.encryption_key #=> String
1811
2095
  # resp.allow_profile_creation #=> Boolean
2096
+ # resp.source_last_updated_timestamp_format #=> String
1812
2097
  # resp.fields #=> Hash
1813
2098
  # resp.fields["name"].source #=> String
1814
2099
  # resp.fields["name"].target #=> String
@@ -1816,7 +2101,7 @@ module Aws::CustomerProfiles
1816
2101
  # resp.keys #=> Hash
1817
2102
  # resp.keys["name"] #=> Array
1818
2103
  # resp.keys["name"][0].standard_identifiers #=> Array
1819
- # resp.keys["name"][0].standard_identifiers[0] #=> String, one of "PROFILE", "ASSET", "CASE", "UNIQUE", "SECONDARY", "LOOKUP_ONLY", "NEW_ONLY"
2104
+ # resp.keys["name"][0].standard_identifiers[0] #=> String, one of "PROFILE", "ASSET", "CASE", "UNIQUE", "SECONDARY", "LOOKUP_ONLY", "NEW_ONLY", "ORDER"
1820
2105
  # resp.keys["name"][0].field_names #=> Array
1821
2106
  # resp.keys["name"][0].field_names[0] #=> String
1822
2107
  # resp.created_at #=> Time
@@ -1847,10 +2132,12 @@ module Aws::CustomerProfiles
1847
2132
  #
1848
2133
  # @option params [required, String] :key_name
1849
2134
  # A searchable identifier of a customer profile. The predefined keys you
1850
- # can use to search include: \_account, \_profileId, \_fullName,
1851
- # \_phone, \_email, \_ctrContactId, \_marketoLeadId,
1852
- # \_salesforceAccountId, \_salesforceContactId, \_zendeskUserId,
1853
- # \_zendeskExternalId, \_serviceNowSystemId.
2135
+ # can use to search include: \_account, \_profileId, \_assetId,
2136
+ # \_caseId, \_orderId, \_fullName, \_phone, \_email, \_ctrContactId,
2137
+ # \_marketoLeadId, \_salesforceAccountId, \_salesforceContactId,
2138
+ # \_salesforceAssetId, \_zendeskUserId, \_zendeskExternalId,
2139
+ # \_zendeskTicketId, \_serviceNowSystemId, \_serviceNowIncidentId,
2140
+ # \_segmentUserId, \_shopifyCustomerId, \_shopifyOrderId.
1854
2141
  #
1855
2142
  # @option params [required, Array<String>] :values
1856
2143
  # A list of key values.
@@ -2023,10 +2310,15 @@ module Aws::CustomerProfiles
2023
2310
  # Use this API or [CreateDomain][1] to enable [identity resolution][2]\:
2024
2311
  # set `Matching` to true.
2025
2312
  #
2313
+ # To prevent cross-service impersonation when you call this API, see
2314
+ # [Cross-service confused deputy prevention][3] for sample policies that
2315
+ # you should apply.
2316
+ #
2026
2317
  #
2027
2318
  #
2028
2319
  # [1]: https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_CreateDomain.html
2029
2320
  # [2]: https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetMatches.html
2321
+ # [3]: https://docs.aws.amazon.com/connect/latest/adminguide/cross-service-confused-deputy-prevention.html
2030
2322
  #
2031
2323
  # @option params [required, String] :domain_name
2032
2324
  # The unique name of the domain.
@@ -2049,11 +2341,16 @@ module Aws::CustomerProfiles
2049
2341
  # to the DeadLetterQueue.
2050
2342
  #
2051
2343
  # @option params [Types::MatchingRequest] :matching
2052
- # The process of matching duplicate profiles. If Matching = true, Amazon
2053
- # Connect Customer Profiles starts a weekly batch process every Saturday
2054
- # at 12AM UTC to detect duplicate profiles in your domains. After that
2055
- # batch process completes, use the [GetMatches][1] API to return and
2056
- # review the results.
2344
+ # The process of matching duplicate profiles. If `Matching` = `true`,
2345
+ # Amazon Connect Customer Profiles starts a weekly batch process called
2346
+ # Identity Resolution Job. If you do not specify a date and time for
2347
+ # Identity Resolution Job to run, by default it runs every Saturday at
2348
+ # 12AM UTC to detect duplicate profiles in your domains.
2349
+ #
2350
+ # After the Identity Resolution Job completes, use the [GetMatches][1]
2351
+ # API to return and review the results. Or, if you have configured
2352
+ # `ExportingConfig` in the `MatchingRequest`, you can download the
2353
+ # results from S3.
2057
2354
  #
2058
2355
  #
2059
2356
  #
@@ -2082,6 +2379,28 @@ module Aws::CustomerProfiles
2082
2379
  # dead_letter_queue_url: "sqsQueueUrl",
2083
2380
  # matching: {
2084
2381
  # enabled: false, # required
2382
+ # job_schedule: {
2383
+ # day_of_the_week: "SUNDAY", # required, accepts SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY
2384
+ # time: "JobScheduleTime", # required
2385
+ # },
2386
+ # auto_merging: {
2387
+ # enabled: false, # required
2388
+ # consolidation: {
2389
+ # matching_attributes_list: [ # required
2390
+ # ["string1To255"],
2391
+ # ],
2392
+ # },
2393
+ # conflict_resolution: {
2394
+ # conflict_resolving_model: "RECENCY", # required, accepts RECENCY, SOURCE
2395
+ # source_name: "string1To255",
2396
+ # },
2397
+ # },
2398
+ # exporting_config: {
2399
+ # s3_exporting: {
2400
+ # s3_bucket_name: "s3BucketName", # required
2401
+ # s3_key_name: "s3KeyNameCustomerOutputConfig",
2402
+ # },
2403
+ # },
2085
2404
  # },
2086
2405
  # tags: {
2087
2406
  # "TagKey" => "TagValue",
@@ -2095,6 +2414,16 @@ module Aws::CustomerProfiles
2095
2414
  # resp.default_encryption_key #=> String
2096
2415
  # resp.dead_letter_queue_url #=> String
2097
2416
  # resp.matching.enabled #=> Boolean
2417
+ # resp.matching.job_schedule.day_of_the_week #=> String, one of "SUNDAY", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY"
2418
+ # resp.matching.job_schedule.time #=> String
2419
+ # resp.matching.auto_merging.enabled #=> Boolean
2420
+ # resp.matching.auto_merging.consolidation.matching_attributes_list #=> Array
2421
+ # resp.matching.auto_merging.consolidation.matching_attributes_list[0] #=> Array
2422
+ # resp.matching.auto_merging.consolidation.matching_attributes_list[0][0] #=> String
2423
+ # resp.matching.auto_merging.conflict_resolution.conflict_resolving_model #=> String, one of "RECENCY", "SOURCE"
2424
+ # resp.matching.auto_merging.conflict_resolution.source_name #=> String
2425
+ # resp.matching.exporting_config.s3_exporting.s3_bucket_name #=> String
2426
+ # resp.matching.exporting_config.s3_exporting.s3_key_name #=> String
2098
2427
  # resp.created_at #=> Time
2099
2428
  # resp.last_updated_at #=> Time
2100
2429
  # resp.tags #=> Hash
@@ -2292,7 +2621,7 @@ module Aws::CustomerProfiles
2292
2621
  params: params,
2293
2622
  config: config)
2294
2623
  context[:gem_name] = 'aws-sdk-customerprofiles'
2295
- context[:gem_version] = '1.12.0'
2624
+ context[:gem_version] = '1.16.0'
2296
2625
  Seahorse::Client::Request.new(handlers, context)
2297
2626
  end
2298
2627