Consent notificaions
This section describes notification which sends in case when endUser opt in or opt out his marketing consent during new purchase or via End User Portal.
History of changes
| Change tag | Change description | Change date |
|---|---|---|
| IAP-25364 | Initial version of create & update notifications is created | 20.03.2026 |
Event list
- Consent is created
type=created - Consent is updated
type=updated
List of fields for consent creation
| Name | Description | R/O |
|---|---|---|
| subject | consent | R |
| type | Depends on the type of the notification: created, updated | R |
| objectId | Consent Id | R |
| eventDate | Date in ISO 8601 format | R |
consent {object} | Consent details object | R |
| consent.source | The origin of marketing consent creation, update. Values: purchase, enduserportal | R |
| consent.userEmail | End-User email address | R |
consent.consents [{object}] | Array of consent objects. For this type of notification there are always two | R |
| consent.consents.[].type | The fixed list of values: newsletterOptin or abandonedCartOptOut | R |
| consent.consents.[].status | Boolean indicates the value of consent | R |
| consent.consents.[].lastUpdateReason | Textual comment of the action, f.e. "declare consent" | R |
| consent.consents.[].lastLegalActionTimestamp | It's provided only in case of direct endUser action, otherwise it's not sent | O |
Example
The normal pass of the flow assumes that for creation consnent the system will send two objects: newsletterOptin (depending on what was chosen on shopping-cart) & abandonedCartOptOut=false (always false meaning that endUser did not opt consent out for emails connected to abandoned cart campaigns)
{
"subject" : "consent",
"type" : "created",
"objectId" : "4ecaf60b-ed62-4b95-b986-156648044551",
"eventDate" : "2026-03-17T09:51:36Z",
"consent" : {
"source" : "purchase",
"userEmail" : "[email protected]",
"consents" : [
{
"type" : "newsletterOptin",
"status" : true,
"lastUpdateReason" : "declare consent"
},
{
"type" : "abandonedCartOptOut",
"status" : false,
"lastUpdateReason" : "declare consent"
} ]
}
}
Then there are following use cases exist:
- Revoke abandonedCartOptOut cart consent via a special link provided in abandoned cart email, the payload will look following:
{
"subject" : "consent",
"type" : "updated",
"objectId" : "4ecaf60b-ed62-4b95-b986-156648044551",
"eventDate" : "2026-03-17T09:51:36Z",
"consent" : {
"source" : "purchase",
"userEmail" : "[email protected]",
"consents" : [
{
"type" : "abandonedCartOptOut",
"status" : true,
"lastUpdateReason" : "revoke consent",
"lastLegalActionTimestamp": 1773761609454
}
]
}
}
- Change newsletterOptin via end user portal
{
"subject" : "consent",
"type" : "updated",
"objectId" : "4ecaf60b-ed62-4b95-b986-156648044551",
"eventDate" : "2026-03-17T09:51:36Z",
"consent" : {
"source" : "enduserportal",
"userEmail" : "[email protected]",
"consents" : [
{
"type" : "newsletterOptin",
"status" : true,
"lastUpdateReason" : "force consent",
"lastLegalActionTimestamp": 1773761609454
}
]
}
}