aws-sdk-customerprofiles 1.13.0 → 1.17.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -27,6 +27,7 @@ require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
27
27
  require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
28
28
  require 'aws-sdk-core/plugins/transfer_encoding.rb'
29
29
  require 'aws-sdk-core/plugins/http_checksum.rb'
30
+ require 'aws-sdk-core/plugins/defaults_mode.rb'
30
31
  require 'aws-sdk-core/plugins/signature_v4.rb'
31
32
  require 'aws-sdk-core/plugins/protocols/rest_json.rb'
32
33
 
@@ -73,6 +74,7 @@ module Aws::CustomerProfiles
73
74
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
74
75
  add_plugin(Aws::Plugins::TransferEncoding)
75
76
  add_plugin(Aws::Plugins::HttpChecksum)
77
+ add_plugin(Aws::Plugins::DefaultsMode)
76
78
  add_plugin(Aws::Plugins::SignatureV4)
77
79
  add_plugin(Aws::Plugins::Protocols::RestJson)
78
80
 
@@ -119,7 +121,9 @@ module Aws::CustomerProfiles
119
121
  # * EC2/ECS IMDS instance profile - When used by default, the timeouts
120
122
  # are very aggressive. Construct and pass an instance of
121
123
  # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
122
- # enable retries and extended timeouts.
124
+ # enable retries and extended timeouts. Instance profile credential
125
+ # fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
126
+ # to true.
123
127
  #
124
128
  # @option options [required, String] :region
125
129
  # The AWS region to connect to. The configured `:region` is
@@ -173,6 +177,10 @@ module Aws::CustomerProfiles
173
177
  # Used only in `standard` and adaptive retry modes. Specifies whether to apply
174
178
  # a clock skew correction and retry requests with skewed client clocks.
175
179
  #
180
+ # @option options [String] :defaults_mode ("legacy")
181
+ # See {Aws::DefaultsModeConfiguration} for a list of the
182
+ # accepted modes and the configuration defaults that are included.
183
+ #
176
184
  # @option options [Boolean] :disable_host_prefix_injection (false)
177
185
  # Set to true to disable SDK automatically adding host prefix
178
186
  # to default service endpoint when available.
@@ -295,7 +303,7 @@ module Aws::CustomerProfiles
295
303
  # seconds to wait when opening a HTTP session before raising a
296
304
  # `Timeout::Error`.
297
305
  #
298
- # @option options [Integer] :http_read_timeout (60) The default
306
+ # @option options [Float] :http_read_timeout (60) The default
299
307
  # number of seconds to wait for response data. This value can
300
308
  # safely be set per-request on the session.
301
309
  #
@@ -311,6 +319,9 @@ module Aws::CustomerProfiles
311
319
  # disables this behaviour. This value can safely be set per
312
320
  # request on the session.
313
321
  #
322
+ # @option options [Float] :ssl_timeout (nil) Sets the SSL timeout
323
+ # in seconds.
324
+ #
314
325
  # @option options [Boolean] :http_wire_trace (false) When `true`,
315
326
  # HTTP debug output will be sent to the `:logger`.
316
327
  #
@@ -395,10 +406,15 @@ module Aws::CustomerProfiles
395
406
  # Use this API or [UpdateDomain][1] to enable [identity resolution][2]\:
396
407
  # set `Matching` to true.
397
408
  #
409
+ # To prevent cross-service impersonation when you call this API, see
410
+ # [Cross-service confused deputy prevention][3] for sample policies that
411
+ # you should apply.
412
+ #
398
413
  #
399
414
  #
400
415
  # [1]: https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_UpdateDomain.html
401
416
  # [2]: https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetMatches.html
417
+ # [3]: https://docs.aws.amazon.com/connect/latest/adminguide/cross-service-confused-deputy-prevention.html
402
418
  #
403
419
  # @option params [required, String] :domain_name
404
420
  # The unique name of the domain.
@@ -419,11 +435,16 @@ module Aws::CustomerProfiles
419
435
  # to the DeadLetterQueue.
420
436
  #
421
437
  # @option params [Types::MatchingRequest] :matching
422
- # The process of matching duplicate profiles. If Matching = true, Amazon
423
- # Connect Customer Profiles starts a weekly batch process every Saturday
424
- # at 12AM UTC to detect duplicate profiles in your domains. After that
425
- # batch process completes, use the [GetMatches][1] API to return and
426
- # review the results.
438
+ # The process of matching duplicate profiles. If `Matching` = `true`,
439
+ # Amazon Connect Customer Profiles starts a weekly batch process called
440
+ # Identity Resolution Job. If you do not specify a date and time for
441
+ # Identity Resolution Job to run, by default it runs every Saturday at
442
+ # 12AM UTC to detect duplicate profiles in your domains.
443
+ #
444
+ # After the Identity Resolution Job completes, use the [GetMatches][1]
445
+ # API to return and review the results. Or, if you have configured
446
+ # `ExportingConfig` in the `MatchingRequest`, you can download the
447
+ # results from S3.
427
448
  #
428
449
  #
429
450
  #
@@ -452,6 +473,28 @@ module Aws::CustomerProfiles
452
473
  # dead_letter_queue_url: "sqsQueueUrl",
453
474
  # matching: {
454
475
  # enabled: false, # required
476
+ # job_schedule: {
477
+ # day_of_the_week: "SUNDAY", # required, accepts SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY
478
+ # time: "JobScheduleTime", # required
479
+ # },
480
+ # auto_merging: {
481
+ # enabled: false, # required
482
+ # consolidation: {
483
+ # matching_attributes_list: [ # required
484
+ # ["string1To255"],
485
+ # ],
486
+ # },
487
+ # conflict_resolution: {
488
+ # conflict_resolving_model: "RECENCY", # required, accepts RECENCY, SOURCE
489
+ # source_name: "string1To255",
490
+ # },
491
+ # },
492
+ # exporting_config: {
493
+ # s3_exporting: {
494
+ # s3_bucket_name: "s3BucketName", # required
495
+ # s3_key_name: "s3KeyNameCustomerOutputConfig",
496
+ # },
497
+ # },
455
498
  # },
456
499
  # tags: {
457
500
  # "TagKey" => "TagValue",
@@ -465,6 +508,16 @@ module Aws::CustomerProfiles
465
508
  # resp.default_encryption_key #=> String
466
509
  # resp.dead_letter_queue_url #=> String
467
510
  # resp.matching.enabled #=> Boolean
511
+ # resp.matching.job_schedule.day_of_the_week #=> String, one of "SUNDAY", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY"
512
+ # resp.matching.job_schedule.time #=> String
513
+ # resp.matching.auto_merging.enabled #=> Boolean
514
+ # resp.matching.auto_merging.consolidation.matching_attributes_list #=> Array
515
+ # resp.matching.auto_merging.consolidation.matching_attributes_list[0] #=> Array
516
+ # resp.matching.auto_merging.consolidation.matching_attributes_list[0][0] #=> String
517
+ # resp.matching.auto_merging.conflict_resolution.conflict_resolving_model #=> String, one of "RECENCY", "SOURCE"
518
+ # resp.matching.auto_merging.conflict_resolution.source_name #=> String
519
+ # resp.matching.exporting_config.s3_exporting.s3_bucket_name #=> String
520
+ # resp.matching.exporting_config.s3_exporting.s3_key_name #=> String
468
521
  # resp.created_at #=> Time
469
522
  # resp.last_updated_at #=> Time
470
523
  # resp.tags #=> Hash
@@ -854,6 +907,71 @@ module Aws::CustomerProfiles
854
907
  req.send_request(options)
855
908
  end
856
909
 
910
+ # Tests the auto-merging settings of your Identity Resolution Job
911
+ # without merging your data. It randomly selects a sample of matching
912
+ # groups from the existing matching results, and applies the automerging
913
+ # settings that you provided. You can then view the number of profiles
914
+ # in the sample, the number of matches, and the number of profiles
915
+ # identified to be merged. This enables you to evaluate the accuracy of
916
+ # the attributes in your matching list.
917
+ #
918
+ # You can't view which profiles are matched and would be merged.
919
+ #
920
+ # We strongly recommend you use this API to do a dry run of the
921
+ # automerging process before running the Identity Resolution Job.
922
+ # Include **at least** two matching attributes. If your matching list
923
+ # includes too few attributes (such as only `FirstName` or only
924
+ # `LastName`), there may be a large number of matches. This increases
925
+ # the chances of erroneous merges.
926
+ #
927
+ # @option params [required, String] :domain_name
928
+ # The unique name of the domain.
929
+ #
930
+ # @option params [required, Types::Consolidation] :consolidation
931
+ # A list of matching attributes that represent matching criteria.
932
+ #
933
+ # @option params [required, Types::ConflictResolution] :conflict_resolution
934
+ # How the auto-merging process should resolve conflicts between
935
+ # different profiles.
936
+ #
937
+ # @return [Types::GetAutoMergingPreviewResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
938
+ #
939
+ # * {Types::GetAutoMergingPreviewResponse#domain_name #domain_name} => String
940
+ # * {Types::GetAutoMergingPreviewResponse#number_of_matches_in_sample #number_of_matches_in_sample} => Integer
941
+ # * {Types::GetAutoMergingPreviewResponse#number_of_profiles_in_sample #number_of_profiles_in_sample} => Integer
942
+ # * {Types::GetAutoMergingPreviewResponse#number_of_profiles_will_be_merged #number_of_profiles_will_be_merged} => Integer
943
+ #
944
+ # @example Request syntax with placeholder values
945
+ #
946
+ # resp = client.get_auto_merging_preview({
947
+ # domain_name: "name", # required
948
+ # consolidation: { # required
949
+ # matching_attributes_list: [ # required
950
+ # ["string1To255"],
951
+ # ],
952
+ # },
953
+ # conflict_resolution: { # required
954
+ # conflict_resolving_model: "RECENCY", # required, accepts RECENCY, SOURCE
955
+ # source_name: "string1To255",
956
+ # },
957
+ # })
958
+ #
959
+ # @example Response structure
960
+ #
961
+ # resp.domain_name #=> String
962
+ # resp.number_of_matches_in_sample #=> Integer
963
+ # resp.number_of_profiles_in_sample #=> Integer
964
+ # resp.number_of_profiles_will_be_merged #=> Integer
965
+ #
966
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/GetAutoMergingPreview AWS API Documentation
967
+ #
968
+ # @overload get_auto_merging_preview(params = {})
969
+ # @param [Hash] params ({})
970
+ def get_auto_merging_preview(params = {}, options = {})
971
+ req = build_request(:get_auto_merging_preview, params)
972
+ req.send_request(options)
973
+ end
974
+
857
975
  # Returns information about a specific domain.
858
976
  #
859
977
  # @option params [required, String] :domain_name
@@ -888,6 +1006,16 @@ module Aws::CustomerProfiles
888
1006
  # resp.stats.object_count #=> Integer
889
1007
  # resp.stats.total_size #=> Integer
890
1008
  # resp.matching.enabled #=> Boolean
1009
+ # resp.matching.job_schedule.day_of_the_week #=> String, one of "SUNDAY", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY"
1010
+ # resp.matching.job_schedule.time #=> String
1011
+ # resp.matching.auto_merging.enabled #=> Boolean
1012
+ # resp.matching.auto_merging.consolidation.matching_attributes_list #=> Array
1013
+ # resp.matching.auto_merging.consolidation.matching_attributes_list[0] #=> Array
1014
+ # resp.matching.auto_merging.consolidation.matching_attributes_list[0][0] #=> String
1015
+ # resp.matching.auto_merging.conflict_resolution.conflict_resolving_model #=> String, one of "RECENCY", "SOURCE"
1016
+ # resp.matching.auto_merging.conflict_resolution.source_name #=> String
1017
+ # resp.matching.exporting_config.s3_exporting.s3_bucket_name #=> String
1018
+ # resp.matching.exporting_config.s3_exporting.s3_key_name #=> String
891
1019
  # resp.created_at #=> Time
892
1020
  # resp.last_updated_at #=> Time
893
1021
  # resp.tags #=> Hash
@@ -902,6 +1030,75 @@ module Aws::CustomerProfiles
902
1030
  req.send_request(options)
903
1031
  end
904
1032
 
1033
+ # Returns information about an Identity Resolution Job in a specific
1034
+ # domain.
1035
+ #
1036
+ # Identity Resolution Jobs are set up using the Amazon Connect admin
1037
+ # console. For more information, see [Use Identity Resolution to
1038
+ # consolidate similar profiles][1].
1039
+ #
1040
+ #
1041
+ #
1042
+ # [1]: https://docs.aws.amazon.com/connect/latest/adminguide/use-identity-resolution.html
1043
+ #
1044
+ # @option params [required, String] :domain_name
1045
+ # The unique name of the domain.
1046
+ #
1047
+ # @option params [required, String] :job_id
1048
+ # The unique identifier of the Identity Resolution Job.
1049
+ #
1050
+ # @return [Types::GetIdentityResolutionJobResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1051
+ #
1052
+ # * {Types::GetIdentityResolutionJobResponse#domain_name #domain_name} => String
1053
+ # * {Types::GetIdentityResolutionJobResponse#job_id #job_id} => String
1054
+ # * {Types::GetIdentityResolutionJobResponse#status #status} => String
1055
+ # * {Types::GetIdentityResolutionJobResponse#message #message} => String
1056
+ # * {Types::GetIdentityResolutionJobResponse#job_start_time #job_start_time} => Time
1057
+ # * {Types::GetIdentityResolutionJobResponse#job_end_time #job_end_time} => Time
1058
+ # * {Types::GetIdentityResolutionJobResponse#last_updated_at #last_updated_at} => Time
1059
+ # * {Types::GetIdentityResolutionJobResponse#job_expiration_time #job_expiration_time} => Time
1060
+ # * {Types::GetIdentityResolutionJobResponse#auto_merging #auto_merging} => Types::AutoMerging
1061
+ # * {Types::GetIdentityResolutionJobResponse#exporting_location #exporting_location} => Types::ExportingLocation
1062
+ # * {Types::GetIdentityResolutionJobResponse#job_stats #job_stats} => Types::JobStats
1063
+ #
1064
+ # @example Request syntax with placeholder values
1065
+ #
1066
+ # resp = client.get_identity_resolution_job({
1067
+ # domain_name: "name", # required
1068
+ # job_id: "uuid", # required
1069
+ # })
1070
+ #
1071
+ # @example Response structure
1072
+ #
1073
+ # resp.domain_name #=> String
1074
+ # resp.job_id #=> String
1075
+ # resp.status #=> String, one of "PENDING", "PREPROCESSING", "FIND_MATCHING", "MERGING", "COMPLETED", "PARTIAL_SUCCESS", "FAILED"
1076
+ # resp.message #=> String
1077
+ # resp.job_start_time #=> Time
1078
+ # resp.job_end_time #=> Time
1079
+ # resp.last_updated_at #=> Time
1080
+ # resp.job_expiration_time #=> Time
1081
+ # resp.auto_merging.enabled #=> Boolean
1082
+ # resp.auto_merging.consolidation.matching_attributes_list #=> Array
1083
+ # resp.auto_merging.consolidation.matching_attributes_list[0] #=> Array
1084
+ # resp.auto_merging.consolidation.matching_attributes_list[0][0] #=> String
1085
+ # resp.auto_merging.conflict_resolution.conflict_resolving_model #=> String, one of "RECENCY", "SOURCE"
1086
+ # resp.auto_merging.conflict_resolution.source_name #=> String
1087
+ # resp.exporting_location.s3_exporting.s3_bucket_name #=> String
1088
+ # resp.exporting_location.s3_exporting.s3_key_name #=> String
1089
+ # resp.job_stats.number_of_profiles_reviewed #=> Integer
1090
+ # resp.job_stats.number_of_matches_found #=> Integer
1091
+ # resp.job_stats.number_of_merges_done #=> Integer
1092
+ #
1093
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/GetIdentityResolutionJob AWS API Documentation
1094
+ #
1095
+ # @overload get_identity_resolution_job(params = {})
1096
+ # @param [Hash] params ({})
1097
+ def get_identity_resolution_job(params = {}, options = {})
1098
+ req = build_request(:get_identity_resolution_job, params)
1099
+ req.send_request(options)
1100
+ end
1101
+
905
1102
  # Returns an integration for a domain.
906
1103
  #
907
1104
  # @option params [required, String] :domain_name
@@ -918,6 +1115,7 @@ module Aws::CustomerProfiles
918
1115
  # * {Types::GetIntegrationResponse#created_at #created_at} => Time
919
1116
  # * {Types::GetIntegrationResponse#last_updated_at #last_updated_at} => Time
920
1117
  # * {Types::GetIntegrationResponse#tags #tags} => Hash<String,String>
1118
+ # * {Types::GetIntegrationResponse#object_type_names #object_type_names} => Hash<String,String>
921
1119
  #
922
1120
  # @example Request syntax with placeholder values
923
1121
  #
@@ -935,6 +1133,8 @@ module Aws::CustomerProfiles
935
1133
  # resp.last_updated_at #=> Time
936
1134
  # resp.tags #=> Hash
937
1135
  # resp.tags["TagKey"] #=> String
1136
+ # resp.object_type_names #=> Hash
1137
+ # resp.object_type_names["string1To255"] #=> String
938
1138
  #
939
1139
  # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/GetIntegration AWS API Documentation
940
1140
  #
@@ -945,18 +1145,22 @@ module Aws::CustomerProfiles
945
1145
  req.send_request(options)
946
1146
  end
947
1147
 
948
- # This API is in preview release for Amazon Connect and subject to
949
- # change.
950
- #
951
1148
  # Before calling this API, use [CreateDomain][1] or [UpdateDomain][2] to
952
1149
  # enable identity resolution: set `Matching` to true.
953
1150
  #
954
1151
  # GetMatches returns potentially matching profiles, based on the results
955
1152
  # of the latest run of a machine learning process.
956
1153
  #
957
- # Amazon Connect starts a batch process every Saturday at 12AM UTC to
958
- # identify matching profiles. The results are returned up to seven days
959
- # after the Saturday run.
1154
+ # The process of matching duplicate profiles. If `Matching` = `true`,
1155
+ # Amazon Connect Customer Profiles starts a weekly batch process called
1156
+ # Identity Resolution Job. If you do not specify a date and time for
1157
+ # Identity Resolution Job to run, by default it runs every Saturday at
1158
+ # 12AM UTC to detect duplicate profiles in your domains.
1159
+ #
1160
+ # After the Identity Resolution Job completes, use the [GetMatches][3]
1161
+ # API to return and review the results. Or, if you have configured
1162
+ # `ExportingConfig` in the `MatchingRequest`, you can download the
1163
+ # results from S3.
960
1164
  #
961
1165
  # Amazon Connect uses the following profile attributes to identify
962
1166
  # matches:
@@ -990,6 +1194,7 @@ module Aws::CustomerProfiles
990
1194
  #
991
1195
  # [1]: https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_CreateDomain.html
992
1196
  # [2]: https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_UpdateDomain.html
1197
+ # [3]: https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetMatches.html
993
1198
  #
994
1199
  # @option params [String] :next_token
995
1200
  # The token for the next set of results. Use the value returned in the
@@ -1026,6 +1231,7 @@ module Aws::CustomerProfiles
1026
1231
  # resp.matches[0].match_id #=> String
1027
1232
  # resp.matches[0].profile_ids #=> Array
1028
1233
  # resp.matches[0].profile_ids[0] #=> String
1234
+ # resp.matches[0].confidence_score #=> Float
1029
1235
  #
1030
1236
  # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/GetMatches AWS API Documentation
1031
1237
  #
@@ -1052,6 +1258,7 @@ module Aws::CustomerProfiles
1052
1258
  # * {Types::GetProfileObjectTypeResponse#expiration_days #expiration_days} => Integer
1053
1259
  # * {Types::GetProfileObjectTypeResponse#encryption_key #encryption_key} => String
1054
1260
  # * {Types::GetProfileObjectTypeResponse#allow_profile_creation #allow_profile_creation} => Boolean
1261
+ # * {Types::GetProfileObjectTypeResponse#source_last_updated_timestamp_format #source_last_updated_timestamp_format} => String
1055
1262
  # * {Types::GetProfileObjectTypeResponse#fields #fields} => Hash<String,Types::ObjectTypeField>
1056
1263
  # * {Types::GetProfileObjectTypeResponse#keys #keys} => Hash<String,Array<Types::ObjectTypeKey>>
1057
1264
  # * {Types::GetProfileObjectTypeResponse#created_at #created_at} => Time
@@ -1073,6 +1280,7 @@ module Aws::CustomerProfiles
1073
1280
  # resp.expiration_days #=> Integer
1074
1281
  # resp.encryption_key #=> String
1075
1282
  # resp.allow_profile_creation #=> Boolean
1283
+ # resp.source_last_updated_timestamp_format #=> String
1076
1284
  # resp.fields #=> Hash
1077
1285
  # resp.fields["name"].source #=> String
1078
1286
  # resp.fields["name"].target #=> String
@@ -1080,7 +1288,7 @@ module Aws::CustomerProfiles
1080
1288
  # resp.keys #=> Hash
1081
1289
  # resp.keys["name"] #=> Array
1082
1290
  # resp.keys["name"][0].standard_identifiers #=> Array
1083
- # resp.keys["name"][0].standard_identifiers[0] #=> String, one of "PROFILE", "ASSET", "CASE", "UNIQUE", "SECONDARY", "LOOKUP_ONLY", "NEW_ONLY"
1291
+ # resp.keys["name"][0].standard_identifiers[0] #=> String, one of "PROFILE", "ASSET", "CASE", "UNIQUE", "SECONDARY", "LOOKUP_ONLY", "NEW_ONLY", "ORDER"
1084
1292
  # resp.keys["name"][0].field_names #=> Array
1085
1293
  # resp.keys["name"][0].field_names[0] #=> String
1086
1294
  # resp.created_at #=> Time
@@ -1114,6 +1322,7 @@ module Aws::CustomerProfiles
1114
1322
  # * {Types::GetProfileObjectTypeTemplateResponse#source_name #source_name} => String
1115
1323
  # * {Types::GetProfileObjectTypeTemplateResponse#source_object #source_object} => String
1116
1324
  # * {Types::GetProfileObjectTypeTemplateResponse#allow_profile_creation #allow_profile_creation} => Boolean
1325
+ # * {Types::GetProfileObjectTypeTemplateResponse#source_last_updated_timestamp_format #source_last_updated_timestamp_format} => String
1117
1326
  # * {Types::GetProfileObjectTypeTemplateResponse#fields #fields} => Hash<String,Types::ObjectTypeField>
1118
1327
  # * {Types::GetProfileObjectTypeTemplateResponse#keys #keys} => Hash<String,Array<Types::ObjectTypeKey>>
1119
1328
  #
@@ -1129,6 +1338,7 @@ module Aws::CustomerProfiles
1129
1338
  # resp.source_name #=> String
1130
1339
  # resp.source_object #=> String
1131
1340
  # resp.allow_profile_creation #=> Boolean
1341
+ # resp.source_last_updated_timestamp_format #=> String
1132
1342
  # resp.fields #=> Hash
1133
1343
  # resp.fields["name"].source #=> String
1134
1344
  # resp.fields["name"].target #=> String
@@ -1136,7 +1346,7 @@ module Aws::CustomerProfiles
1136
1346
  # resp.keys #=> Hash
1137
1347
  # resp.keys["name"] #=> Array
1138
1348
  # resp.keys["name"][0].standard_identifiers #=> Array
1139
- # resp.keys["name"][0].standard_identifiers[0] #=> String, one of "PROFILE", "ASSET", "CASE", "UNIQUE", "SECONDARY", "LOOKUP_ONLY", "NEW_ONLY"
1349
+ # resp.keys["name"][0].standard_identifiers[0] #=> String, one of "PROFILE", "ASSET", "CASE", "UNIQUE", "SECONDARY", "LOOKUP_ONLY", "NEW_ONLY", "ORDER"
1140
1350
  # resp.keys["name"][0].field_names #=> Array
1141
1351
  # resp.keys["name"][0].field_names[0] #=> String
1142
1352
  #
@@ -1185,6 +1395,8 @@ module Aws::CustomerProfiles
1185
1395
  # resp.items[0].last_updated_at #=> Time
1186
1396
  # resp.items[0].tags #=> Hash
1187
1397
  # resp.items[0].tags["TagKey"] #=> String
1398
+ # resp.items[0].object_type_names #=> Hash
1399
+ # resp.items[0].object_type_names["string1To255"] #=> String
1188
1400
  # resp.next_token #=> String
1189
1401
  #
1190
1402
  # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/ListAccountIntegrations AWS API Documentation
@@ -1236,6 +1448,58 @@ module Aws::CustomerProfiles
1236
1448
  req.send_request(options)
1237
1449
  end
1238
1450
 
1451
+ # Lists all of the Identity Resolution Jobs in your domain. The response
1452
+ # sorts the list by `JobStartTime`.
1453
+ #
1454
+ # @option params [required, String] :domain_name
1455
+ # The unique name of the domain.
1456
+ #
1457
+ # @option params [String] :next_token
1458
+ # The token for the next set of results. Use the value returned in the
1459
+ # previous response in the next request to retrieve the next set of
1460
+ # results.
1461
+ #
1462
+ # @option params [Integer] :max_results
1463
+ # The maximum number of results to return per page.
1464
+ #
1465
+ # @return [Types::ListIdentityResolutionJobsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1466
+ #
1467
+ # * {Types::ListIdentityResolutionJobsResponse#identity_resolution_jobs_list #identity_resolution_jobs_list} => Array<Types::IdentityResolutionJob>
1468
+ # * {Types::ListIdentityResolutionJobsResponse#next_token #next_token} => String
1469
+ #
1470
+ # @example Request syntax with placeholder values
1471
+ #
1472
+ # resp = client.list_identity_resolution_jobs({
1473
+ # domain_name: "name", # required
1474
+ # next_token: "token",
1475
+ # max_results: 1,
1476
+ # })
1477
+ #
1478
+ # @example Response structure
1479
+ #
1480
+ # resp.identity_resolution_jobs_list #=> Array
1481
+ # resp.identity_resolution_jobs_list[0].domain_name #=> String
1482
+ # resp.identity_resolution_jobs_list[0].job_id #=> String
1483
+ # resp.identity_resolution_jobs_list[0].status #=> String, one of "PENDING", "PREPROCESSING", "FIND_MATCHING", "MERGING", "COMPLETED", "PARTIAL_SUCCESS", "FAILED"
1484
+ # resp.identity_resolution_jobs_list[0].job_start_time #=> Time
1485
+ # resp.identity_resolution_jobs_list[0].job_end_time #=> Time
1486
+ # resp.identity_resolution_jobs_list[0].job_stats.number_of_profiles_reviewed #=> Integer
1487
+ # resp.identity_resolution_jobs_list[0].job_stats.number_of_matches_found #=> Integer
1488
+ # resp.identity_resolution_jobs_list[0].job_stats.number_of_merges_done #=> Integer
1489
+ # resp.identity_resolution_jobs_list[0].exporting_location.s3_exporting.s3_bucket_name #=> String
1490
+ # resp.identity_resolution_jobs_list[0].exporting_location.s3_exporting.s3_key_name #=> String
1491
+ # resp.identity_resolution_jobs_list[0].message #=> String
1492
+ # resp.next_token #=> String
1493
+ #
1494
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/ListIdentityResolutionJobs AWS API Documentation
1495
+ #
1496
+ # @overload list_identity_resolution_jobs(params = {})
1497
+ # @param [Hash] params ({})
1498
+ def list_identity_resolution_jobs(params = {}, options = {})
1499
+ req = build_request(:list_identity_resolution_jobs, params)
1500
+ req.send_request(options)
1501
+ end
1502
+
1239
1503
  # Lists all of the integrations in your domain.
1240
1504
  #
1241
1505
  # @option params [required, String] :domain_name
@@ -1270,6 +1534,8 @@ module Aws::CustomerProfiles
1270
1534
  # resp.items[0].last_updated_at #=> Time
1271
1535
  # resp.items[0].tags #=> Hash
1272
1536
  # resp.items[0].tags["TagKey"] #=> String
1537
+ # resp.items[0].object_type_names #=> Hash
1538
+ # resp.items[0].object_type_names["string1To255"] #=> String
1273
1539
  # resp.next_token #=> String
1274
1540
  #
1275
1541
  # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/ListIntegrations AWS API Documentation
@@ -1384,7 +1650,7 @@ module Aws::CustomerProfiles
1384
1650
  # @option params [Types::ObjectFilter] :object_filter
1385
1651
  # Applies a filter to the response to include profile objects with the
1386
1652
  # specified index values. This filter is only supported for
1387
- # ObjectTypeName \_asset and \_case.
1653
+ # ObjectTypeName \_asset, \_case and \_order.
1388
1654
  #
1389
1655
  # @return [Types::ListProfileObjectsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1390
1656
  #
@@ -1453,9 +1719,6 @@ module Aws::CustomerProfiles
1453
1719
  req.send_request(options)
1454
1720
  end
1455
1721
 
1456
- # This API is in preview release for Amazon Connect and subject to
1457
- # change.
1458
- #
1459
1722
  # Runs an AWS Lambda job that does the following:
1460
1723
  #
1461
1724
  # 1. All the profileKeys in the `ProfileToBeMerged` will be moved to
@@ -1567,7 +1830,7 @@ module Aws::CustomerProfiles
1567
1830
  # @option params [String] :uri
1568
1831
  # The URI of the S3 bucket or any other type of data source.
1569
1832
  #
1570
- # @option params [required, String] :object_type_name
1833
+ # @option params [String] :object_type_name
1571
1834
  # The name of the profile object type.
1572
1835
  #
1573
1836
  # @option params [Hash<String,String>] :tags
@@ -1577,6 +1840,15 @@ module Aws::CustomerProfiles
1577
1840
  # The configuration that controls how Customer Profiles retrieves data
1578
1841
  # from the source.
1579
1842
  #
1843
+ # @option params [Hash<String,String>] :object_type_names
1844
+ # A map in which each key is an event type from an external application
1845
+ # such as Segment or Shopify, and each value is an `ObjectTypeName`
1846
+ # (template) used to ingest the event. It supports the following event
1847
+ # types: `SegmentIdentify`, `ShopifyCreateCustomers`,
1848
+ # `ShopifyUpdateCustomers`, `ShopifyCreateDraftOrders`,
1849
+ # `ShopifyUpdateDraftOrders`, `ShopifyCreateOrders`, and
1850
+ # `ShopifyUpdatedOrders`.
1851
+ #
1580
1852
  # @return [Types::PutIntegrationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1581
1853
  #
1582
1854
  # * {Types::PutIntegrationResponse#domain_name #domain_name} => String
@@ -1585,13 +1857,14 @@ module Aws::CustomerProfiles
1585
1857
  # * {Types::PutIntegrationResponse#created_at #created_at} => Time
1586
1858
  # * {Types::PutIntegrationResponse#last_updated_at #last_updated_at} => Time
1587
1859
  # * {Types::PutIntegrationResponse#tags #tags} => Hash&lt;String,String&gt;
1860
+ # * {Types::PutIntegrationResponse#object_type_names #object_type_names} => Hash&lt;String,String&gt;
1588
1861
  #
1589
1862
  # @example Request syntax with placeholder values
1590
1863
  #
1591
1864
  # resp = client.put_integration({
1592
1865
  # domain_name: "name", # required
1593
1866
  # uri: "string1To255",
1594
- # object_type_name: "typeName", # required
1867
+ # object_type_name: "typeName",
1595
1868
  # tags: {
1596
1869
  # "TagKey" => "TagValue",
1597
1870
  # },
@@ -1658,6 +1931,9 @@ module Aws::CustomerProfiles
1658
1931
  # },
1659
1932
  # },
1660
1933
  # },
1934
+ # object_type_names: {
1935
+ # "string1To255" => "typeName",
1936
+ # },
1661
1937
  # })
1662
1938
  #
1663
1939
  # @example Response structure
@@ -1669,6 +1945,8 @@ module Aws::CustomerProfiles
1669
1945
  # resp.last_updated_at #=> Time
1670
1946
  # resp.tags #=> Hash
1671
1947
  # resp.tags["TagKey"] #=> String
1948
+ # resp.object_type_names #=> Hash
1949
+ # resp.object_type_names["string1To255"] #=> String
1672
1950
  #
1673
1951
  # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/PutIntegration AWS API Documentation
1674
1952
  #
@@ -1757,6 +2035,10 @@ module Aws::CustomerProfiles
1757
2035
  # profile. If it is set to `TRUE`, and if no match is found, then the
1758
2036
  # service creates a new standard profile.
1759
2037
  #
2038
+ # @option params [String] :source_last_updated_timestamp_format
2039
+ # The format of your `sourceLastUpdatedTimestamp` that was previously
2040
+ # set up.
2041
+ #
1760
2042
  # @option params [Hash<String,Types::ObjectTypeField>] :fields
1761
2043
  # A map of the name and ObjectType field.
1762
2044
  #
@@ -1774,6 +2056,7 @@ module Aws::CustomerProfiles
1774
2056
  # * {Types::PutProfileObjectTypeResponse#expiration_days #expiration_days} => Integer
1775
2057
  # * {Types::PutProfileObjectTypeResponse#encryption_key #encryption_key} => String
1776
2058
  # * {Types::PutProfileObjectTypeResponse#allow_profile_creation #allow_profile_creation} => Boolean
2059
+ # * {Types::PutProfileObjectTypeResponse#source_last_updated_timestamp_format #source_last_updated_timestamp_format} => String
1777
2060
  # * {Types::PutProfileObjectTypeResponse#fields #fields} => Hash&lt;String,Types::ObjectTypeField&gt;
1778
2061
  # * {Types::PutProfileObjectTypeResponse#keys #keys} => Hash&lt;String,Array&lt;Types::ObjectTypeKey&gt;&gt;
1779
2062
  # * {Types::PutProfileObjectTypeResponse#created_at #created_at} => Time
@@ -1790,6 +2073,7 @@ module Aws::CustomerProfiles
1790
2073
  # expiration_days: 1,
1791
2074
  # encryption_key: "encryptionKey",
1792
2075
  # allow_profile_creation: false,
2076
+ # source_last_updated_timestamp_format: "string1To255",
1793
2077
  # fields: {
1794
2078
  # "name" => {
1795
2079
  # source: "text",
@@ -1800,7 +2084,7 @@ module Aws::CustomerProfiles
1800
2084
  # keys: {
1801
2085
  # "name" => [
1802
2086
  # {
1803
- # standard_identifiers: ["PROFILE"], # accepts PROFILE, ASSET, CASE, UNIQUE, SECONDARY, LOOKUP_ONLY, NEW_ONLY
2087
+ # standard_identifiers: ["PROFILE"], # accepts PROFILE, ASSET, CASE, UNIQUE, SECONDARY, LOOKUP_ONLY, NEW_ONLY, ORDER
1804
2088
  # field_names: ["name"],
1805
2089
  # },
1806
2090
  # ],
@@ -1818,6 +2102,7 @@ module Aws::CustomerProfiles
1818
2102
  # resp.expiration_days #=> Integer
1819
2103
  # resp.encryption_key #=> String
1820
2104
  # resp.allow_profile_creation #=> Boolean
2105
+ # resp.source_last_updated_timestamp_format #=> String
1821
2106
  # resp.fields #=> Hash
1822
2107
  # resp.fields["name"].source #=> String
1823
2108
  # resp.fields["name"].target #=> String
@@ -1825,7 +2110,7 @@ module Aws::CustomerProfiles
1825
2110
  # resp.keys #=> Hash
1826
2111
  # resp.keys["name"] #=> Array
1827
2112
  # resp.keys["name"][0].standard_identifiers #=> Array
1828
- # resp.keys["name"][0].standard_identifiers[0] #=> String, one of "PROFILE", "ASSET", "CASE", "UNIQUE", "SECONDARY", "LOOKUP_ONLY", "NEW_ONLY"
2113
+ # resp.keys["name"][0].standard_identifiers[0] #=> String, one of "PROFILE", "ASSET", "CASE", "UNIQUE", "SECONDARY", "LOOKUP_ONLY", "NEW_ONLY", "ORDER"
1829
2114
  # resp.keys["name"][0].field_names #=> Array
1830
2115
  # resp.keys["name"][0].field_names[0] #=> String
1831
2116
  # resp.created_at #=> Time
@@ -1856,10 +2141,12 @@ module Aws::CustomerProfiles
1856
2141
  #
1857
2142
  # @option params [required, String] :key_name
1858
2143
  # A searchable identifier of a customer profile. The predefined keys you
1859
- # can use to search include: \_account, \_profileId, \_fullName,
1860
- # \_phone, \_email, \_ctrContactId, \_marketoLeadId,
1861
- # \_salesforceAccountId, \_salesforceContactId, \_zendeskUserId,
1862
- # \_zendeskExternalId, \_serviceNowSystemId.
2144
+ # can use to search include: \_account, \_profileId, \_assetId,
2145
+ # \_caseId, \_orderId, \_fullName, \_phone, \_email, \_ctrContactId,
2146
+ # \_marketoLeadId, \_salesforceAccountId, \_salesforceContactId,
2147
+ # \_salesforceAssetId, \_zendeskUserId, \_zendeskExternalId,
2148
+ # \_zendeskTicketId, \_serviceNowSystemId, \_serviceNowIncidentId,
2149
+ # \_segmentUserId, \_shopifyCustomerId, \_shopifyOrderId.
1863
2150
  #
1864
2151
  # @option params [required, Array<String>] :values
1865
2152
  # A list of key values.
@@ -2032,10 +2319,15 @@ module Aws::CustomerProfiles
2032
2319
  # Use this API or [CreateDomain][1] to enable [identity resolution][2]\:
2033
2320
  # set `Matching` to true.
2034
2321
  #
2322
+ # To prevent cross-service impersonation when you call this API, see
2323
+ # [Cross-service confused deputy prevention][3] for sample policies that
2324
+ # you should apply.
2325
+ #
2035
2326
  #
2036
2327
  #
2037
2328
  # [1]: https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_CreateDomain.html
2038
2329
  # [2]: https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetMatches.html
2330
+ # [3]: https://docs.aws.amazon.com/connect/latest/adminguide/cross-service-confused-deputy-prevention.html
2039
2331
  #
2040
2332
  # @option params [required, String] :domain_name
2041
2333
  # The unique name of the domain.
@@ -2058,11 +2350,16 @@ module Aws::CustomerProfiles
2058
2350
  # to the DeadLetterQueue.
2059
2351
  #
2060
2352
  # @option params [Types::MatchingRequest] :matching
2061
- # The process of matching duplicate profiles. If Matching = true, Amazon
2062
- # Connect Customer Profiles starts a weekly batch process every Saturday
2063
- # at 12AM UTC to detect duplicate profiles in your domains. After that
2064
- # batch process completes, use the [GetMatches][1] API to return and
2065
- # review the results.
2353
+ # The process of matching duplicate profiles. If `Matching` = `true`,
2354
+ # Amazon Connect Customer Profiles starts a weekly batch process called
2355
+ # Identity Resolution Job. If you do not specify a date and time for
2356
+ # Identity Resolution Job to run, by default it runs every Saturday at
2357
+ # 12AM UTC to detect duplicate profiles in your domains.
2358
+ #
2359
+ # After the Identity Resolution Job completes, use the [GetMatches][1]
2360
+ # API to return and review the results. Or, if you have configured
2361
+ # `ExportingConfig` in the `MatchingRequest`, you can download the
2362
+ # results from S3.
2066
2363
  #
2067
2364
  #
2068
2365
  #
@@ -2091,6 +2388,28 @@ module Aws::CustomerProfiles
2091
2388
  # dead_letter_queue_url: "sqsQueueUrl",
2092
2389
  # matching: {
2093
2390
  # enabled: false, # required
2391
+ # job_schedule: {
2392
+ # day_of_the_week: "SUNDAY", # required, accepts SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY
2393
+ # time: "JobScheduleTime", # required
2394
+ # },
2395
+ # auto_merging: {
2396
+ # enabled: false, # required
2397
+ # consolidation: {
2398
+ # matching_attributes_list: [ # required
2399
+ # ["string1To255"],
2400
+ # ],
2401
+ # },
2402
+ # conflict_resolution: {
2403
+ # conflict_resolving_model: "RECENCY", # required, accepts RECENCY, SOURCE
2404
+ # source_name: "string1To255",
2405
+ # },
2406
+ # },
2407
+ # exporting_config: {
2408
+ # s3_exporting: {
2409
+ # s3_bucket_name: "s3BucketName", # required
2410
+ # s3_key_name: "s3KeyNameCustomerOutputConfig",
2411
+ # },
2412
+ # },
2094
2413
  # },
2095
2414
  # tags: {
2096
2415
  # "TagKey" => "TagValue",
@@ -2104,6 +2423,16 @@ module Aws::CustomerProfiles
2104
2423
  # resp.default_encryption_key #=> String
2105
2424
  # resp.dead_letter_queue_url #=> String
2106
2425
  # resp.matching.enabled #=> Boolean
2426
+ # resp.matching.job_schedule.day_of_the_week #=> String, one of "SUNDAY", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY"
2427
+ # resp.matching.job_schedule.time #=> String
2428
+ # resp.matching.auto_merging.enabled #=> Boolean
2429
+ # resp.matching.auto_merging.consolidation.matching_attributes_list #=> Array
2430
+ # resp.matching.auto_merging.consolidation.matching_attributes_list[0] #=> Array
2431
+ # resp.matching.auto_merging.consolidation.matching_attributes_list[0][0] #=> String
2432
+ # resp.matching.auto_merging.conflict_resolution.conflict_resolving_model #=> String, one of "RECENCY", "SOURCE"
2433
+ # resp.matching.auto_merging.conflict_resolution.source_name #=> String
2434
+ # resp.matching.exporting_config.s3_exporting.s3_bucket_name #=> String
2435
+ # resp.matching.exporting_config.s3_exporting.s3_key_name #=> String
2107
2436
  # resp.created_at #=> Time
2108
2437
  # resp.last_updated_at #=> Time
2109
2438
  # resp.tags #=> Hash
@@ -2301,7 +2630,7 @@ module Aws::CustomerProfiles
2301
2630
  params: params,
2302
2631
  config: config)
2303
2632
  context[:gem_name] = 'aws-sdk-customerprofiles'
2304
- context[:gem_version] = '1.13.0'
2633
+ context[:gem_version] = '1.17.0'
2305
2634
  Seahorse::Client::Request.new(handlers, context)
2306
2635
  end
2307
2636