Вебхук — это когда Haskimail отправляет HTTP POST-запрос на API вашего приложения при возникновении определенного события. Таким образом, Haskimail может немедленно уведомлять вас о событии, и вашему приложению не нужно постоянно опрашивать API Haskimail, чтобы определить, произошло ли что-то новое.
Примечание: Дата и время в данных вебхука передаются в формате ISO 8601.
Чтобы Haskimail мог взаимодействовать с вашим приложением, вам понадобится общедоступный URL. Этот URL необходимо защитить, чтобы злоумышленники не могли манипулировать вашими данными.
Если вы используете файрвол, вы можете настроить его так, чтобы он разрешал запросы только с IP-адресов, которые использует Haskimail. IP-адреса, которые Haskimail использует для вебхуков, можно найти в нашей статье поддержки. IP-адрес источника может меняться при каждой попытке.
Еще один простой способ защитить ваш API — это базовая HTTP-аутентификация. Почти все веб-серверы можно настроить так, чтобы они требовали имя пользователя и пароль для доступа к URL. Вы можете настроить URL вашего вебхука с базовой HTTP-аутентификацией, добавив имя пользователя и пароль в URL https://example.com/webhook в следующем формате и установив полученный результат в качестве URL вебхука::
https://<username>:<password>@example.com/webhook
Чтобы обеспечить шифрование ваших данных, мы настоятельно рекомендуем использовать HTTPS (SSL) для URL вашего вебхука.
Тестирование вебхуков может быть сложным процессом. Вот две рекомендации от Haskimail.
Отличный инструмент для работы с API (и многого другого) — это curl. В данном контексте вы можете использовать curl для отправки HTTP-запросов к вашему API так же, как это делает Haskimail. Пример вызова curl вы найдете в разделе каждого отдельного вебхука.
RequestBin— это отличный сервис для анализа HTTP-запросов. Вы можете создать временный URL в RequestBin и использовать его в качестве URL вашего вебхука в Haskimail. RequestBin будет записывать HTTP-запросы и позволит вам их проанализировать, чтобы проверить заголовки, JSON-тела и другую информацию о запросе. Это позволит вам получить информацию о HTTP-запросах, используемых в вебхуке, если у вас еще нет публичного URL и вы хотите немедленно начать разработку.
Если Haskimail не получает ответ со статусом 200 от сервера вебхука, мы повторяем отправку POST-запросов. Если мы получим ответ со статусом 403, мы прекратим повторные попытки.
Повторные попытки для этих вебхуков выполняются по следующему расписанию:
Повторные попытки для этих вебхуков выполняются по следующему расписанию: