Обзор

Интеграции

Руководство пользователя

Справочник API

Вебхуки

Обзор вебхуков

Что такое вебхук? #

Вебхук — это когда Haskimail отправляет HTTP POST-запрос на API вашего приложения при возникновении определенного события. Таким образом, Haskimail может немедленно уведомлять вас о событии, и вашему приложению не нужно постоянно опрашивать API Haskimail, чтобы определить, произошло ли что-то новое.

Примечание: Дата и время в данных вебхука передаются в формате ISO 8601.

Защита вашего вебхука #

Чтобы Haskimail мог взаимодействовать с вашим приложением, вам понадобится общедоступный URL. Этот URL необходимо защитить, чтобы злоумышленники не могли манипулировать вашими данными.

IP-адреса для файрволов

Если вы используете файрвол, вы можете настроить его так, чтобы он разрешал запросы только с IP-адресов, которые использует Haskimail. IP-адреса, которые Haskimail использует для вебхуков, можно найти в нашей статье поддержки. IP-адрес источника может меняться при каждой попытке.

Базовая HTTP-аутентификация

Еще один простой способ защитить ваш API — это базовая HTTP-аутентификация. Почти все веб-серверы можно настроить так, чтобы они требовали имя пользователя и пароль для доступа к URL. Вы можете настроить URL вашего вебхука с базовой HTTP-аутентификацией, добавив имя пользователя и пароль в URL https://example.com/webhook в следующем формате и установив полученный результат в качестве URL вебхука::

https://<username>:<password>@example.com/webhook

Чтобы обеспечить шифрование ваших данных, мы настоятельно рекомендуем использовать HTTPS (SSL) для URL вашего вебхука.

Тестирование вебхука #

Тестирование вебхуков может быть сложным процессом. Вот две рекомендации от Haskimail.

Использование curl

Отличный инструмент для работы с API (и многого другого) — это curl. В данном контексте вы можете использовать curl для отправки HTTP-запросов к вашему API так же, как это делает Haskimail. Пример вызова curl вы найдете в разделе каждого отдельного вебхука.

Использование RequestBin

RequestBin— это отличный сервис для анализа HTTP-запросов. Вы можете создать временный URL в RequestBin и использовать его в качестве URL вашего вебхука в Haskimail. RequestBin будет записывать HTTP-запросы и позволит вам их проанализировать, чтобы проверить заголовки, JSON-тела и другую информацию о запросе. Это позволит вам получить информацию о HTTP-запросах, используемых в вебхуке, если у вас еще нет публичного URL и вы хотите немедленно начать разработку.

Повторные попытки #

Если Haskimail не получает ответ со статусом 200 от сервера вебхука, мы повторяем отправку POST-запросов. Если мы получим ответ со статусом 403, мы прекратим повторные попытки.

Вебхуки для возвратов

Повторные попытки для этих вебхуков выполняются по следующему расписанию:

  • 1 мин
  • 5 мин
  • 10 мин (x 3)
  • 15 мин
  • 30 мин
  • 1 час
  • 2 часа
  • 6 часов

Вебхуки для кликов, открытий, доставок и изменений подписки

Повторные попытки для этих вебхуков выполняются по следующему расписанию:

  • 1 мин
  • 5 мин
  • 15 мин