This API creates and links subscription profiles, which could be used for example as part of an email newsletter subscription.
A subscription profile can be linked to one or multiple device identified profiles, which can belong to anonymous visitors or identified customers.
Request
|
Name |
Description |
|---|---|
|
HTTP-Method |
GET |
|
Content-Type |
None |
|
Path |
|
GET /op/[pipeline]/v1/subscribe/?em=[encryptedEmail]
Parameters
|
Name |
Value |
Required |
Description |
|---|---|---|---|
|
em |
Base64Url encoded encrypted identifier |
Yes |
Encrypted identifier, for example E-Mail. The identifier is decrypted and validated, then hashed and persisted in the DB. Also it is linked to the UMDID, if provided. |
|
umdid |
cookie |
No |
UMDID as obtained from umdid cookie. |
The em parameter contains an encrypted and Base64Url encoded email address.
The identifier must be encrypted as follows:
|
Name |
Description |
|---|---|
|
Cipher |
AES |
|
Key Size |
256 Bit |
|
Mode of Operation |
|
|
Padding |
None |
|
IV |
Random 12 Byte IV. The IV must not be used twice. |
|
Ciphertext |
Same size as plaintext |
|
GCM authentication tag |
16 Bytes |
The encrypted identifier is formed by concatenating the bytes of the triplet (IV, ciphertext, GCM-tag). Finally the encrypted identifier must be Base64Url encoded.
HTTP Status Codes
|
Code |
Name |
Description |
|---|---|---|
|
200 |
OK |
The subscription was successful. |
|
400 |
Bad Request |
The request was malformed. For example no subscription ID is provided or the provided encrypted subscription ID is not decryptable. |
|
404 |
Not Found |
Incorrect request method or path or pipeline does not exist. |
|
413 |
Payload Too Large |
The request headers are larger than the configured maximum on the server. |
|
500 |
Internal Server Error |
An error occurred when processing the request. For example the DB access timed out. |
The subscription was successful.
Response
Content-Type: application/json
Success:
|
Field Name |
Type |
Description |
|---|---|---|
|
ok |
Boolean |
Always |
Error:
|
Field Name |
Type |
Description |
|---|---|---|
|
ok |
Boolean |
Always |
|
errorMessage |
String |
Description of error. Examples:
|