-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathprofile.schema.json
177 lines (177 loc) · 8.14 KB
/
profile.schema.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
{
"meta:license": [
"Copyright 2017 Adobe Systems Incorporated. All rights reserved.",
"This work is licensed under a Creative Commons Attribution 4.0 International (CC BY 4.0) license",
"you may not use this file except in compliance with the License. You may obtain a copy",
"of the License at https://creativecommons.org/licenses/by/4.0/"
],
"$id": "https://ns.adobe.com/xdm/context/profile",
"$schema": "http://json-schema.org/draft-06/schema#",
"title": "Profile",
"type": "object",
"auditable": true,
"meta:extensible": true,
"description":
"XDM Profiles are a singular representation of the attributes of identified and\npartially identified persons. Profiles that are highly identified maybe used for\npersonal communications or highly targeted engagements and can contain detailed\npersonal information such as names, gender, date of birth, locations, and contact\ninformation like phone numbers and email addresses. Profiles may range to the\nother end of the identification spectrum where only anonymous behavioral signals\nare being observed and the amount of identification is simple browser cookies.\nIn this latter case, the sparse Profile data is useful to build more knowledge\non the interests and preferences of the anonymous profile, and over time can\nbecome richer as the person interacting with brand becomes more engaged and\nultimately signs-on to notifications, subscriptions, purchases and other\nconnections with the brand that enrich and fill out the profile.\n\nXDM Profile can contain personal information, identification information, contact\ndetails and communication preferences. Over time XDM Profile will expand to cater\nfor other Profile data such as preference, propensities and other attributes.\n\n",
"definitions": {
"profile": {
"properties": {
"xdm:identities": {
"title": "All User Identities",
"type": "array",
"items": {
"$ref": "https://ns.adobe.com/xdm/context/identity"
},
"minItems": 1,
"description":
"Array of Identities. Condensed, normalized encapsulation of all end user identifiers."
},
"xdm:person": {
"title": "Person",
"$ref": "https://ns.adobe.com/xdm/context/person",
"description": "An individual actor, contact, or owner.\n"
},
"xdm:homeAddress": {
"title": "Home Address",
"$ref": "https://ns.adobe.com/xdm/common/address",
"description": "A home postal address.\n"
},
"xdm:workAddress": {
"title": "Work Address",
"$ref": "https://ns.adobe.com/xdm/common/address",
"description": "A work postal address.\n"
},
"xdm:personalEmail": {
"title": "Personal Email",
"$ref": "https://ns.adobe.com/xdm/context/emailaddress",
"description": "A personal email address.\n"
},
"xdm:workEmail": {
"title": "Work Email",
"$ref": "https://ns.adobe.com/xdm/context/emailaddress",
"description": "A work email address.\n"
},
"xdm:homePhone": {
"title": "Home Phone",
"$ref": "https://ns.adobe.com/xdm/context/phonenumber",
"description": "Home phone number.\n"
},
"xdm:workPhone": {
"title": "Work Phone",
"$ref": "https://ns.adobe.com/xdm/context/phonenumber",
"description": "Work phone number.\n"
},
"xdm:mobilePhone": {
"title": "Mobile Phone",
"$ref": "https://ns.adobe.com/xdm/context/phonenumber",
"description": "Mobile phone number.\n"
},
"xdm:faxPhone": {
"title": "Fax Phone",
"$ref": "https://ns.adobe.com/xdm/context/phonenumber",
"description": "Fax phone number.\n"
},
"xdm:optInOut": {
"title": "OptInOut",
"$ref": "https://ns.adobe.com/xdm/context/optinout",
"description":
"Describes a users opting in and out preferences for communication by medium\nand communication type.\n"
},
"xdm:pushNotificationTokens": {
"title": "Push Notification Tokens",
"type": "array",
"description":
"Push notification tokens are used to communicate with applications that\nare installed on devices or SaaS application accounts.\n",
"items": {
"$ref": "https://ns.adobe.com/xdm/context/pushnotificationtoken"
}
},
"xdm:orgUnit": {
"title": "Organizational Unit",
"$ref": "https://ns.adobe.com/xdm/common/orgunit",
"description":
"The unit within the organization owning the profile. This can be used to reference the organization details maintained in another dataset."
},
"xdm:geoUnit": {
"title": "Geographical Unit",
"$ref": "https://ns.adobe.com/xdm/common/geounit",
"description":
"The geographical unit within the organization owning the profile. This can be used to reference the geographical information maintained in another dataset."
},
"xdm:preferredLanguage": {
"title": "Preferred Language",
"type": "string",
"pattern":
"^(((([A-Za-z]{2,3}(-([A-Za-z]{3}(-[A-Za-z]{3}){0,2}))?)|[A-Za-z]{4}|[A-Za-z]{5,8})(-([A-Za-z]{4}))?(-([A-Za-z]{2}|[0-9]{3}))?(-([A-Za-z0-9]{5,8}|[0-9][A-Za-z0-9]{3}))*(-([0-9A-WY-Za-wy-z](-[A-Za-z0-9]{2,8})+))*(-(x(-[A-Za-z0-9]{1,8})+))?)|(x(-[A-Za-z0-9]{1,8})+)|((en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)|(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang)))$",
"examples": ["en-GB", "de-DE", "yue-HK"],
"description":
"Describes the preferred system of communication used by the profile. Language codes are expressed in BCP 47 format."
},
"xdm:timeZone": {
"title": "Time Zone",
"type": "string",
"examples": ["America/Barbados", "Antarctica/Davis", "Asia/Calcutta"],
"description":
"Describes which time zone the profile is present in, most frequently/the time zone preferred by the profile. Time zones are expressed according to the IETF tz database: https://www.ietf.org/timezones/tzdb-2016i/tz-link.htm"
},
"xdm:profilePictureLink": {
"title": "Profile Picture Link",
"type": "string",
"description": "Link to profile's picture"
},
"xdm:emailFormat": {
"title": "Email Format",
"type": "string",
"description":
"Email format preferred by the profile. This can be rich text/plain text",
"meta:enum": {
"html": "Rich text",
"plaintext": "Plain text"
}
},
"xdm:organizations": {
"title": "Organizations",
"type": "array",
"items": {
"type": "string"
}
},
"xdm:subscriptions": {
"title": "Subscriptions",
"type": "array",
"description":
"Subscriptions that this profile is entitled to including terminated, expired or exhausted subscriptions.",
"items": {
"$ref": "https://ns.adobe.com/xdm/context/subscription"
}
},
"xdm:testProfile": {
"title": "Test Profile",
"type": "boolean",
"description":
"Indicates the `profile` record is for use in testing/verification purposes and should not be automatically included in normal operation(s).",
"default": false
},
"xdm:segments":{
"title" : "Segment Membership",
"type" : "array",
"items" : {
"$ref" : "https://ns.adobe.com/xdm/context/segmentmembership"
}
}
}
}
},
"allOf": [
{
"$ref": "https://ns.adobe.com/xdm/common/extensible#/definitions/@context"
},
{
"$ref": "https://ns.adobe.com/xdm/common/auditable"
},
{
"$ref": "#/definitions/profile"
}
],
"meta:status": "experimental"
}