aws-sdk-customerprofiles 1.6.0 → 1.7.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b42cec8721c4f629deb11cfde3f4f11cc0e48cc6084ffff896ff2cb439f31999
4
- data.tar.gz: 881173fa9b9cf461375e4fcb0f0fe92878af5ef0f59022f6b103fbe18d629a5c
3
+ metadata.gz: 65e9bc33af1bcb37764e1bb884e4ab392f4677780ec2e8bf17b092726c610e68
4
+ data.tar.gz: c15114cb99ef83948ba78673934a78c16aa418a7a6513fc31bcfbc9f073e37f9
5
5
  SHA512:
6
- metadata.gz: abc20df7cc3071a035d3a92957a47879ca79df479e34a73d733bea3867c4a5b2c42b155d1de2724955291458176c55fe3e108a4958e4d42cbce9a39618d769b2
7
- data.tar.gz: 4ed50f0318b59af9277dbe4f75a5ec6368ef78b940e1285c222a64750fa9d0179b9cce0aedfe1c2dd31d0621675e7149cf77ba9bd84076af6462eafd0318a62a
6
+ metadata.gz: fa449b6d2161eaa6b4071596b50513652cf9f7bf07baecd83d679978798b3614f436d042770521437af12b1d46c44dbedfe288d876d50b1a7638d6d34e158f81
7
+ data.tar.gz: 72ee361ad9af8eeae3aae12cdc9d2bf5b34f4929d9d059e68ff30b66a048c7800534fe0261077295b851a69783dd74970d98a0ad0ab44c105fc6f5d02def181c
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.7.0 (2021-04-30)
5
+ ------------------
6
+
7
+ * Feature - This release introduces GetMatches and MergeProfiles APIs to fetch and merge duplicate profiles
8
+
4
9
  1.6.0 (2021-04-08)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.6.0
1
+ 1.7.0
@@ -48,6 +48,6 @@ require_relative 'aws-sdk-customerprofiles/customizations'
48
48
  # @!group service
49
49
  module Aws::CustomerProfiles
50
50
 
51
- GEM_VERSION = '1.6.0'
51
+ GEM_VERSION = '1.7.0'
52
52
 
53
53
  end
@@ -401,6 +401,10 @@ module Aws::CustomerProfiles
401
401
  # operation to enable Amazon Connect Customer Profiles to send messages
402
402
  # to the DeadLetterQueue.
403
403
  #
404
+ # @option params [Types::MatchingRequest] :matching
405
+ # The process of matching duplicate profiles. This process runs every
406
+ # Saturday at 12AM.
407
+ #
404
408
  # @option params [Hash<String,String>] :tags
405
409
  # The tags used to organize, track, or control access for this resource.
406
410
  #
@@ -410,6 +414,7 @@ module Aws::CustomerProfiles
410
414
  # * {Types::CreateDomainResponse#default_expiration_days #default_expiration_days} => Integer
411
415
  # * {Types::CreateDomainResponse#default_encryption_key #default_encryption_key} => String
412
416
  # * {Types::CreateDomainResponse#dead_letter_queue_url #dead_letter_queue_url} => String
417
+ # * {Types::CreateDomainResponse#matching #matching} => Types::MatchingResponse
413
418
  # * {Types::CreateDomainResponse#created_at #created_at} => Time
414
419
  # * {Types::CreateDomainResponse#last_updated_at #last_updated_at} => Time
415
420
  # * {Types::CreateDomainResponse#tags #tags} => Hash&lt;String,String&gt;
@@ -421,6 +426,9 @@ module Aws::CustomerProfiles
421
426
  # default_expiration_days: 1, # required
422
427
  # default_encryption_key: "encryptionKey",
423
428
  # dead_letter_queue_url: "sqsQueueUrl",
429
+ # matching: {
430
+ # enabled: false, # required
431
+ # },
424
432
  # tags: {
425
433
  # "TagKey" => "TagValue",
426
434
  # },
@@ -432,6 +440,7 @@ module Aws::CustomerProfiles
432
440
  # resp.default_expiration_days #=> Integer
433
441
  # resp.default_encryption_key #=> String
434
442
  # resp.dead_letter_queue_url #=> String
443
+ # resp.matching.enabled #=> Boolean
435
444
  # resp.created_at #=> Time
436
445
  # resp.last_updated_at #=> Time
437
446
  # resp.tags #=> Hash
@@ -458,7 +467,7 @@ module Aws::CustomerProfiles
458
467
  # A unique account number that you have given to the customer.
459
468
  #
460
469
  # @option params [String] :additional_information
461
- # Any additional information relevant to the customer's profile.
470
+ # Any additional information relevant to the customers profile.
462
471
  #
463
472
  # @option params [String] :party_type
464
473
  # The type of profile used to describe the customer.
@@ -482,8 +491,8 @@ module Aws::CustomerProfiles
482
491
  # The gender with which the customer identifies.
483
492
  #
484
493
  # @option params [String] :phone_number
485
- # The customer's phone number, which has not been specified as a
486
- # mobile, home, or business number.
494
+ # The customers phone number, which has not been specified as a mobile,
495
+ # home, or business number.
487
496
  #
488
497
  # @option params [String] :mobile_phone_number
489
498
  # The customer’s mobile phone number.
@@ -495,7 +504,7 @@ module Aws::CustomerProfiles
495
504
  # The customer’s business phone number.
496
505
  #
497
506
  # @option params [String] :email_address
498
- # The customer's email address, which has not been specified as a
507
+ # The customers email address, which has not been specified as a
499
508
  # personal or business address.
500
509
  #
501
510
  # @option params [String] :personal_email_address
@@ -824,7 +833,7 @@ module Aws::CustomerProfiles
824
833
  # Returns information about a specific domain.
825
834
  #
826
835
  # @option params [required, String] :domain_name
827
- # A unique name for the domain.
836
+ # The unique name of the domain.
828
837
  #
829
838
  # @return [Types::GetDomainResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
830
839
  #
@@ -833,6 +842,7 @@ module Aws::CustomerProfiles
833
842
  # * {Types::GetDomainResponse#default_encryption_key #default_encryption_key} => String
834
843
  # * {Types::GetDomainResponse#dead_letter_queue_url #dead_letter_queue_url} => String
835
844
  # * {Types::GetDomainResponse#stats #stats} => Types::DomainStats
845
+ # * {Types::GetDomainResponse#matching #matching} => Types::MatchingResponse
836
846
  # * {Types::GetDomainResponse#created_at #created_at} => Time
837
847
  # * {Types::GetDomainResponse#last_updated_at #last_updated_at} => Time
838
848
  # * {Types::GetDomainResponse#tags #tags} => Hash&lt;String,String&gt;
@@ -853,6 +863,7 @@ module Aws::CustomerProfiles
853
863
  # resp.stats.metering_profile_count #=> Integer
854
864
  # resp.stats.object_count #=> Integer
855
865
  # resp.stats.total_size #=> Integer
866
+ # resp.matching.enabled #=> Boolean
856
867
  # resp.created_at #=> Time
857
868
  # resp.last_updated_at #=> Time
858
869
  # resp.tags #=> Hash
@@ -910,6 +921,90 @@ module Aws::CustomerProfiles
910
921
  req.send_request(options)
911
922
  end
912
923
 
924
+ # This API is in preview release for Amazon Connect and subject to
925
+ # change.
926
+ #
927
+ # Before calling this API, use [CreateDomain][1] or [UpdateDomain][2] to
928
+ # enable identity resolution: set `Matching` to true.
929
+ #
930
+ # GetMatches returns potentially matching profiles, based on the results
931
+ # of the latest run of a machine learning process.
932
+ #
933
+ # Amazon Connect runs a batch process every Saturday at 12AM UTC to
934
+ # identify matching profiles. The results are returned up to seven days
935
+ # after the Saturday run.
936
+ #
937
+ # Amazon Connect uses the following profile attributes to identify
938
+ # matches:
939
+ #
940
+ # * PhoneNumber
941
+ #
942
+ # * HomePhoneNumber
943
+ #
944
+ # * BusinessPhoneNumber
945
+ #
946
+ # * MobilePhoneNumber
947
+ #
948
+ # * EmailAddress
949
+ #
950
+ # * PersonalEmailAddress
951
+ #
952
+ # * BusinessEmailAddress
953
+ #
954
+ # * FullName
955
+ #
956
+ # * BusinessName
957
+ #
958
+ #
959
+ #
960
+ # [1]: https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_CreateDomain.html
961
+ # [2]: https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_UpdateDomain.html
962
+ #
963
+ # @option params [String] :next_token
964
+ # The token for the next set of results. Use the value returned in the
965
+ # previous response in the next request to retrieve the next set of
966
+ # results.
967
+ #
968
+ # @option params [Integer] :max_results
969
+ # The maximum number of results to return per page.
970
+ #
971
+ # @option params [required, String] :domain_name
972
+ # The unique name of the domain.
973
+ #
974
+ # @return [Types::GetMatchesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
975
+ #
976
+ # * {Types::GetMatchesResponse#next_token #next_token} => String
977
+ # * {Types::GetMatchesResponse#match_generation_date #match_generation_date} => Time
978
+ # * {Types::GetMatchesResponse#potential_matches #potential_matches} => Integer
979
+ # * {Types::GetMatchesResponse#matches #matches} => Array&lt;Types::MatchItem&gt;
980
+ #
981
+ # @example Request syntax with placeholder values
982
+ #
983
+ # resp = client.get_matches({
984
+ # next_token: "token",
985
+ # max_results: 1,
986
+ # domain_name: "name", # required
987
+ # })
988
+ #
989
+ # @example Response structure
990
+ #
991
+ # resp.next_token #=> String
992
+ # resp.match_generation_date #=> Time
993
+ # resp.potential_matches #=> Integer
994
+ # resp.matches #=> Array
995
+ # resp.matches[0].match_id #=> String
996
+ # resp.matches[0].profile_ids #=> Array
997
+ # resp.matches[0].profile_ids[0] #=> String
998
+ #
999
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/GetMatches AWS API Documentation
1000
+ #
1001
+ # @overload get_matches(params = {})
1002
+ # @param [Hash] params ({})
1003
+ def get_matches(params = {}, options = {})
1004
+ req = build_request(:get_matches, params)
1005
+ req.send_request(options)
1006
+ end
1007
+
913
1008
  # Returns the object types for a specific domain.
914
1009
  #
915
1010
  # @option params [required, String] :domain_name
@@ -1318,6 +1413,109 @@ module Aws::CustomerProfiles
1318
1413
  req.send_request(options)
1319
1414
  end
1320
1415
 
1416
+ # This API is in preview release for Amazon Connect and subject to
1417
+ # change.
1418
+ #
1419
+ # Runs an AWS Lambda job that does the following:
1420
+ #
1421
+ # 1. All the profileKeys in the `ProfileToBeMerged` will be moved to
1422
+ # the main profile.
1423
+ #
1424
+ # 2. All the objects in the `ProfileToBeMerged` will be moved to the
1425
+ # main profile.
1426
+ #
1427
+ # 3. All the `ProfileToBeMerged` will be deleted at the end.
1428
+ #
1429
+ # 4. All the profileKeys in the `ProfileIdsToBeMerged` will be moved to
1430
+ # the main profile.
1431
+ #
1432
+ # 5. Standard fields are merged as follows:
1433
+ #
1434
+ # 1. Fields are always "union"-ed if there are no conflicts in
1435
+ # standard fields or attributeKeys.
1436
+ #
1437
+ # 2. When there are conflicting fields:
1438
+ #
1439
+ # 1. If no `SourceProfileIds` entry is specified, the main
1440
+ # Profile value is always taken.
1441
+ #
1442
+ # 2. If a `SourceProfileIds` entry is specified, the specified
1443
+ # profileId is always taken, even if it is a NULL value.
1444
+ #
1445
+ # You can use MergeProfiles together with [GetMatches][1], which returns
1446
+ # potentially matching profiles, or use it with the results of another
1447
+ # matching system. After profiles have been merged, they cannot be
1448
+ # separated (unmerged).
1449
+ #
1450
+ #
1451
+ #
1452
+ # [1]: https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetMatches.html
1453
+ #
1454
+ # @option params [required, String] :domain_name
1455
+ # The unique name of the domain.
1456
+ #
1457
+ # @option params [required, String] :main_profile_id
1458
+ # The identifier of the profile to be taken.
1459
+ #
1460
+ # @option params [required, Array<String>] :profile_ids_to_be_merged
1461
+ # The identifier of the profile to be merged into MainProfileId.
1462
+ #
1463
+ # @option params [Types::FieldSourceProfileIds] :field_source_profile_ids
1464
+ # The identifiers of the fields in the profile that has the information
1465
+ # you want to apply to the merge. For example, say you want to merge
1466
+ # EmailAddress from Profile1 into MainProfile. This would be the
1467
+ # identifier of the EmailAddress field in Profile1.
1468
+ #
1469
+ # @return [Types::MergeProfilesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1470
+ #
1471
+ # * {Types::MergeProfilesResponse#message #message} => String
1472
+ #
1473
+ # @example Request syntax with placeholder values
1474
+ #
1475
+ # resp = client.merge_profiles({
1476
+ # domain_name: "name", # required
1477
+ # main_profile_id: "uuid", # required
1478
+ # profile_ids_to_be_merged: ["uuid"], # required
1479
+ # field_source_profile_ids: {
1480
+ # account_number: "uuid",
1481
+ # additional_information: "uuid",
1482
+ # party_type: "uuid",
1483
+ # business_name: "uuid",
1484
+ # first_name: "uuid",
1485
+ # middle_name: "uuid",
1486
+ # last_name: "uuid",
1487
+ # birth_date: "uuid",
1488
+ # gender: "uuid",
1489
+ # phone_number: "uuid",
1490
+ # mobile_phone_number: "uuid",
1491
+ # home_phone_number: "uuid",
1492
+ # business_phone_number: "uuid",
1493
+ # email_address: "uuid",
1494
+ # personal_email_address: "uuid",
1495
+ # business_email_address: "uuid",
1496
+ # address: "uuid",
1497
+ # shipping_address: "uuid",
1498
+ # mailing_address: "uuid",
1499
+ # billing_address: "uuid",
1500
+ # attributes: {
1501
+ # "string1To255" => "uuid",
1502
+ # },
1503
+ # },
1504
+ # })
1505
+ #
1506
+ # @example Response structure
1507
+ #
1508
+ # resp.message #=> String
1509
+ #
1510
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/MergeProfiles AWS API Documentation
1511
+ #
1512
+ # @overload merge_profiles(params = {})
1513
+ # @param [Hash] params ({})
1514
+ def merge_profiles(params = {}, options = {})
1515
+ req = build_request(:merge_profiles, params)
1516
+ req.send_request(options)
1517
+ end
1518
+
1321
1519
  # Adds an integration between the service and a third-party service,
1322
1520
  # which includes Amazon AppFlow and Amazon Connect.
1323
1521
  #
@@ -1789,10 +1987,10 @@ module Aws::CustomerProfiles
1789
1987
  # Updates the properties of a domain, including creating or selecting a
1790
1988
  # dead letter queue or an encryption key.
1791
1989
  #
1792
- # Once a domain is created, the name can’t be changed.
1990
+ # After a domain is created, the name can’t be changed.
1793
1991
  #
1794
1992
  # @option params [required, String] :domain_name
1795
- # The unique name for the domain.
1993
+ # The unique name of the domain.
1796
1994
  #
1797
1995
  # @option params [Integer] :default_expiration_days
1798
1996
  # The default number of days until the data within the domain expires.
@@ -1811,6 +2009,10 @@ module Aws::CustomerProfiles
1811
2009
  # operation to enable Amazon Connect Customer Profiles to send messages
1812
2010
  # to the DeadLetterQueue.
1813
2011
  #
2012
+ # @option params [Types::MatchingRequest] :matching
2013
+ # The process of matching duplicate profiles. This process runs every
2014
+ # Saturday at 12AM.
2015
+ #
1814
2016
  # @option params [Hash<String,String>] :tags
1815
2017
  # The tags used to organize, track, or control access for this resource.
1816
2018
  #
@@ -1820,6 +2022,7 @@ module Aws::CustomerProfiles
1820
2022
  # * {Types::UpdateDomainResponse#default_expiration_days #default_expiration_days} => Integer
1821
2023
  # * {Types::UpdateDomainResponse#default_encryption_key #default_encryption_key} => String
1822
2024
  # * {Types::UpdateDomainResponse#dead_letter_queue_url #dead_letter_queue_url} => String
2025
+ # * {Types::UpdateDomainResponse#matching #matching} => Types::MatchingResponse
1823
2026
  # * {Types::UpdateDomainResponse#created_at #created_at} => Time
1824
2027
  # * {Types::UpdateDomainResponse#last_updated_at #last_updated_at} => Time
1825
2028
  # * {Types::UpdateDomainResponse#tags #tags} => Hash&lt;String,String&gt;
@@ -1831,6 +2034,9 @@ module Aws::CustomerProfiles
1831
2034
  # default_expiration_days: 1,
1832
2035
  # default_encryption_key: "encryptionKey",
1833
2036
  # dead_letter_queue_url: "sqsQueueUrl",
2037
+ # matching: {
2038
+ # enabled: false, # required
2039
+ # },
1834
2040
  # tags: {
1835
2041
  # "TagKey" => "TagValue",
1836
2042
  # },
@@ -1842,6 +2048,7 @@ module Aws::CustomerProfiles
1842
2048
  # resp.default_expiration_days #=> Integer
1843
2049
  # resp.default_encryption_key #=> String
1844
2050
  # resp.dead_letter_queue_url #=> String
2051
+ # resp.matching.enabled #=> Boolean
1845
2052
  # resp.created_at #=> Time
1846
2053
  # resp.last_updated_at #=> Time
1847
2054
  # resp.tags #=> Hash
@@ -1870,7 +2077,7 @@ module Aws::CustomerProfiles
1870
2077
  # The unique identifier of a customer profile.
1871
2078
  #
1872
2079
  # @option params [String] :additional_information
1873
- # Any additional information relevant to the customer's profile.
2080
+ # Any additional information relevant to the customers profile.
1874
2081
  #
1875
2082
  # @option params [String] :account_number
1876
2083
  # A unique account number that you have given to the customer.
@@ -1897,8 +2104,8 @@ module Aws::CustomerProfiles
1897
2104
  # The gender with which the customer identifies.
1898
2105
  #
1899
2106
  # @option params [String] :phone_number
1900
- # The customer's phone number, which has not been specified as a
1901
- # mobile, home, or business number.
2107
+ # The customers phone number, which has not been specified as a mobile,
2108
+ # home, or business number.
1902
2109
  #
1903
2110
  # @option params [String] :mobile_phone_number
1904
2111
  # The customer’s mobile phone number.
@@ -1910,7 +2117,7 @@ module Aws::CustomerProfiles
1910
2117
  # The customer’s business phone number.
1911
2118
  #
1912
2119
  # @option params [String] :email_address
1913
- # The customer's email address, which has not been specified as a
2120
+ # The customers email address, which has not been specified as a
1914
2121
  # personal or business address.
1915
2122
  #
1916
2123
  # @option params [String] :personal_email_address
@@ -2039,7 +2246,7 @@ module Aws::CustomerProfiles
2039
2246
  params: params,
2040
2247
  config: config)
2041
2248
  context[:gem_name] = 'aws-sdk-customerprofiles'
2042
- context[:gem_version] = '1.6.0'
2249
+ context[:gem_version] = '1.7.0'
2043
2250
  Seahorse::Client::Request.new(handlers, context)
2044
2251
  end
2045
2252
 
@@ -17,6 +17,7 @@ module Aws::CustomerProfiles
17
17
  AddProfileKeyRequest = Shapes::StructureShape.new(name: 'AddProfileKeyRequest')
18
18
  AddProfileKeyResponse = Shapes::StructureShape.new(name: 'AddProfileKeyResponse')
19
19
  Address = Shapes::StructureShape.new(name: 'Address')
20
+ AttributeSourceIdMap = Shapes::MapShape.new(name: 'AttributeSourceIdMap')
20
21
  Attributes = Shapes::MapShape.new(name: 'Attributes')
21
22
  BadRequestException = Shapes::StructureShape.new(name: 'BadRequestException')
22
23
  BucketName = Shapes::StringShape.new(name: 'BucketName')
@@ -48,6 +49,7 @@ module Aws::CustomerProfiles
48
49
  FieldContentType = Shapes::StringShape.new(name: 'FieldContentType')
49
50
  FieldMap = Shapes::MapShape.new(name: 'FieldMap')
50
51
  FieldNameList = Shapes::ListShape.new(name: 'FieldNameList')
52
+ FieldSourceProfileIds = Shapes::StructureShape.new(name: 'FieldSourceProfileIds')
51
53
  FlowDefinition = Shapes::StructureShape.new(name: 'FlowDefinition')
52
54
  FlowDescription = Shapes::StringShape.new(name: 'FlowDescription')
53
55
  FlowName = Shapes::StringShape.new(name: 'FlowName')
@@ -56,6 +58,8 @@ module Aws::CustomerProfiles
56
58
  GetDomainResponse = Shapes::StructureShape.new(name: 'GetDomainResponse')
57
59
  GetIntegrationRequest = Shapes::StructureShape.new(name: 'GetIntegrationRequest')
58
60
  GetIntegrationResponse = Shapes::StructureShape.new(name: 'GetIntegrationResponse')
61
+ GetMatchesRequest = Shapes::StructureShape.new(name: 'GetMatchesRequest')
62
+ GetMatchesResponse = Shapes::StructureShape.new(name: 'GetMatchesResponse')
59
63
  GetProfileObjectTypeRequest = Shapes::StructureShape.new(name: 'GetProfileObjectTypeRequest')
60
64
  GetProfileObjectTypeResponse = Shapes::StructureShape.new(name: 'GetProfileObjectTypeResponse')
61
65
  GetProfileObjectTypeTemplateRequest = Shapes::StructureShape.new(name: 'GetProfileObjectTypeTemplateRequest')
@@ -86,6 +90,12 @@ module Aws::CustomerProfiles
86
90
  ListTagsForResourceResponse = Shapes::StructureShape.new(name: 'ListTagsForResourceResponse')
87
91
  MarketoConnectorOperator = Shapes::StringShape.new(name: 'MarketoConnectorOperator')
88
92
  MarketoSourceProperties = Shapes::StructureShape.new(name: 'MarketoSourceProperties')
93
+ MatchItem = Shapes::StructureShape.new(name: 'MatchItem')
94
+ MatchesList = Shapes::ListShape.new(name: 'MatchesList')
95
+ MatchingRequest = Shapes::StructureShape.new(name: 'MatchingRequest')
96
+ MatchingResponse = Shapes::StructureShape.new(name: 'MatchingResponse')
97
+ MergeProfilesRequest = Shapes::StructureShape.new(name: 'MergeProfilesRequest')
98
+ MergeProfilesResponse = Shapes::StructureShape.new(name: 'MergeProfilesResponse')
89
99
  Object = Shapes::StringShape.new(name: 'Object')
90
100
  ObjectTypeField = Shapes::StructureShape.new(name: 'ObjectTypeField')
91
101
  ObjectTypeKey = Shapes::StructureShape.new(name: 'ObjectTypeKey')
@@ -93,6 +103,8 @@ module Aws::CustomerProfiles
93
103
  OperatorPropertiesKeys = Shapes::StringShape.new(name: 'OperatorPropertiesKeys')
94
104
  PartyType = Shapes::StringShape.new(name: 'PartyType')
95
105
  Profile = Shapes::StructureShape.new(name: 'Profile')
106
+ ProfileIdList = Shapes::ListShape.new(name: 'ProfileIdList')
107
+ ProfileIdToBeMergedList = Shapes::ListShape.new(name: 'ProfileIdToBeMergedList')
96
108
  ProfileList = Shapes::ListShape.new(name: 'ProfileList')
97
109
  ProfileObjectList = Shapes::ListShape.new(name: 'ProfileObjectList')
98
110
  ProfileObjectTypeList = Shapes::ListShape.new(name: 'ProfileObjectTypeList')
@@ -152,9 +164,11 @@ module Aws::CustomerProfiles
152
164
  encryptionKey = Shapes::StringShape.new(name: 'encryptionKey')
153
165
  expirationDaysInteger = Shapes::IntegerShape.new(name: 'expirationDaysInteger')
154
166
  long = Shapes::IntegerShape.new(name: 'long')
167
+ matchesNumber = Shapes::IntegerShape.new(name: 'matchesNumber')
155
168
  maxSize100 = Shapes::IntegerShape.new(name: 'maxSize100')
156
169
  message = Shapes::StringShape.new(name: 'message')
157
170
  name = Shapes::StringShape.new(name: 'name')
171
+ optionalBoolean = Shapes::BooleanShape.new(name: 'optionalBoolean')
158
172
  requestValueList = Shapes::ListShape.new(name: 'requestValueList')
159
173
  sqsQueueUrl = Shapes::StringShape.new(name: 'sqsQueueUrl')
160
174
  string0To1000 = Shapes::StringShape.new(name: 'string0To1000')
@@ -194,6 +208,9 @@ module Aws::CustomerProfiles
194
208
  Address.add_member(:postal_code, Shapes::ShapeRef.new(shape: string1To255, location_name: "PostalCode"))
195
209
  Address.struct_class = Types::Address
196
210
 
211
+ AttributeSourceIdMap.key = Shapes::ShapeRef.new(shape: string1To255)
212
+ AttributeSourceIdMap.value = Shapes::ShapeRef.new(shape: uuid)
213
+
197
214
  Attributes.key = Shapes::ShapeRef.new(shape: string1To255)
198
215
  Attributes.value = Shapes::ShapeRef.new(shape: string1To255)
199
216
 
@@ -211,6 +228,7 @@ module Aws::CustomerProfiles
211
228
  CreateDomainRequest.add_member(:default_expiration_days, Shapes::ShapeRef.new(shape: expirationDaysInteger, required: true, location_name: "DefaultExpirationDays"))
212
229
  CreateDomainRequest.add_member(:default_encryption_key, Shapes::ShapeRef.new(shape: encryptionKey, location_name: "DefaultEncryptionKey"))
213
230
  CreateDomainRequest.add_member(:dead_letter_queue_url, Shapes::ShapeRef.new(shape: sqsQueueUrl, location_name: "DeadLetterQueueUrl"))
231
+ CreateDomainRequest.add_member(:matching, Shapes::ShapeRef.new(shape: MatchingRequest, location_name: "Matching"))
214
232
  CreateDomainRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "Tags"))
215
233
  CreateDomainRequest.struct_class = Types::CreateDomainRequest
216
234
 
@@ -218,6 +236,7 @@ module Aws::CustomerProfiles
218
236
  CreateDomainResponse.add_member(:default_expiration_days, Shapes::ShapeRef.new(shape: expirationDaysInteger, required: true, location_name: "DefaultExpirationDays"))
219
237
  CreateDomainResponse.add_member(:default_encryption_key, Shapes::ShapeRef.new(shape: encryptionKey, location_name: "DefaultEncryptionKey"))
220
238
  CreateDomainResponse.add_member(:dead_letter_queue_url, Shapes::ShapeRef.new(shape: sqsQueueUrl, location_name: "DeadLetterQueueUrl"))
239
+ CreateDomainResponse.add_member(:matching, Shapes::ShapeRef.new(shape: MatchingResponse, location_name: "Matching"))
221
240
  CreateDomainResponse.add_member(:created_at, Shapes::ShapeRef.new(shape: timestamp, required: true, location_name: "CreatedAt"))
222
241
  CreateDomainResponse.add_member(:last_updated_at, Shapes::ShapeRef.new(shape: timestamp, required: true, location_name: "LastUpdatedAt"))
223
242
  CreateDomainResponse.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "Tags"))
@@ -308,6 +327,29 @@ module Aws::CustomerProfiles
308
327
 
309
328
  FieldNameList.member = Shapes::ShapeRef.new(shape: name)
310
329
 
330
+ FieldSourceProfileIds.add_member(:account_number, Shapes::ShapeRef.new(shape: uuid, location_name: "AccountNumber"))
331
+ FieldSourceProfileIds.add_member(:additional_information, Shapes::ShapeRef.new(shape: uuid, location_name: "AdditionalInformation"))
332
+ FieldSourceProfileIds.add_member(:party_type, Shapes::ShapeRef.new(shape: uuid, location_name: "PartyType"))
333
+ FieldSourceProfileIds.add_member(:business_name, Shapes::ShapeRef.new(shape: uuid, location_name: "BusinessName"))
334
+ FieldSourceProfileIds.add_member(:first_name, Shapes::ShapeRef.new(shape: uuid, location_name: "FirstName"))
335
+ FieldSourceProfileIds.add_member(:middle_name, Shapes::ShapeRef.new(shape: uuid, location_name: "MiddleName"))
336
+ FieldSourceProfileIds.add_member(:last_name, Shapes::ShapeRef.new(shape: uuid, location_name: "LastName"))
337
+ FieldSourceProfileIds.add_member(:birth_date, Shapes::ShapeRef.new(shape: uuid, location_name: "BirthDate"))
338
+ FieldSourceProfileIds.add_member(:gender, Shapes::ShapeRef.new(shape: uuid, location_name: "Gender"))
339
+ FieldSourceProfileIds.add_member(:phone_number, Shapes::ShapeRef.new(shape: uuid, location_name: "PhoneNumber"))
340
+ FieldSourceProfileIds.add_member(:mobile_phone_number, Shapes::ShapeRef.new(shape: uuid, location_name: "MobilePhoneNumber"))
341
+ FieldSourceProfileIds.add_member(:home_phone_number, Shapes::ShapeRef.new(shape: uuid, location_name: "HomePhoneNumber"))
342
+ FieldSourceProfileIds.add_member(:business_phone_number, Shapes::ShapeRef.new(shape: uuid, location_name: "BusinessPhoneNumber"))
343
+ FieldSourceProfileIds.add_member(:email_address, Shapes::ShapeRef.new(shape: uuid, location_name: "EmailAddress"))
344
+ FieldSourceProfileIds.add_member(:personal_email_address, Shapes::ShapeRef.new(shape: uuid, location_name: "PersonalEmailAddress"))
345
+ FieldSourceProfileIds.add_member(:business_email_address, Shapes::ShapeRef.new(shape: uuid, location_name: "BusinessEmailAddress"))
346
+ FieldSourceProfileIds.add_member(:address, Shapes::ShapeRef.new(shape: uuid, location_name: "Address"))
347
+ FieldSourceProfileIds.add_member(:shipping_address, Shapes::ShapeRef.new(shape: uuid, location_name: "ShippingAddress"))
348
+ FieldSourceProfileIds.add_member(:mailing_address, Shapes::ShapeRef.new(shape: uuid, location_name: "MailingAddress"))
349
+ FieldSourceProfileIds.add_member(:billing_address, Shapes::ShapeRef.new(shape: uuid, location_name: "BillingAddress"))
350
+ FieldSourceProfileIds.add_member(:attributes, Shapes::ShapeRef.new(shape: AttributeSourceIdMap, location_name: "Attributes"))
351
+ FieldSourceProfileIds.struct_class = Types::FieldSourceProfileIds
352
+
311
353
  FlowDefinition.add_member(:description, Shapes::ShapeRef.new(shape: FlowDescription, location_name: "Description"))
312
354
  FlowDefinition.add_member(:flow_name, Shapes::ShapeRef.new(shape: FlowName, required: true, location_name: "FlowName"))
313
355
  FlowDefinition.add_member(:kms_arn, Shapes::ShapeRef.new(shape: KmsArn, required: true, location_name: "KmsArn"))
@@ -324,6 +366,7 @@ module Aws::CustomerProfiles
324
366
  GetDomainResponse.add_member(:default_encryption_key, Shapes::ShapeRef.new(shape: encryptionKey, location_name: "DefaultEncryptionKey"))
325
367
  GetDomainResponse.add_member(:dead_letter_queue_url, Shapes::ShapeRef.new(shape: sqsQueueUrl, location_name: "DeadLetterQueueUrl"))
326
368
  GetDomainResponse.add_member(:stats, Shapes::ShapeRef.new(shape: DomainStats, location_name: "Stats"))
369
+ GetDomainResponse.add_member(:matching, Shapes::ShapeRef.new(shape: MatchingResponse, location_name: "Matching"))
327
370
  GetDomainResponse.add_member(:created_at, Shapes::ShapeRef.new(shape: timestamp, required: true, location_name: "CreatedAt"))
328
371
  GetDomainResponse.add_member(:last_updated_at, Shapes::ShapeRef.new(shape: timestamp, required: true, location_name: "LastUpdatedAt"))
329
372
  GetDomainResponse.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "Tags"))
@@ -341,6 +384,17 @@ module Aws::CustomerProfiles
341
384
  GetIntegrationResponse.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "Tags"))
342
385
  GetIntegrationResponse.struct_class = Types::GetIntegrationResponse
343
386
 
387
+ GetMatchesRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: token, location: "querystring", location_name: "next-token"))
388
+ GetMatchesRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: maxSize100, location: "querystring", location_name: "max-results"))
389
+ GetMatchesRequest.add_member(:domain_name, Shapes::ShapeRef.new(shape: name, required: true, location: "uri", location_name: "DomainName"))
390
+ GetMatchesRequest.struct_class = Types::GetMatchesRequest
391
+
392
+ GetMatchesResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: token, location_name: "NextToken"))
393
+ GetMatchesResponse.add_member(:match_generation_date, Shapes::ShapeRef.new(shape: timestamp, location_name: "MatchGenerationDate"))
394
+ GetMatchesResponse.add_member(:potential_matches, Shapes::ShapeRef.new(shape: matchesNumber, location_name: "PotentialMatches"))
395
+ GetMatchesResponse.add_member(:matches, Shapes::ShapeRef.new(shape: MatchesList, location_name: "Matches"))
396
+ GetMatchesResponse.struct_class = Types::GetMatchesResponse
397
+
344
398
  GetProfileObjectTypeRequest.add_member(:domain_name, Shapes::ShapeRef.new(shape: name, required: true, location: "uri", location_name: "DomainName"))
345
399
  GetProfileObjectTypeRequest.add_member(:object_type_name, Shapes::ShapeRef.new(shape: typeName, required: true, location: "uri", location_name: "ObjectTypeName"))
346
400
  GetProfileObjectTypeRequest.struct_class = Types::GetProfileObjectTypeRequest
@@ -474,6 +528,27 @@ module Aws::CustomerProfiles
474
528
  MarketoSourceProperties.add_member(:object, Shapes::ShapeRef.new(shape: Object, required: true, location_name: "Object"))
475
529
  MarketoSourceProperties.struct_class = Types::MarketoSourceProperties
476
530
 
531
+ MatchItem.add_member(:match_id, Shapes::ShapeRef.new(shape: string1To255, location_name: "MatchId"))
532
+ MatchItem.add_member(:profile_ids, Shapes::ShapeRef.new(shape: ProfileIdList, location_name: "ProfileIds"))
533
+ MatchItem.struct_class = Types::MatchItem
534
+
535
+ MatchesList.member = Shapes::ShapeRef.new(shape: MatchItem)
536
+
537
+ MatchingRequest.add_member(:enabled, Shapes::ShapeRef.new(shape: optionalBoolean, required: true, location_name: "Enabled"))
538
+ MatchingRequest.struct_class = Types::MatchingRequest
539
+
540
+ MatchingResponse.add_member(:enabled, Shapes::ShapeRef.new(shape: optionalBoolean, location_name: "Enabled"))
541
+ MatchingResponse.struct_class = Types::MatchingResponse
542
+
543
+ MergeProfilesRequest.add_member(:domain_name, Shapes::ShapeRef.new(shape: name, required: true, location: "uri", location_name: "DomainName"))
544
+ MergeProfilesRequest.add_member(:main_profile_id, Shapes::ShapeRef.new(shape: uuid, required: true, location_name: "MainProfileId"))
545
+ MergeProfilesRequest.add_member(:profile_ids_to_be_merged, Shapes::ShapeRef.new(shape: ProfileIdToBeMergedList, required: true, location_name: "ProfileIdsToBeMerged"))
546
+ MergeProfilesRequest.add_member(:field_source_profile_ids, Shapes::ShapeRef.new(shape: FieldSourceProfileIds, location_name: "FieldSourceProfileIds"))
547
+ MergeProfilesRequest.struct_class = Types::MergeProfilesRequest
548
+
549
+ MergeProfilesResponse.add_member(:message, Shapes::ShapeRef.new(shape: message, location_name: "Message"))
550
+ MergeProfilesResponse.struct_class = Types::MergeProfilesResponse
551
+
477
552
  ObjectTypeField.add_member(:source, Shapes::ShapeRef.new(shape: text, location_name: "Source"))
478
553
  ObjectTypeField.add_member(:target, Shapes::ShapeRef.new(shape: text, location_name: "Target"))
479
554
  ObjectTypeField.add_member(:content_type, Shapes::ShapeRef.new(shape: FieldContentType, location_name: "ContentType"))
@@ -509,6 +584,10 @@ module Aws::CustomerProfiles
509
584
  Profile.add_member(:attributes, Shapes::ShapeRef.new(shape: Attributes, location_name: "Attributes"))
510
585
  Profile.struct_class = Types::Profile
511
586
 
587
+ ProfileIdList.member = Shapes::ShapeRef.new(shape: uuid)
588
+
589
+ ProfileIdToBeMergedList.member = Shapes::ShapeRef.new(shape: uuid)
590
+
512
591
  ProfileList.member = Shapes::ShapeRef.new(shape: Profile)
513
592
 
514
593
  ProfileObjectList.member = Shapes::ShapeRef.new(shape: ListProfileObjectsItem)
@@ -675,6 +754,7 @@ module Aws::CustomerProfiles
675
754
  UpdateDomainRequest.add_member(:default_expiration_days, Shapes::ShapeRef.new(shape: expirationDaysInteger, location_name: "DefaultExpirationDays"))
676
755
  UpdateDomainRequest.add_member(:default_encryption_key, Shapes::ShapeRef.new(shape: encryptionKey, location_name: "DefaultEncryptionKey"))
677
756
  UpdateDomainRequest.add_member(:dead_letter_queue_url, Shapes::ShapeRef.new(shape: sqsQueueUrl, location_name: "DeadLetterQueueUrl"))
757
+ UpdateDomainRequest.add_member(:matching, Shapes::ShapeRef.new(shape: MatchingRequest, location_name: "Matching"))
678
758
  UpdateDomainRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "Tags"))
679
759
  UpdateDomainRequest.struct_class = Types::UpdateDomainRequest
680
760
 
@@ -682,6 +762,7 @@ module Aws::CustomerProfiles
682
762
  UpdateDomainResponse.add_member(:default_expiration_days, Shapes::ShapeRef.new(shape: expirationDaysInteger, location_name: "DefaultExpirationDays"))
683
763
  UpdateDomainResponse.add_member(:default_encryption_key, Shapes::ShapeRef.new(shape: encryptionKey, location_name: "DefaultEncryptionKey"))
684
764
  UpdateDomainResponse.add_member(:dead_letter_queue_url, Shapes::ShapeRef.new(shape: sqsQueueUrl, location_name: "DeadLetterQueueUrl"))
765
+ UpdateDomainResponse.add_member(:matching, Shapes::ShapeRef.new(shape: MatchingResponse, location_name: "Matching"))
685
766
  UpdateDomainResponse.add_member(:created_at, Shapes::ShapeRef.new(shape: timestamp, required: true, location_name: "CreatedAt"))
686
767
  UpdateDomainResponse.add_member(:last_updated_at, Shapes::ShapeRef.new(shape: timestamp, required: true, location_name: "LastUpdatedAt"))
687
768
  UpdateDomainResponse.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "Tags"))
@@ -882,6 +963,19 @@ module Aws::CustomerProfiles
882
963
  o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
883
964
  end)
884
965
 
966
+ api.add_operation(:get_matches, Seahorse::Model::Operation.new.tap do |o|
967
+ o.name = "GetMatches"
968
+ o.http_method = "GET"
969
+ o.http_request_uri = "/domains/{DomainName}/matches"
970
+ o.input = Shapes::ShapeRef.new(shape: GetMatchesRequest)
971
+ o.output = Shapes::ShapeRef.new(shape: GetMatchesResponse)
972
+ o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
973
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
974
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
975
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
976
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
977
+ end)
978
+
885
979
  api.add_operation(:get_profile_object_type, Seahorse::Model::Operation.new.tap do |o|
886
980
  o.name = "GetProfileObjectType"
887
981
  o.http_method = "GET"
@@ -997,6 +1091,18 @@ module Aws::CustomerProfiles
997
1091
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
998
1092
  end)
999
1093
 
1094
+ api.add_operation(:merge_profiles, Seahorse::Model::Operation.new.tap do |o|
1095
+ o.name = "MergeProfiles"
1096
+ o.http_method = "POST"
1097
+ o.http_request_uri = "/domains/{DomainName}/profiles/objects/merge"
1098
+ o.input = Shapes::ShapeRef.new(shape: MergeProfilesRequest)
1099
+ o.output = Shapes::ShapeRef.new(shape: MergeProfilesResponse)
1100
+ o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
1101
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1102
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1103
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
1104
+ end)
1105
+
1000
1106
  api.add_operation(:put_integration, Seahorse::Model::Operation.new.tap do |o|
1001
1107
  o.name = "PutIntegration"
1002
1108
  o.http_method = "PUT"
@@ -222,6 +222,9 @@ module Aws::CustomerProfiles
222
222
  # default_expiration_days: 1, # required
223
223
  # default_encryption_key: "encryptionKey",
224
224
  # dead_letter_queue_url: "sqsQueueUrl",
225
+ # matching: {
226
+ # enabled: false, # required
227
+ # },
225
228
  # tags: {
226
229
  # "TagKey" => "TagValue",
227
230
  # },
@@ -250,6 +253,11 @@ module Aws::CustomerProfiles
250
253
  # messages to the DeadLetterQueue.
251
254
  # @return [String]
252
255
  #
256
+ # @!attribute [rw] matching
257
+ # The process of matching duplicate profiles. This process runs every
258
+ # Saturday at 12AM.
259
+ # @return [Types::MatchingRequest]
260
+ #
253
261
  # @!attribute [rw] tags
254
262
  # The tags used to organize, track, or control access for this
255
263
  # resource.
@@ -262,6 +270,7 @@ module Aws::CustomerProfiles
262
270
  :default_expiration_days,
263
271
  :default_encryption_key,
264
272
  :dead_letter_queue_url,
273
+ :matching,
265
274
  :tags)
266
275
  SENSITIVE = []
267
276
  include Aws::Structure
@@ -287,6 +296,11 @@ module Aws::CustomerProfiles
287
296
  # errors associated with ingesting data from third party applications.
288
297
  # @return [String]
289
298
  #
299
+ # @!attribute [rw] matching
300
+ # The process of matching duplicate profiles. This process runs every
301
+ # Saturday at 12AM.
302
+ # @return [Types::MatchingResponse]
303
+ #
290
304
  # @!attribute [rw] created_at
291
305
  # The timestamp of when the domain was created.
292
306
  # @return [Time]
@@ -307,6 +321,7 @@ module Aws::CustomerProfiles
307
321
  :default_expiration_days,
308
322
  :default_encryption_key,
309
323
  :dead_letter_queue_url,
324
+ :matching,
310
325
  :created_at,
311
326
  :last_updated_at,
312
327
  :tags)
@@ -397,7 +412,7 @@ module Aws::CustomerProfiles
397
412
  # @return [String]
398
413
  #
399
414
  # @!attribute [rw] additional_information
400
- # Any additional information relevant to the customer's profile.
415
+ # Any additional information relevant to the customers profile.
401
416
  # @return [String]
402
417
  #
403
418
  # @!attribute [rw] party_type
@@ -429,7 +444,7 @@ module Aws::CustomerProfiles
429
444
  # @return [String]
430
445
  #
431
446
  # @!attribute [rw] phone_number
432
- # The customer's phone number, which has not been specified as a
447
+ # The customers phone number, which has not been specified as a
433
448
  # mobile, home, or business number.
434
449
  # @return [String]
435
450
  #
@@ -446,7 +461,7 @@ module Aws::CustomerProfiles
446
461
  # @return [String]
447
462
  #
448
463
  # @!attribute [rw] email_address
449
- # The customer's email address, which has not been specified as a
464
+ # The customers email address, which has not been specified as a
450
465
  # personal or business address.
451
466
  # @return [String]
452
467
  #
@@ -793,6 +808,152 @@ module Aws::CustomerProfiles
793
808
  include Aws::Structure
794
809
  end
795
810
 
811
+ # A duplicate customer profile that is to be merged into a main profile.
812
+ #
813
+ # @note When making an API call, you may pass FieldSourceProfileIds
814
+ # data as a hash:
815
+ #
816
+ # {
817
+ # account_number: "uuid",
818
+ # additional_information: "uuid",
819
+ # party_type: "uuid",
820
+ # business_name: "uuid",
821
+ # first_name: "uuid",
822
+ # middle_name: "uuid",
823
+ # last_name: "uuid",
824
+ # birth_date: "uuid",
825
+ # gender: "uuid",
826
+ # phone_number: "uuid",
827
+ # mobile_phone_number: "uuid",
828
+ # home_phone_number: "uuid",
829
+ # business_phone_number: "uuid",
830
+ # email_address: "uuid",
831
+ # personal_email_address: "uuid",
832
+ # business_email_address: "uuid",
833
+ # address: "uuid",
834
+ # shipping_address: "uuid",
835
+ # mailing_address: "uuid",
836
+ # billing_address: "uuid",
837
+ # attributes: {
838
+ # "string1To255" => "uuid",
839
+ # },
840
+ # }
841
+ #
842
+ # @!attribute [rw] account_number
843
+ # A unique identifier for the account number field to be merged.
844
+ # @return [String]
845
+ #
846
+ # @!attribute [rw] additional_information
847
+ # A unique identifier for the additional information field to be
848
+ # merged.
849
+ # @return [String]
850
+ #
851
+ # @!attribute [rw] party_type
852
+ # A unique identifier for the party type field to be merged.
853
+ # @return [String]
854
+ #
855
+ # @!attribute [rw] business_name
856
+ # A unique identifier for the business name field to be merged.
857
+ # @return [String]
858
+ #
859
+ # @!attribute [rw] first_name
860
+ # A unique identifier for the first name field to be merged.
861
+ # @return [String]
862
+ #
863
+ # @!attribute [rw] middle_name
864
+ # A unique identifier for the middle name field to be merged.
865
+ # @return [String]
866
+ #
867
+ # @!attribute [rw] last_name
868
+ # A unique identifier for the last name field to be merged.
869
+ # @return [String]
870
+ #
871
+ # @!attribute [rw] birth_date
872
+ # A unique identifier for the birthdate field to be merged.
873
+ # @return [String]
874
+ #
875
+ # @!attribute [rw] gender
876
+ # A unique identifier for the gender field to be merged.
877
+ # @return [String]
878
+ #
879
+ # @!attribute [rw] phone_number
880
+ # A unique identifier for the phone number field to be merged.
881
+ # @return [String]
882
+ #
883
+ # @!attribute [rw] mobile_phone_number
884
+ # A unique identifier for the mobile phone number field to be merged.
885
+ # @return [String]
886
+ #
887
+ # @!attribute [rw] home_phone_number
888
+ # A unique identifier for the home phone number field to be merged.
889
+ # @return [String]
890
+ #
891
+ # @!attribute [rw] business_phone_number
892
+ # A unique identifier for the business phone number field to be
893
+ # merged.
894
+ # @return [String]
895
+ #
896
+ # @!attribute [rw] email_address
897
+ # A unique identifier for the email address field to be merged.
898
+ # @return [String]
899
+ #
900
+ # @!attribute [rw] personal_email_address
901
+ # A unique identifier for the personal email address field to be
902
+ # merged.
903
+ # @return [String]
904
+ #
905
+ # @!attribute [rw] business_email_address
906
+ # A unique identifier for the party type field to be merged.
907
+ # @return [String]
908
+ #
909
+ # @!attribute [rw] address
910
+ # A unique identifier for the party type field to be merged.
911
+ # @return [String]
912
+ #
913
+ # @!attribute [rw] shipping_address
914
+ # A unique identifier for the shipping address field to be merged.
915
+ # @return [String]
916
+ #
917
+ # @!attribute [rw] mailing_address
918
+ # A unique identifier for the mailing address field to be merged.
919
+ # @return [String]
920
+ #
921
+ # @!attribute [rw] billing_address
922
+ # A unique identifier for the billing type field to be merged.
923
+ # @return [String]
924
+ #
925
+ # @!attribute [rw] attributes
926
+ # A unique identifier for the attributes field to be merged.
927
+ # @return [Hash<String,String>]
928
+ #
929
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/FieldSourceProfileIds AWS API Documentation
930
+ #
931
+ class FieldSourceProfileIds < Struct.new(
932
+ :account_number,
933
+ :additional_information,
934
+ :party_type,
935
+ :business_name,
936
+ :first_name,
937
+ :middle_name,
938
+ :last_name,
939
+ :birth_date,
940
+ :gender,
941
+ :phone_number,
942
+ :mobile_phone_number,
943
+ :home_phone_number,
944
+ :business_phone_number,
945
+ :email_address,
946
+ :personal_email_address,
947
+ :business_email_address,
948
+ :address,
949
+ :shipping_address,
950
+ :mailing_address,
951
+ :billing_address,
952
+ :attributes)
953
+ SENSITIVE = []
954
+ include Aws::Structure
955
+ end
956
+
796
957
  # The configurations that control how Customer Profiles retrieves data
797
958
  # from the source, Amazon AppFlow. Customer Profiles uses this
798
959
  # information to create an AppFlow flow on behalf of customers.
@@ -913,7 +1074,7 @@ module Aws::CustomerProfiles
913
1074
  # }
914
1075
  #
915
1076
  # @!attribute [rw] domain_name
916
- # A unique name for the domain.
1077
+ # The unique name of the domain.
917
1078
  # @return [String]
918
1079
  #
919
1080
  # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/GetDomainRequest AWS API Documentation
@@ -948,6 +1109,11 @@ module Aws::CustomerProfiles
948
1109
  # Usage-specific statistics about the domain.
949
1110
  # @return [Types::DomainStats]
950
1111
  #
1112
+ # @!attribute [rw] matching
1113
+ # The process of matching duplicate profiles. This process runs every
1114
+ # Saturday at 12AM.
1115
+ # @return [Types::MatchingResponse]
1116
+ #
951
1117
  # @!attribute [rw] created_at
952
1118
  # The timestamp of when the domain was created.
953
1119
  # @return [Time]
@@ -969,6 +1135,7 @@ module Aws::CustomerProfiles
969
1135
  :default_encryption_key,
970
1136
  :dead_letter_queue_url,
971
1137
  :stats,
1138
+ :matching,
972
1139
  :created_at,
973
1140
  :last_updated_at,
974
1141
  :tags)
@@ -1039,6 +1206,67 @@ module Aws::CustomerProfiles
1039
1206
  include Aws::Structure
1040
1207
  end
1041
1208
 
1209
+ # @note When making an API call, you may pass GetMatchesRequest
1210
+ # data as a hash:
1211
+ #
1212
+ # {
1213
+ # next_token: "token",
1214
+ # max_results: 1,
1215
+ # domain_name: "name", # required
1216
+ # }
1217
+ #
1218
+ # @!attribute [rw] next_token
1219
+ # The token for the next set of results. Use the value returned in the
1220
+ # previous response in the next request to retrieve the next set of
1221
+ # results.
1222
+ # @return [String]
1223
+ #
1224
+ # @!attribute [rw] max_results
1225
+ # The maximum number of results to return per page.
1226
+ # @return [Integer]
1227
+ #
1228
+ # @!attribute [rw] domain_name
1229
+ # The unique name of the domain.
1230
+ # @return [String]
1231
+ #
1232
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/GetMatchesRequest AWS API Documentation
1233
+ #
1234
+ class GetMatchesRequest < Struct.new(
1235
+ :next_token,
1236
+ :max_results,
1237
+ :domain_name)
1238
+ SENSITIVE = []
1239
+ include Aws::Structure
1240
+ end
1241
+
1242
+ # @!attribute [rw] next_token
1243
+ # If there are additional results, this is the token for the next set
1244
+ # of results.
1245
+ # @return [String]
1246
+ #
1247
+ # @!attribute [rw] match_generation_date
1248
+ # The timestamp this version of Match Result generated.
1249
+ # @return [Time]
1250
+ #
1251
+ # @!attribute [rw] potential_matches
1252
+ # The number of potential matches found.
1253
+ # @return [Integer]
1254
+ #
1255
+ # @!attribute [rw] matches
1256
+ # The list of matched profiles for this instance.
1257
+ # @return [Array<Types::MatchItem>]
1258
+ #
1259
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/GetMatchesResponse AWS API Documentation
1260
+ #
1261
+ class GetMatchesResponse < Struct.new(
1262
+ :next_token,
1263
+ :match_generation_date,
1264
+ :potential_matches,
1265
+ :matches)
1266
+ SENSITIVE = []
1267
+ include Aws::Structure
1268
+ end
1269
+
1042
1270
  # @note When making an API call, you may pass GetProfileObjectTypeRequest
1043
1271
  # data as a hash:
1044
1272
  #
@@ -1730,6 +1958,136 @@ module Aws::CustomerProfiles
1730
1958
  include Aws::Structure
1731
1959
  end
1732
1960
 
1961
+ # The Match group object.
1962
+ #
1963
+ # @!attribute [rw] match_id
1964
+ # The unique identifiers for this group of profiles that match.
1965
+ # @return [String]
1966
+ #
1967
+ # @!attribute [rw] profile_ids
1968
+ # A list of identifiers for profiles that match.
1969
+ # @return [Array<String>]
1970
+ #
1971
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/MatchItem AWS API Documentation
1972
+ #
1973
+ class MatchItem < Struct.new(
1974
+ :match_id,
1975
+ :profile_ids)
1976
+ SENSITIVE = []
1977
+ include Aws::Structure
1978
+ end
1979
+
1980
+ # The flag that enables the matching process of duplicate profiles.
1981
+ #
1982
+ # @note When making an API call, you may pass MatchingRequest
1983
+ # data as a hash:
1984
+ #
1985
+ # {
1986
+ # enabled: false, # required
1987
+ # }
1988
+ #
1989
+ # @!attribute [rw] enabled
1990
+ # The flag that enables the matching process of duplicate profiles.
1991
+ # @return [Boolean]
1992
+ #
1993
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/MatchingRequest AWS API Documentation
1994
+ #
1995
+ class MatchingRequest < Struct.new(
1996
+ :enabled)
1997
+ SENSITIVE = []
1998
+ include Aws::Structure
1999
+ end
2000
+
2001
+ # The flag that enables the matching process of duplicate profiles.
2002
+ #
2003
+ # @!attribute [rw] enabled
2004
+ # The flag that enables the matching process of duplicate profiles.
2005
+ # @return [Boolean]
2006
+ #
2007
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/MatchingResponse AWS API Documentation
2008
+ #
2009
+ class MatchingResponse < Struct.new(
2010
+ :enabled)
2011
+ SENSITIVE = []
2012
+ include Aws::Structure
2013
+ end
2014
+
2015
+ # @note When making an API call, you may pass MergeProfilesRequest
2016
+ # data as a hash:
2017
+ #
2018
+ # {
2019
+ # domain_name: "name", # required
2020
+ # main_profile_id: "uuid", # required
2021
+ # profile_ids_to_be_merged: ["uuid"], # required
2022
+ # field_source_profile_ids: {
2023
+ # account_number: "uuid",
2024
+ # additional_information: "uuid",
2025
+ # party_type: "uuid",
2026
+ # business_name: "uuid",
2027
+ # first_name: "uuid",
2028
+ # middle_name: "uuid",
2029
+ # last_name: "uuid",
2030
+ # birth_date: "uuid",
2031
+ # gender: "uuid",
2032
+ # phone_number: "uuid",
2033
+ # mobile_phone_number: "uuid",
2034
+ # home_phone_number: "uuid",
2035
+ # business_phone_number: "uuid",
2036
+ # email_address: "uuid",
2037
+ # personal_email_address: "uuid",
2038
+ # business_email_address: "uuid",
2039
+ # address: "uuid",
2040
+ # shipping_address: "uuid",
2041
+ # mailing_address: "uuid",
2042
+ # billing_address: "uuid",
2043
+ # attributes: {
2044
+ # "string1To255" => "uuid",
2045
+ # },
2046
+ # },
2047
+ # }
2048
+ #
2049
+ # @!attribute [rw] domain_name
2050
+ # The unique name of the domain.
2051
+ # @return [String]
2052
+ #
2053
+ # @!attribute [rw] main_profile_id
2054
+ # The identifier of the profile to be taken.
2055
+ # @return [String]
2056
+ #
2057
+ # @!attribute [rw] profile_ids_to_be_merged
2058
+ # The identifier of the profile to be merged into MainProfileId.
2059
+ # @return [Array<String>]
2060
+ #
2061
+ # @!attribute [rw] field_source_profile_ids
2062
+ # The identifiers of the fields in the profile that has the
2063
+ # information you want to apply to the merge. For example, say you
2064
+ # want to merge EmailAddress from Profile1 into MainProfile. This
2065
+ # would be the identifier of the EmailAddress field in Profile1.
2066
+ # @return [Types::FieldSourceProfileIds]
2067
+ #
2068
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/MergeProfilesRequest AWS API Documentation
2069
+ #
2070
+ class MergeProfilesRequest < Struct.new(
2071
+ :domain_name,
2072
+ :main_profile_id,
2073
+ :profile_ids_to_be_merged,
2074
+ :field_source_profile_ids)
2075
+ SENSITIVE = []
2076
+ include Aws::Structure
2077
+ end
2078
+
2079
+ # @!attribute [rw] message
2080
+ # A message that indicates the merge request is complete.
2081
+ # @return [String]
2082
+ #
2083
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/MergeProfilesResponse AWS API Documentation
2084
+ #
2085
+ class MergeProfilesResponse < Struct.new(
2086
+ :message)
2087
+ SENSITIVE = []
2088
+ include Aws::Structure
2089
+ end
2090
+
1733
2091
  # Represents a field in a ProfileObjectType.
1734
2092
  #
1735
2093
  # @note When making an API call, you may pass ObjectTypeField
@@ -1815,7 +2173,7 @@ module Aws::CustomerProfiles
1815
2173
  # @return [String]
1816
2174
  #
1817
2175
  # @!attribute [rw] additional_information
1818
- # Any additional information relevant to the customer's profile.
2176
+ # Any additional information relevant to the customers profile.
1819
2177
  # @return [String]
1820
2178
  #
1821
2179
  # @!attribute [rw] party_type
@@ -1864,7 +2222,7 @@ module Aws::CustomerProfiles
1864
2222
  # @return [String]
1865
2223
  #
1866
2224
  # @!attribute [rw] email_address
1867
- # The customer's email address, which has not been specified as a
2225
+ # The customers email address, which has not been specified as a
1868
2226
  # personal or business address.
1869
2227
  # @return [String]
1870
2228
  #
@@ -2925,13 +3283,16 @@ module Aws::CustomerProfiles
2925
3283
  # default_expiration_days: 1,
2926
3284
  # default_encryption_key: "encryptionKey",
2927
3285
  # dead_letter_queue_url: "sqsQueueUrl",
3286
+ # matching: {
3287
+ # enabled: false, # required
3288
+ # },
2928
3289
  # tags: {
2929
3290
  # "TagKey" => "TagValue",
2930
3291
  # },
2931
3292
  # }
2932
3293
  #
2933
3294
  # @!attribute [rw] domain_name
2934
- # The unique name for the domain.
3295
+ # The unique name of the domain.
2935
3296
  # @return [String]
2936
3297
  #
2937
3298
  # @!attribute [rw] default_expiration_days
@@ -2955,6 +3316,11 @@ module Aws::CustomerProfiles
2955
3316
  # messages to the DeadLetterQueue.
2956
3317
  # @return [String]
2957
3318
  #
3319
+ # @!attribute [rw] matching
3320
+ # The process of matching duplicate profiles. This process runs every
3321
+ # Saturday at 12AM.
3322
+ # @return [Types::MatchingRequest]
3323
+ #
2958
3324
  # @!attribute [rw] tags
2959
3325
  # The tags used to organize, track, or control access for this
2960
3326
  # resource.
@@ -2967,13 +3333,14 @@ module Aws::CustomerProfiles
2967
3333
  :default_expiration_days,
2968
3334
  :default_encryption_key,
2969
3335
  :dead_letter_queue_url,
3336
+ :matching,
2970
3337
  :tags)
2971
3338
  SENSITIVE = []
2972
3339
  include Aws::Structure
2973
3340
  end
2974
3341
 
2975
3342
  # @!attribute [rw] domain_name
2976
- # The unique name for the domain.
3343
+ # The unique name of the domain.
2977
3344
  # @return [String]
2978
3345
  #
2979
3346
  # @!attribute [rw] default_expiration_days
@@ -2992,6 +3359,11 @@ module Aws::CustomerProfiles
2992
3359
  # errors associated with ingesting data from third party applications.
2993
3360
  # @return [String]
2994
3361
  #
3362
+ # @!attribute [rw] matching
3363
+ # The process of matching duplicate profiles. This process runs every
3364
+ # Saturday at 12AM.
3365
+ # @return [Types::MatchingResponse]
3366
+ #
2995
3367
  # @!attribute [rw] created_at
2996
3368
  # The timestamp of when the domain was created.
2997
3369
  # @return [Time]
@@ -3012,6 +3384,7 @@ module Aws::CustomerProfiles
3012
3384
  :default_expiration_days,
3013
3385
  :default_encryption_key,
3014
3386
  :dead_letter_queue_url,
3387
+ :matching,
3015
3388
  :created_at,
3016
3389
  :last_updated_at,
3017
3390
  :tags)
@@ -3103,7 +3476,7 @@ module Aws::CustomerProfiles
3103
3476
  # @return [String]
3104
3477
  #
3105
3478
  # @!attribute [rw] additional_information
3106
- # Any additional information relevant to the customer's profile.
3479
+ # Any additional information relevant to the customers profile.
3107
3480
  # @return [String]
3108
3481
  #
3109
3482
  # @!attribute [rw] account_number
@@ -3139,7 +3512,7 @@ module Aws::CustomerProfiles
3139
3512
  # @return [String]
3140
3513
  #
3141
3514
  # @!attribute [rw] phone_number
3142
- # The customer's phone number, which has not been specified as a
3515
+ # The customers phone number, which has not been specified as a
3143
3516
  # mobile, home, or business number.
3144
3517
  # @return [String]
3145
3518
  #
@@ -3156,7 +3529,7 @@ module Aws::CustomerProfiles
3156
3529
  # @return [String]
3157
3530
  #
3158
3531
  # @!attribute [rw] email_address
3159
- # The customer's email address, which has not been specified as a
3532
+ # The customers email address, which has not been specified as a
3160
3533
  # personal or business address.
3161
3534
  # @return [String]
3162
3535
  #
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-customerprofiles
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.0
4
+ version: 1.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-04-08 00:00:00.000000000 Z
11
+ date: 2021-04-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core
@@ -83,8 +83,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
83
83
  - !ruby/object:Gem::Version
84
84
  version: '0'
85
85
  requirements: []
86
- rubyforge_project:
87
- rubygems_version: 2.7.6.2
86
+ rubygems_version: 3.1.6
88
87
  signing_key:
89
88
  specification_version: 4
90
89
  summary: AWS SDK for Ruby - Customer Profiles