Как подключить вебхуки для email сервиса

Webhook — это механизм получения уведомлений об определенных событиях. Вы можете настроить оповещения себе в систему о доставляемости писем и активности подписчиков.

Как создать вебхук

Чтобы включить отправку автоматических вебхуков по событиям Email сервиса, перейдите в раздел «Настройки аккаунта» на вкладку «API» и нажмите «Создать webhook».

Выберите событие относительно отправки письма, по которому будет срабатывать вебхук в email сервисе:

  • отмечено как спам;
  • открытие рассылки;
  • переход по ссылке;
  • новый подписчик;
  • удаление из книги;
  • пользователь отписался;
  • доставленно;
  • изменение статуса рассылки.

Далее укажите URL, на который будут отправляться уведомления.

Для каждого события создается отдельный вебхук.

Формат отправляемых данных

При срабатывании вебхука, SendPulse отправляет на указанный URL POST запрос с JSON типом данных.

Данные отсылаются каждую минуту или при достижении лимита в 100 событий.

Данные пересылаются в следующем формате:

[
  {
    "timestamp": "1496827422",
    "event": "event_name",
    "task_id": "3668141",
    "email": "john.doe@sendpulse.com" 
  }
]

Форматы запросов, в зависимости от события

Помечено как спам:

[
  {
    "timestamp": "1496827422",
    "event": "spam",
    "task_id": "3668141",
    "email": "john.doe@sendpulse.com" 
  }
]

Открытие рассылки:

[
  {
    "task_id": "3668141",
    "timestamp": "1496827941",
    "open_device": "Desktop",
    "open_platform": "Windows",
    "browser_ver": "11.0",
    "browser_name": "Firefox",
    "email": "john.doe@sendpulse.com",
    "event": "open" 
  }
]

Переход по ссылке:

[
  {
    "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": "john.doe@sendpulse.com",
    "event": "redirect" 
  }
]

Пользователь отписался:

[
  {
    "task_id": "3668141",
    "timestamp": "1496827872",
    "from_all": 1,
    "email": "john.doe@sendpulse.com",
    "reason": null,
    "book_id": "490686",
    "event": "unsubscribe",
    "categories": "" 
  }
]

Новый подписчик:

[
  {
    "timestamp": "1496827625",
    "variables": [],
    "email": "john.doe@sendpulse.com",
    "source": "address book",
    "book_id": "490686",
    "event": "new_emails" 
  },
  {
    "timestamp": "1496827625",
    "variables": [],
    "email": "doe.john@sendpulse.com",
    "source": "subscription form",
    "book_id": "490686",
    "event": "new_emails" 
  }
]

Удаление из книги:

[
  {
    "timestamp": "1496827422",
    "event": "delete",
    "book_id": "490686",
    "email": "john.doe@sendpulse.com" 
  }
]

Доставлено:

[
  {
    "timestamp": 1632316421
    "event": "delivered"
    "task_id": 9333331
    "email": "test@e.cn.ua"
  }
]

Изменение статуса рассылки:

[
  {
    "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" 
  },
]

Пример скрипта, принимающего запрос, на языке PHP:

<?php
$json_string = file_get_contents('php://input');
$data_array = json_decode($json_string, true);
?>
Оцените, насколько полезна статья "Как подключить вебхуки для email сервиса"

Оценка: 4 / 5 (8)

    Другие полезные страницы

    Популярное в нашем блоге

    Начните пользоваться сервисом SendPulse прямо сегодня