You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/endpoints/post-identity-map.md
+4Lines changed: 4 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -178,6 +178,10 @@ For successfully mapped DII, the mapped object includes the properties shown in
178
178
|`p`| string | One of the following:<ul><li>If the current raw UID2 was rotated in the last 90 days: the previous raw UID2.</li><li>Otherwise: `null`.</li></ul> |
179
179
|`r`| number | The Unix timestamp (in milliseconds) that indicates when the raw UID2 might be refreshed. The raw UID2 is guaranteed to be valid until this timestamp. |
180
180
181
+
:::note
182
+
The raw UID2 does not change before the refresh timestamp. After the refresh timestamp, remapping the DII returns a new refresh timestamp, but the raw UID2 might or might not change. It is possible for the raw UID2 to remain unchanged for multiple refresh intervals.
183
+
:::
184
+
181
185
For unsuccessfully mapped input values, the mapped object includes the properties shown in the following table.
Copy file name to clipboardExpand all lines: docs/endpoints/post-token-validate.md
+14-11Lines changed: 14 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -40,16 +40,18 @@ The integration environment and the production environment require different <Li
40
40
41
41
### Unencrypted JSON Body Parameters
42
42
43
-
- Include only one of the following four valid options, as listed in the Body Parameter table: `email`, `email_hash`, `phone`, or `phone_hash`. For the parameter you choose to test with, use the exact value listed.
44
-
- Include the required body parameters as key-value pairs in the JSON body of a request when encrypting it.
43
+
Here are some key points about using this endpoint:
44
+
45
+
- Include only one of the following four valid options, as listed in the Body Parameter table: `email`, `email_hash`, `phone`, or `phone_hash`.
46
+
- Include the required body parameters as key-value pairs in the JSON body of the request when encrypting it.
45
47
46
48
| Body Parameter | Data Type | Attribute | Description |
47
49
| :--- | :--- | :--- | :--- |
48
-
|`token`| string | Required | The advertising token returned by the [POST /token/generate](post-token-generate.md) response.|
49
-
|`email`| string | Conditionally Required | The email address for token validation.<br/>The only valid value is: `[email protected]`. |
50
-
|`email_hash`| string | Conditionally Required | The [Base64-encoded SHA-256](../getting-started/gs-normalization-encoding.md#email-address-hash-encoding) hash of the [normalized](../getting-started/gs-normalization-encoding.md#email-address-normalization) email address for token validation (`[email protected]`).<br/>The only valid value is: `ntI244ZRTXwAwpki6/M5cyBYW7h/Wq576lnN3l9+W/c=`. |
51
-
|`phone`| string | Conditionally Required | The [normalized](../getting-started/gs-normalization-encoding.md#phone-number-normalization) phone number for which to generate tokens.<br/>The only valid value is: `+12345678901`. |
52
-
|`phone_hash`| string | Conditionally Required | The [Base64-encoded SHA-256](../getting-started/gs-normalization-encoding.md#phone-number-hash-encoding) hash of a [normalized](../getting-started/gs-normalization-encoding.md#phone-number-normalization) phone number.<br/>The only valid value is: `EObwtHBUqDNZR33LNSMdtt5cafsYFuGmuY4ZLenlue4=`. |
50
+
| `token` | string | Required | The advertising token returned by the [POST /token/generate](post-token-generate.md) response.<br/>You can only validate an advertising token that has been generated with your own credentials.
51
+
|`email`| string | Conditionally Required | The email address for token validation. You can use any valid email value, normalized or not. |
52
+
|`email_hash`| string | Conditionally Required | The [Base64-encoded SHA-256](../getting-started/gs-normalization-encoding.md#email-address-hash-encoding) hash of any valid [normalized](../getting-started/gs-normalization-encoding.md#email-address-normalization) email address. |
53
+
|`phone`| string | Conditionally Required | The phone number for token validation. You can use any valid phone number value, but it must be [normalized](../getting-started/gs-normalization-encoding.md#phone-number-normalization). |
54
+
|`phone_hash`| string | Conditionally Required | The [Base64-encoded SHA-256](../getting-started/gs-normalization-encoding.md#phone-number-hash-encoding) hash of any valid [normalized](../getting-started/gs-normalization-encoding.md#phone-number-normalization) phone number. |
53
55
54
56
### Request Examples
55
57
@@ -109,9 +111,11 @@ A successful decrypted response returns a boolean value that indicates the valid
109
111
110
112
## Body Response Properties
111
113
114
+
The following table provides information about the response body.
115
+
112
116
| Property | Data Type | Description |
113
117
| :--- | :--- | :--- |
114
-
|`body`| boolean | A value of `true` indicates that the email address, phone number, or the respective hash specified in the request is the same as the one used to generate the advertising token.<br/>A value of `false` indicates any of the following:<br/>- The request included an invalid advertising token.<br/>- The email address, phone number, or the respective hash specified in the request is not one of the four valid values specified in the [Unencrypted JSON Body Parameters](#unencrypted-json-body-parameters) table. |
118
+
|`body`| boolean | A value of `true` indicates that the email address, phone number, or the respective hash specified in the request is the same as the one used to generate the advertising token.<br/>A value of `false` indicates that the email address, phone number, or the respective hash specified in the request is not the same as the one used to generated the advertising token. |
115
119
116
120
### Response Status Codes
117
121
@@ -120,7 +124,7 @@ The following table lists the `status` property values and their HTTP status cod
120
124
| Status | HTTP Status Code | Description |
121
125
| :--- | :--- | :--- |
122
126
|`success`| 200 | The request was successful. The response will be encrypted. |
123
-
|`client_error`| 400 | The request had missing or invalid parameters.|
127
+
|`client_error`| 400 | The request had missing or invalid parameters.|
124
128
|`unauthorized`| 401 | The request did not include a bearer token, included an invalid bearer token, or included a bearer token unauthorized to perform the requested operation. |
125
129
126
130
If the `status` value is anything other than `success`, the `message` field provides additional information about the issue.
@@ -129,8 +133,7 @@ If the `status` value is anything other than `success`, the `message` field prov
129
133
130
134
You can use this endpoint to test whether the <Linkhref="../ref-info/glossary-uid#gl-dii">DII</Link> that you are sending through [POST /token/generate](../endpoints/post-token-generate.md) is valid. Follow these steps.
131
135
132
-
1. Depending on whether the DII is a hashed or unhashed email address or phone number, send a [POST /token/generate](../endpoints/post-token-generate.md) request using one of the four valid options listed in the [Unencrypted JSON Body Parameters](#unencrypted-json-body-parameters) table—`email`, `email_hash`, `phone`, or `phone_hash`—with the corresponding value as listed in the table.
133
-
136
+
1. Send a [POST /token/generate](../endpoints/post-token-generate.md) request using an `email`, `email_hash`, `phone` or `phone_hash` to generate an advertising token to validate.
134
137
2. Store the returned `advertising_token` value for use in the next step.
135
138
3. Send a `POST /token/validate` request using the `email`, `email_hash`, `phone`, or `phone_hash` value that you sent in Step 1, with the `advertising_token` that you saved in Step 2 as the `token` property value.
136
139
4. Check the response to the `POST /token/validate` request. The results indicate the success of your process, as follows:
Copy file name to clipboardExpand all lines: docs/getting-started/gs-faqs.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -198,7 +198,7 @@ To determine whether to refresh a raw UID2:
198
198
2. If the current time is greater than or equal to the refresh timestamp, regenerate the raw UID2 by calling the identity map endpoint again with the same <Linkhref="../ref-info/glossary-uid#gl-dii">DII</Link>.
199
199
200
200
:::note
201
-
We recommend checking for refresh opportunities daily. It is guaranteed that the raw UID2 won't refresh before the indicated timestamp. At some point on or after that time, the raw UID2 is refreshed.
201
+
The raw UID2 does not change before the refresh timestamp. After the refresh timestamp, remapping the DII returns a new refresh timestamp, but the raw UID2 might or might not change. It is possible for the raw UID2 to remain unchanged for multiple refresh intervals.
202
202
:::
203
203
204
204
#### How often should raw UID2s be refreshed for incremental updates?
Copy file name to clipboardExpand all lines: docs/guides/integration-advertiser-dataprovider-endpoints.md
+4-2Lines changed: 4 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,7 +11,7 @@ import Link from '@docusaurus/Link';
11
11
12
12
# Advertiser/Data Provider Integration to HTTP Endpoints
13
13
14
-
This guide covers integration steps for advertisers and data providers to integrate with UID2 by writing code to call UID2 HTTP endpoints, rather than using another implementation option such as an SDK, Snowflake, or AWS Entity Resolution.
14
+
This guide covers integration steps for advertisers and data providers to integrate with UID2 by writing code to call UID2 HTTP endpoints, rather than using another implementation option such as an SDK, Snowflake, Databricks, or AWS Entity Resolution.
15
15
16
16
:::tip
17
17
For a summary of all integration options and steps for advertisers and data providers, see [Advertiser/Data Provider Integration Overview](integration-advertiser-dataprovider-overview.md).
@@ -95,7 +95,9 @@ You could also send conversion information via API or pixels for measurement (at
95
95
96
96
A raw UID2 is an identifier for a user at a specific moment in time. The raw UID2 for a specific user changes roughly once per year as part of the UID2 refresh process.
97
97
98
-
The v3 Identity Map API provides a refresh timestamp (`r` field) in the response that indicates when each raw UID2 might refresh. Use this timestamp to determine when to regenerate raw UID2s for your stored data. It is guaranteed that it won't refresh before that time.
98
+
The v3 Identity Map API provides a refresh timestamp (`r` field) in the response that indicates when each raw UID2 might rotate. Use this timestamp to determine when to regenerate raw UID2s for your stored data.
99
+
100
+
The raw UID2 does not change before the refresh timestamp. After the refresh timestamp, remapping the DII returns a new refresh timestamp, but the raw UID2 might or might not change. It is possible for the raw UID2 to remain unchanged for multiple refresh intervals.
99
101
100
102
We recommend checking for refresh opportunities daily. The following table shows the steps for monitoring raw UID2 refresh.
Copy file name to clipboardExpand all lines: docs/guides/integration-advertiser-dataprovider-overview.md
+6-2Lines changed: 6 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -53,7 +53,7 @@ The following table shows the implementation options that are available for adve
53
53
54
54
| High-Level Step | Implementation Options |
55
55
| --- | --- |
56
-
|[1: Generate Raw UID2s from DII](#1-generate-raw-uid2s-from-dii)| Use any of the following options to map DII to raw UID2s:<ul><li>One of these UID2 SDKs:<ul><li>Python SDK: [Map DII to Raw UID2s](../sdks/sdk-ref-python.md#map-dii-to-raw-uid2s)</li><li>Java SDK: [Usage for Advertisers/Data Providers](../sdks/sdk-ref-java.md#usage-for-advertisersdata-providers)</li></ul></li><li>Snowflake: [Map DII](integration-snowflake.md#map-dii)</li><li>AWS Entity Resolution: [AWS Entity Resolution Integration Guide](integration-aws-entity-resolution.md)</li><li>HTTP endpoints: [POST /identity/map](../endpoints/post-identity-map.md)</li></ul> |
56
+
|[1: Generate Raw UID2s from DII](#1-generate-raw-uid2s-from-dii)| Use any of the following options to map DII to raw UID2s:<ul><li>One of these UID2 SDKs:<ul><li>Python SDK: [Map DII to Raw UID2s](../sdks/sdk-ref-python.md#map-dii-to-raw-uid2s)</li><li>Java SDK: [Usage for Advertisers/Data Providers](../sdks/sdk-ref-java.md#usage-for-advertisersdata-providers)</li></ul></li><li>Snowflake: [Map DII](integration-snowflake.md#map-dii)</li><li>Databricks: [Map DII](integration-databricks.md#map-dii)</li><li>AWS Entity Resolution: [AWS Entity Resolution Integration Guide](integration-aws-entity-resolution.md)</li><li>HTTP endpoints: [POST /identity/map](../endpoints/post-identity-map.md)</li></ul> |
57
57
|[2: Store Raw UID2s and Refresh Timestamps](#2-store-raw-uid2s-and-refresh-timestamps)| Custom (your choice). |
58
58
|[3: Manipulate or Combine Raw UID2s](#3-manipulate-or-combine-raw-uid2s)| Custom (your choice). |
59
59
|[4: Send Stored Raw UID2s to DSPs to Create Audiences or Conversions](#4-send-stored-raw-uid2s-to-dsps-to-create-audiences-or-conversions)| Custom (your choice). |
@@ -87,6 +87,8 @@ To generate raw UID2s, use one of the following options:
87
87
88
88
- Snowflake: See [Map DII](integration-snowflake.md#map-dii).
89
89
90
+
- Databricks: See [Map DII](integration-databricks.md#map-dii).
91
+
90
92
- AWS Entity Resolution: See [AWS Entity Resolution Integration Guide](integration-aws-entity-resolution.md).
91
93
92
94
- HTTP endpoints: [POST /identity/map](../endpoints/post-identity-map.md). For details, see [Generate Raw UID2s from DII](integration-advertiser-dataprovider-endpoints.md#1-generate-raw-uid2s-from-dii).
@@ -121,7 +123,9 @@ You could also send conversion information via API or pixels for measurement (at
121
123
122
124
A raw UID2 is an identifier for a user at a specific moment in time. The raw UID2 for a specific user changes roughly once per year as part of the UID2 refresh process.
123
125
124
-
The v3 Identity Map API provides a refresh timestamp (`r` field) in the response that indicates when each raw UID2 might refresh. Use this timestamp to determine when to regenerate raw UID2s for your stored data. It is guaranteed that it won't refresh before that time.
126
+
The v3 Identity Map API provides a refresh timestamp (`r` field) in the response that indicates when each raw UID2 might rotate. Use this timestamp to determine when to regenerate raw UID2s for your stored data.
127
+
128
+
The raw UID2 does not change before the refresh timestamp. After the refresh timestamp, remapping the DII returns a new refresh timestamp, but the raw UID2 might or might not change. It is possible for the raw UID2 to remain unchanged for multiple refresh intervals.
125
129
126
130
We recommend checking for refresh opportunities daily. To determine whether to refresh a raw UID2:
0 commit comments