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
+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
@@ -7,7 +7,7 @@ displayed_sidebar: docs
7
7
---
8
8
9
9
import Link from '@docusaurus/Link';
10
-
import POSTIdentityMapImprovements from '../snippets/_post-identity-map-improvements-v3.mdx';
10
+
import SnptPOSTIdentityMapImprovements from '../snippets/_snpt-post-identity-map-improvements-v3.mdx';
11
11
12
12
# POST /identity/map
13
13
@@ -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.
182
186
183
187
| Property | Data Type | Description |
@@ -207,7 +211,7 @@ The following sections provide general information and guidance for migrating to
Copy file name to clipboardExpand all lines: docs/endpoints/post-token-generate.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,7 +7,7 @@ displayed_sidebar: docs
7
7
---
8
8
9
9
import Link from '@docusaurus/Link';
10
-
import IdentityGenerateResponse from '../snippets/_example-identity-generate-response.mdx';
10
+
import SnptIdentityGenerateResponse from '../snippets/_snpt-example-identity-generate-response.mdx';
11
11
12
12
# POST /token/generate
13
13
@@ -112,7 +112,7 @@ This section includes the following sample responses:
112
112
113
113
A successful decrypted response returns the user's advertising and refresh tokens for the specified email address, phone number, or the respective hash.
Copy file name to clipboardExpand all lines: docs/endpoints/post-token-refresh.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,7 +7,7 @@ displayed_sidebar: docs
7
7
---
8
8
9
9
import Link from '@docusaurus/Link';
10
-
import IdentityGenerateResponse from '../snippets/_example-identity-generate-response.mdx';
10
+
import SnptIdentityGenerateResponse from '../snippets/_snpt-example-identity-generate-response.mdx';
11
11
12
12
# POST /token/refresh
13
13
@@ -69,7 +69,7 @@ This section includes the following sample responses:
69
69
70
70
If all values are valid and the user has not opted out, the response is successful and a new UID2 token is returned, with associated values. The following example shows a decrypted successful response with tokens:
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-encryption-decryption.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,7 +9,7 @@ displayed_sidebar: docs
9
9
import Tabs from '@theme/Tabs';
10
10
import TabItem from '@theme/TabItem';
11
11
import Link from '@docusaurus/Link';
12
-
import IdentityGenerateResponse from '../snippets/_example-identity-generate-response.mdx';
12
+
import SnptIdentityGenerateResponse from '../snippets/_snpt-example-identity-generate-response.mdx';
13
13
14
14
# Encrypting Requests and Decrypting Responses
15
15
@@ -105,7 +105,7 @@ The following table describes the field layout for response decryption code.
105
105
106
106
For example, a decrypted response to the [POST /token/generate](../endpoints/post-token-generate.md) request for an email address might look like this:
Copy file name to clipboardExpand all lines: docs/getting-started/gs-environments.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -33,6 +33,7 @@ Notes:
33
33
- All UID2 endpoints use the same base URL.
34
34
- The integration environment and the production environment require different <Linkhref="../ref-info/glossary-uid#gl-api-key">API keys</Link>. For information about getting credentials for each environment, see [Getting Your Credentials](../getting-started/gs-credentials.md#getting-your-credentials).
35
35
- The expiration time of the <Linkhref="../ref-info/glossary-uid#gl-uid2-token">UID2 token</Link> returned by the [POST /token/generate](../endpoints/post-token-generate.md) or [POST /token/refresh](../endpoints/post-token-refresh.md) endpoints is subject to change, but is always significantly shorter in the integration environment than it is in the production environment.
36
+
- The integration environment and the production environments produce different UID2 values. You cannot use them interchangeably. Use the integration environment only for testing. When you're ready to go live, generate UID2s for bidstream use.
Copy file name to clipboardExpand all lines: docs/getting-started/gs-faqs.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,7 +7,7 @@ displayed_sidebar: docs
7
7
---
8
8
9
9
import Link from '@docusaurus/Link';
10
-
import ExampleTokenInBidstream from '../snippets/_example-token-in-bidstream.mdx';
10
+
import SnptExampleTokenInBidstream from '../snippets/_snpt-example-token-in-bidstream.mdx';
11
11
12
12
# Frequently Asked Questions
13
13
@@ -156,7 +156,7 @@ The UID2 service encrypts UID2 tokens using random initialization vectors. The U
156
156
157
157
There are many ways to approach UID2 implementation. Here is one example of a code snippet showing how a UID2 token is passed in the <Linkhref="../ref-info/glossary-uid#gl-bidstream">bidstream</Link>:
158
158
159
-
<ExampleTokenInBidstream />
159
+
<SnptExampleTokenInBidstream />
160
160
161
161
#### Can I integrate UID2 with Single Sign-On (SSO)?
162
162
@@ -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?
0 commit comments