Skip to content

Commit bc5d88e

Browse files
The release updates standard profile with 2 new fields that supports account-level engagement. Updated APIs include CreateProfile, UpdateProfile, MergeProfiles, SearchProfiles, BatchGetProfile, GetSegmentMembership, CreateSegmentDefinition, CreateSegmentEstimate.
1 parent 9d83e5f commit bc5d88e

25 files changed

+1568
-4
lines changed

generator/ServiceModels/customer-profiles/customer-profiles-2020-08-15.api.json

Lines changed: 91 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1849,6 +1849,27 @@
18491849
"MatchingAttributesList":{"shape":"MatchingAttributesList"}
18501850
}
18511851
},
1852+
"ContactPreference":{
1853+
"type":"structure",
1854+
"members":{
1855+
"KeyName":{"shape":"name"},
1856+
"KeyValue":{"shape":"string1To255"},
1857+
"ProfileId":{"shape":"uuid"},
1858+
"ContactType":{"shape":"ContactType"}
1859+
}
1860+
},
1861+
"ContactType":{
1862+
"type":"string",
1863+
"enum":[
1864+
"PhoneNumber",
1865+
"MobilePhoneNumber",
1866+
"HomePhoneNumber",
1867+
"BusinessPhoneNumber",
1868+
"EmailAddress",
1869+
"PersonalEmailAddress",
1870+
"BusinessEmailAddress"
1871+
]
1872+
},
18521873
"CreateCalculatedAttributeDefinitionRequest":{
18531874
"type":"structure",
18541875
"required":[
@@ -2124,7 +2145,9 @@
21242145
"BillingAddress":{"shape":"Address"},
21252146
"Attributes":{"shape":"Attributes"},
21262147
"PartyTypeString":{"shape":"sensitiveString1To255"},
2127-
"GenderString":{"shape":"sensitiveString1To255"}
2148+
"GenderString":{"shape":"sensitiveString1To255"},
2149+
"ProfileType":{"shape":"ProfileType"},
2150+
"EngagementPreferences":{"shape":"EngagementPreferences"}
21282151
}
21292152
},
21302153
"CreateProfileResponse":{
@@ -2714,7 +2737,19 @@
27142737
"max":3,
27152738
"min":1
27162739
},
2740+
"EmailPreferenceList":{
2741+
"type":"list",
2742+
"member":{"shape":"ContactPreference"}
2743+
},
27172744
"End":{"type":"integer"},
2745+
"EngagementPreferences":{
2746+
"type":"structure",
2747+
"members":{
2748+
"Phone":{"shape":"PhonePreferenceList"},
2749+
"Email":{"shape":"EmailPreferenceList"}
2750+
},
2751+
"sensitive":true
2752+
},
27182753
"EstimateStatus":{
27192754
"type":"string",
27202755
"enum":[
@@ -2928,7 +2963,9 @@
29282963
"ShippingAddress":{"shape":"uuid"},
29292964
"MailingAddress":{"shape":"uuid"},
29302965
"BillingAddress":{"shape":"uuid"},
2931-
"Attributes":{"shape":"AttributeSourceIdMap"}
2966+
"Attributes":{"shape":"AttributeSourceIdMap"},
2967+
"ProfileType":{"shape":"uuid"},
2968+
"EngagementPreferences":{"shape":"uuid"}
29322969
}
29332970
},
29342971
"Filter":{
@@ -4950,6 +4987,10 @@
49504987
"max":4,
49514988
"min":1
49524989
},
4990+
"PhonePreferenceList":{
4991+
"type":"list",
4992+
"member":{"shape":"ContactPreference"}
4993+
},
49534994
"Profile":{
49544995
"type":"structure",
49554996
"members":{
@@ -4977,7 +5018,9 @@
49775018
"Attributes":{"shape":"Attributes"},
49785019
"FoundByItems":{"shape":"foundByList"},
49795020
"PartyTypeString":{"shape":"sensitiveString1To255"},
4980-
"GenderString":{"shape":"sensitiveString1To255"}
5021+
"GenderString":{"shape":"sensitiveString1To255"},
5022+
"ProfileType":{"shape":"ProfileType"},
5023+
"EngagementPreferences":{"shape":"EngagementPreferences"}
49815024
}
49825025
},
49835026
"ProfileAttributeValuesRequest":{
@@ -5097,6 +5140,10 @@
50975140
"Attributes":{
50985141
"shape":"CustomAttributes",
50995142
"locationName":"Attributes"
5143+
},
5144+
"ProfileType":{
5145+
"shape":"ProfileTypeDimension",
5146+
"locationName":"ProfileType"
51005147
}
51015148
},
51025149
"sensitive":true
@@ -5194,6 +5241,44 @@
51945241
}
51955242
}
51965243
},
5244+
"ProfileType":{
5245+
"type":"string",
5246+
"enum":[
5247+
"ACCOUNT_PROFILE",
5248+
"PROFILE"
5249+
],
5250+
"sensitive":true
5251+
},
5252+
"ProfileTypeDimension":{
5253+
"type":"structure",
5254+
"required":[
5255+
"DimensionType",
5256+
"Values"
5257+
],
5258+
"members":{
5259+
"DimensionType":{
5260+
"shape":"ProfileTypeDimensionType",
5261+
"locationName":"DimensionType"
5262+
},
5263+
"Values":{
5264+
"shape":"ProfileTypeValues",
5265+
"locationName":"Values"
5266+
}
5267+
}
5268+
},
5269+
"ProfileTypeDimensionType":{
5270+
"type":"string",
5271+
"enum":[
5272+
"INCLUSIVE",
5273+
"EXCLUSIVE"
5274+
]
5275+
},
5276+
"ProfileTypeValues":{
5277+
"type":"list",
5278+
"member":{"shape":"ProfileType"},
5279+
"max":1,
5280+
"min":1
5281+
},
51975282
"Profiles":{
51985283
"type":"list",
51995284
"member":{"shape":"ProfileQueryResult"}
@@ -6227,7 +6312,9 @@
62276312
"BillingAddress":{"shape":"UpdateAddress"},
62286313
"Attributes":{"shape":"UpdateAttributes"},
62296314
"PartyTypeString":{"shape":"sensitiveString0To255"},
6230-
"GenderString":{"shape":"sensitiveString0To255"}
6315+
"GenderString":{"shape":"sensitiveString0To255"},
6316+
"ProfileType":{"shape":"ProfileType"},
6317+
"EngagementPreferences":{"shape":"EngagementPreferences"}
62316318
}
62326319
},
62336320
"UpdateProfileResponse":{

generator/ServiceModels/customer-profiles/customer-profiles-2020-08-15.docs.json

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,7 @@
9494
"AdditionalSearchKey$KeyName": "<p>A searchable identifier of a customer profile.</p>",
9595
"BatchGetCalculatedAttributeForProfileRequest$DomainName": "<p>The unique name of the domain.</p>",
9696
"BatchGetProfileRequest$DomainName": "<p>The unique name of the domain.</p>",
97+
"ContactPreference$KeyName": "<p>A searchable, unique identifier of a customer profile.</p>",
9798
"CreateCalculatedAttributeDefinitionRequest$DomainName": "<p>The unique name of the domain.</p>",
9899
"CreateDomainLayoutRequest$DomainName": "<p>The unique name of the domain.</p>",
99100
"CreateDomainLayoutRequest$LayoutDefinitionName": "<p>The unique name of the layout.</p>",
@@ -570,6 +571,19 @@
570571
"GetAutoMergingPreviewRequest$Consolidation": "<p>A list of matching attributes that represent matching criteria.</p>"
571572
}
572573
},
574+
"ContactPreference": {
575+
"base": "<p>Object that defines users contact preference.</p>",
576+
"refs": {
577+
"EmailPreferenceList$member": null,
578+
"PhonePreferenceList$member": null
579+
}
580+
},
581+
"ContactType": {
582+
"base": null,
583+
"refs": {
584+
"ContactPreference$ContactType": "<p>The contact type used for engagement. For example: HomePhoneNumber, PersonalEmailAddress.</p>"
585+
}
586+
},
573587
"CreateCalculatedAttributeDefinitionRequest": {
574588
"base": null,
575589
"refs": {}
@@ -881,12 +895,26 @@
881895
"AttributeTypesSelector$EmailAddress": "<p>The <code>Email</code> type. You can choose from <code>EmailAddress</code>, <code>BusinessEmailAddress</code> and <code>PersonalEmailAddress</code>.</p> <p>You only can use the <code>EmailAddress</code> type in the <code>MatchingRule</code>. For example, if you want to match profile based on <code>PersonalEmailAddress</code> or <code>BusinessEmailAddress</code>, you need to choose the <code>PersonalEmailAddress</code> and the <code>BusinessEmailAddress</code> to represent the <code>EmailAddress</code> type and only specify the <code>EmailAddress</code> on the matching rule.</p>"
882896
}
883897
},
898+
"EmailPreferenceList": {
899+
"base": null,
900+
"refs": {
901+
"EngagementPreferences$Email": "<p>A list of email-related contact preferences</p>"
902+
}
903+
},
884904
"End": {
885905
"base": null,
886906
"refs": {
887907
"RangeOverride$End": "<p>The end time of when to include objects.</p>"
888908
}
889909
},
910+
"EngagementPreferences": {
911+
"base": "<p>Object that defines users preferred methods of engagement.</p>",
912+
"refs": {
913+
"CreateProfileRequest$EngagementPreferences": "<p>Object that defines the preferred methods of engagement, per channel.</p>",
914+
"Profile$EngagementPreferences": "<p>The customer or account’s engagement preferences.</p>",
915+
"UpdateProfileRequest$EngagementPreferences": "<p>Object that defines users preferred methods of engagement.</p>"
916+
}
917+
},
890918
"EstimateStatus": {
891919
"base": null,
892920
"refs": {
@@ -1872,6 +1900,12 @@
18721900
"AttributeTypesSelector$PhoneNumber": "<p>The <code>PhoneNumber</code> type. You can choose from <code>PhoneNumber</code>, <code>HomePhoneNumber</code>, and <code>MobilePhoneNumber</code>.</p> <p>You only can use the <code>PhoneNumber</code> type in the <code>MatchingRule</code>. For example, if you want to match a profile based on <code>Phone</code> or <code>HomePhone</code>, you need to choose the <code>Phone</code> and the <code>HomePhone</code> to represent the <code>PhoneNumber</code> type and only specify the <code>PhoneNumber</code> on the matching rule.</p>"
18731901
}
18741902
},
1903+
"PhonePreferenceList": {
1904+
"base": null,
1905+
"refs": {
1906+
"EngagementPreferences$Phone": "<p>A list of phone-related contact preferences</p>"
1907+
}
1908+
},
18751909
"Profile": {
18761910
"base": "<p>The standard profile of a customer.</p>",
18771911
"refs": {
@@ -1981,6 +2015,33 @@
19812015
"Profiles$member": null
19822016
}
19832017
},
2018+
"ProfileType": {
2019+
"base": null,
2020+
"refs": {
2021+
"CreateProfileRequest$ProfileType": "<p>The type of the profile.</p>",
2022+
"Profile$ProfileType": "<p>The type of the profile.</p>",
2023+
"ProfileTypeValues$member": null,
2024+
"UpdateProfileRequest$ProfileType": "<p>Determines the type of the profile.</p>"
2025+
}
2026+
},
2027+
"ProfileTypeDimension": {
2028+
"base": "<p>Object to hold the dimension of a profile type field to segment on.</p>",
2029+
"refs": {
2030+
"ProfileAttributes$ProfileType": "<p>A field to describe values to segment on within profile type.</p>"
2031+
}
2032+
},
2033+
"ProfileTypeDimensionType": {
2034+
"base": null,
2035+
"refs": {
2036+
"ProfileTypeDimension$DimensionType": "<p>The action to segment on.</p>"
2037+
}
2038+
},
2039+
"ProfileTypeValues": {
2040+
"base": null,
2041+
"refs": {
2042+
"ProfileTypeDimension$Values": "<p>The values to apply the DimensionType on.</p>"
2043+
}
2044+
},
19842045
"Profiles": {
19852046
"base": null,
19862047
"refs": {
@@ -3102,6 +3163,7 @@
31023163
"CalculatedAttributeValue$IsDataPartial": "<p>Indicates whether the calculated attribute's value is based on partial data. If the data is partial, it is set to true.</p>",
31033164
"CalculatedAttributeValue$Value": "<p>The value of the calculated attribute.</p>",
31043165
"ConflictResolution$SourceName": "<p>The <code>ObjectType</code> name that is used to resolve profile merging conflicts when choosing <code>SOURCE</code> as the <code>ConflictResolvingModel</code>.</p>",
3166+
"ContactPreference$KeyValue": "<p>The key value used to look up profile based off the keyName.</p>",
31053167
"CreateDomainLayoutResponse$Version": "<p>The version used to create layout.</p>",
31063168
"CreateEventStreamRequest$Uri": "<p>The StreamARN of the destination to deliver profile events to. For example, arn:aws:kinesis:region:account-id:stream/stream-name</p>",
31073169
"CreateEventStreamResponse$EventStreamArn": "<p>A unique identifier for the event stream.</p>",
@@ -3388,6 +3450,7 @@
33883450
"BatchGetProfileError$ProfileId": "<p>The profile id that failed.</p>",
33893451
"BatchGetProfileIdList$member": null,
33903452
"CalculatedAttributeValue$ProfileId": "<p>The profile id belonging to this calculated attribute value.</p>",
3453+
"ContactPreference$ProfileId": "<p>The unique identifier of a customer profile.</p>",
33913454
"CreateIntegrationWorkflowResponse$WorkflowId": "<p>Unique identifier for the workflow.</p>",
33923455
"CreateProfileResponse$ProfileId": "<p>The unique identifier of a customer profile.</p>",
33933456
"CreateSegmentSnapshotResponse$SnapshotId": "<p>The unique identifier of the segment snapshot.</p>",
@@ -3415,6 +3478,8 @@
34153478
"FieldSourceProfileIds$ShippingAddress": "<p>A unique identifier for the shipping address field to be merged.</p>",
34163479
"FieldSourceProfileIds$MailingAddress": "<p>A unique identifier for the mailing address field to be merged.</p>",
34173480
"FieldSourceProfileIds$BillingAddress": "<p>A unique identifier for the billing type field to be merged.</p>",
3481+
"FieldSourceProfileIds$ProfileType": "<p>A unique identifier for the profile type field to be merged.</p>",
3482+
"FieldSourceProfileIds$EngagementPreferences": "<p>A unique identifier for the engagement preferences field to be merged.</p>",
34183483
"GetCalculatedAttributeForProfileRequest$ProfileId": "<p>The unique identifier of a customer profile.</p>",
34193484
"GetIdentityResolutionJobRequest$JobId": "<p>The unique identifier of the Identity Resolution Job.</p>",
34203485
"GetIdentityResolutionJobResponse$JobId": "<p>The unique identifier of the Identity Resolution Job.</p>",

0 commit comments

Comments
 (0)