Email Webhooks
WebHooks
WebHook is a mechanism of receiving notifications about certain events. To add a webhook go to "Account settings" → "API".
Specify a URL send notifications to and select events you would like to be notified about.
List of events triggering the webhook in the Email service:
Marked as spam
Email opened
Click-through
New subscriber
Email address deleted from the mailing list
Subscriber opted-out
Campaign status changed
When a webhook is triggered, data is sent to the specified URL:
Data type: JSON
Request type: POST
The data is sent every minute or when the event count reaches 100.
Main data format for a request:
[
{
"event": "event_name",
"timestamp": 1490954061,
"recipient": "[email protected]",
"sender": "[email protected]",
"subject": "hello world"
}
]
In a case when there are several events, they will be grouped in one or several requests
[
{
"timestamp": 1496827422,
"event": "delete",
"book_id": "490686",
"email": "[email protected]"
},
{
"timestamp": 1496827422,
"event": "delete",
"book_id": "490686",
"email": "[email protected]"
},
{
"timestamp": "1496827625",
"variables": [],
"email": "[email protected]",
"source": "address book",
"book_id": "490686",
"event": "new_emails"
}
]
Examples of requests for each event:
Marked as spam
[
{
"timestamp": 1496827422,
"event": "spam",
"task_id": 3668141,
"email": "[email protected]"
}
]
Email opened
[
{
"task_id": 3668141,
"timestamp": "1496827941",
"open_device": "Desktop",
"open_platform": "Windows",
"browser_ver": "11.0",
"browser_name": "Firefox",
"email": "[email protected]",
"event": "open"
}
]
Link clicked
[
{
"link_url": http://google.com,
"task_id": 3668141,
"timestamp": "1496828000",
"open_device": "Desktop",
"open_platform": "Linux",
"browser_ver": "58.0.3029.110",
"browser_name": "Chrome",
"link_id": 71741389,
"email": "[email protected]",
"event": "redirect"
}
]
Client opted-out
[
{
"task_id": "3668141",
"timestamp": "1496827872",
"from_all": 1,
"email": "[email protected]",
"reason": null,
"book_id": 490686,
"event": "unsubscribe",
"categories": ""
}
]
New subscriber
[
{
"timestamp": "1496827625",
"variables": [],
"email": "[email protected]",
"source": "address book",
"book_id": "490686",
"event": "new_emails"
},
{
"timestamp": "1496827625",
"variables": [],
"email": "[email protected]",
"source": "subscription form",
"book_id": "490686",
"event": "new_emails"
}
]
Removing from an email list
[
{
"timestamp": 1496827422,
"event": "delete",
"book_id": "490686",
"email": "[email protected]"
}
]
Changing email campaign status
[
{
"status": "approve",
"status_explain": "Approved and will be sent",
"task_id": 3668138,
"timestamp": 1496827843,
"book_id": "490686",
"event": "task_status_update"
},
{
"status": "approve_part",
"status_explain": "Approved and will be sent by parts",
"task_id": 3668139,
"timestamp": 1496827843,
"book_id": "490686",
"event": "task_status_update"
},
{
"status": "only_active",
"status_explain": "Will be sent only to active adresses",
"task_id": 3668140,
"timestamp": 1496827843,
"book_id": "490686",
"event": "task_status_update"
},
{
"status": "confirm_addresses",
"status_explain": "Rejected: confirm the mailing list",
"task_id": 3668142,
"timestamp": 1496827843,
"book_id": "490686",
"event": "task_status_update"
},
{
"status": "need_edit",
"status_explain": "Rejected: edit the email body",
"task_id": 3668143,
"timestamp": 1496827843,
"book_id": "490686",
"event": "task_status_update"
},
{
"status": "rejected",
"status_explain": "Campaign rejected",
"task_id": 3668144,
"timestamp": 1496827843,
"book_id": "490686",
"event": "task_status_update"
},
{
"status": "on_moderation",
"status_explain": "Campaign is on moderation",
"task_id": 3668145,
"timestamp": 1496827843,
"book_id": "490686",
"event": "task_status_update"
},
{
"status": "sending",
"status_explain": "Campaign is in the sending queue",
"task_id": 3668146,
"timestamp": 1496827843,
"book_id": "490686",
"event": "task_status_update"
},
]
Example of the script that processes a webhook in PHP
Updated about 6 years ago