Як підключити вебхуки для 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 сервісу"

Оцінка: 5 / 5

    Почніть користуватися сервісом SendPulse прямо сьогодні