Механизм Webhooks позволяет получать POST запросы на указанный вами URL в случае возникновения событий ( events ) связанных с одиночными сообщениями, сообщениями отправленными по шаблону, одиночными smtp сообщениями
Структура сообщений отправляемых на ваш URL будет следующей:
{
"message": {
"id": 1
},
"event": {
"name": "clicked",
"timestamp": 1539062173,
"data": {
"url": "https://example.com"
}
}
}
Параметр message содержит идентификатор сообщения с которым связано событие. Events возвращает какое событие было связано с этим сообщением:
Name тип события
Timestamp время в которое произошло данное событие
Data URL ссылка по которой был выполнен переход
Существуют следующие виды событий ( name ):
Событие |
Описание |
delivered |
Сообщение доставлено |
opened |
Сообщение открыто |
clicked |
Получатель перешел по ссылке. Ключ event.data содержит URL ссылки |
unsubscribed |
Получатель отписался |
complined |
Получатель пожаловался на спам |
skipped |
Сообщение не было отправлено (возможные причины: получатель ранее отписался или пожаловался на спам) |
soft_bounced |
Сообщение не принято почтовым сервером получателя (возможно, будет принято позже) |
hard_bounced |
Сообщение не принято почтовым сервером получателя |
Как включить WebHooks
Пример json данных для HTTP запроса:
{
"url":"https://example.com/some/path"
}
Пример HTTP запроса:
curl -X POST https://api.msndr.net/v1/email/webhook \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer $API_TOKEN' \
-d '...JSON...'
Здесь используется метод POST и ссылка /email/webhook
Пример сформированного HTTP запроса:
curl -X POST https://api.msndr.net/v1/email/webhook \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer $API_TOKEN' \
-d '...JSON...'
Пример ответа в случае успеха:
{
"url":"https://example.com/some/path"
}
Ниже в таблице приведены параметры в json данных в отправляемом запросе ,и их описание:
Параметр |
Описание |
Обязательный |
url |
Вашь URL, на который отправлять данные о событии |
Да |
Получение информации о Webhook
Пример HTTP запроса:
curl -X GET https://api.msndr.net/v1/email/webhook \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer $API_TOKEN'
Здесь используется метод GET и ссылка /email/webhook
Пример ответа в случае успешного запроса:
{
"url":"https://example.com/some/path"
}
В ответ вы получаете вашу ссылку которая у вас добавлена в webhook
Отключение Webhook
Пример json данных для запроса:
{
"url":"https://example.com/some/path"
}
Пример HTTP запроса:
curl -X DELETE https://api.msndr.net/v1/email/webhook \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer $API_TOKEN'
Здесь используется метод DELETE и ссылка /email/webhook