aws-sdk-customerprofiles 1.13.0 → 1.17.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.
@@ -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