Skip to content

Commit c91b779

Browse files
committed
Merge branch 'main' into gwh-APIDOCS-3410-guides-include-norm-hash-encode
2 parents 072a7ae + e57da12 commit c91b779

File tree

134 files changed

+2922
-1511
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

134 files changed

+2922
-1511
lines changed

docs/endpoints/post-identity-map.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ displayed_sidebar: docs
77
---
88

99
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';
1111

1212
# POST /identity/map
1313

@@ -178,6 +178,10 @@ For successfully mapped DII, the mapped object includes the properties shown in
178178
| `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> |
179179
| `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. |
180180

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+
181185
For unsuccessfully mapped input values, the mapped object includes the properties shown in the following table.
182186

183187
| Property | Data Type | Description |
@@ -207,7 +211,7 @@ The following sections provide general information and guidance for migrating to
207211

208212
### Version 3 Improvements
209213

210-
<POSTIdentityMapImprovements />
214+
<SnptPOSTIdentityMapImprovements />
211215

212216
### Key Differences Between v2 and v3
213217

docs/endpoints/post-token-generate.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ displayed_sidebar: docs
77
---
88

99
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';
1111

1212
# POST /token/generate
1313

@@ -112,7 +112,7 @@ This section includes the following sample responses:
112112

113113
A successful decrypted response returns the user's advertising and refresh tokens for the specified email address, phone number, or the respective hash.
114114

115-
<IdentityGenerateResponse />
115+
<SnptIdentityGenerateResponse />
116116

117117
#### Optout
118118

docs/endpoints/post-token-refresh.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ displayed_sidebar: docs
77
---
88

99
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';
1111

1212
# POST /token/refresh
1313

@@ -69,7 +69,7 @@ This section includes the following sample responses:
6969

7070
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:
7171

72-
<IdentityGenerateResponse />
72+
<SnptIdentityGenerateResponse />
7373

7474
#### Successful Response With Opt-Out
7575

docs/endpoints/post-token-validate.md

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -40,16 +40,18 @@ The integration environment and the production environment require different <Li
4040

4141
### Unencrypted JSON Body Parameters
4242

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.
4547

4648
| Body Parameter | Data Type | Attribute | Description |
4749
| :--- | :--- | :--- | :--- |
48-
| `token` | string | Required | The advertising token returned by the [POST&nbsp;/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&nbsp;/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. |
5355

5456
### Request Examples
5557

@@ -109,9 +111,11 @@ A successful decrypted response returns a boolean value that indicates the valid
109111

110112
## Body Response Properties
111113

114+
The following table provides information about the response body.
115+
112116
| Property | Data Type | Description |
113117
| :--- | :--- | :--- |
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. |
115119

116120
### Response Status Codes
117121

@@ -120,7 +124,7 @@ The following table lists the `status` property values and their HTTP status cod
120124
| Status | HTTP Status Code | Description |
121125
| :--- | :--- | :--- |
122126
| `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. |
124128
| `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. |
125129

126130
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
129133

130134
You can use this endpoint to test whether the <Link href="../ref-info/glossary-uid#gl-dii">DII</Link> that you are sending through [POST&nbsp;/token/generate](../endpoints/post-token-generate.md) is valid. Follow these steps.
131135

132-
1. Depending on whether the DII is a hashed or unhashed email address or phone number, send a [POST&nbsp;/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&#8212;`email`, `email_hash`, `phone`, or `phone_hash`&#8212;with the corresponding value as listed in the table.
133-
136+
1. Send a [POST&nbsp;/token/generate](../endpoints/post-token-generate.md) request using an `email`, `email_hash`, `phone` or `phone_hash` to generate an advertising token to validate.
134137
2. Store the returned `advertising_token` value for use in the next step.
135138
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.
136139
4. Check the response to the `POST /token/validate` request. The results indicate the success of your process, as follows:

docs/getting-started/gs-encryption-decryption.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ displayed_sidebar: docs
99
import Tabs from '@theme/Tabs';
1010
import TabItem from '@theme/TabItem';
1111
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';
1313

1414
# Encrypting Requests and Decrypting Responses
1515

@@ -105,7 +105,7 @@ The following table describes the field layout for response decryption code.
105105

106106
For example, a decrypted response to the [POST&nbsp;/token/generate](../endpoints/post-token-generate.md) request for an email address might look like this:
107107

108-
<IdentityGenerateResponse />
108+
<SnptIdentityGenerateResponse />
109109

110110
## Encryption and Decryption Code Examples
111111

docs/getting-started/gs-environments.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ Notes:
3333
- All UID2 endpoints use the same base URL.
3434
- The integration environment and the production environment require different <Link href="../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).
3535
- The expiration time of the <Link href="../ref-info/glossary-uid#gl-uid2-token">UID2 token</Link> returned by the [POST&nbsp;/token/generate](../endpoints/post-token-generate.md) or [POST&nbsp;/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.
3637

3738
## Getting Credentials for Each Environment
3839

docs/getting-started/gs-faqs.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ displayed_sidebar: docs
77
---
88

99
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';
1111

1212
# Frequently Asked Questions
1313

@@ -156,7 +156,7 @@ The UID2 service encrypts UID2 tokens using random initialization vectors. The U
156156

157157
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 <Link href="../ref-info/glossary-uid#gl-bidstream">bidstream</Link>:
158158

159-
<ExampleTokenInBidstream />
159+
<SnptExampleTokenInBidstream />
160160

161161
#### Can I integrate UID2 with Single Sign-On (SSO)?
162162

@@ -198,7 +198,7 @@ To determine whether to refresh a raw UID2:
198198
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 <Link href="../ref-info/glossary-uid#gl-dii">DII</Link>.
199199

200200
:::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.
202202
:::
203203

204204
#### How often should raw UID2s be refreshed for incremental updates?

0 commit comments

Comments
 (0)