aws-sdk-customerprofiles 1.12.0 → 1.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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