Subscribe
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:
|