Обзор

Интеграции

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

Справочник API

Вебхуки

Вебхук для изменения статуса подписки

Что такое изменение статуса подписки? #

Изменение подписки регистрируется, когда email-адрес добавляется в стоп-список (Suppression list) канала или удаляется из него. Адрес добавляется в список исключений после жесткого возврата, жалобы на спам, отписки или ручного исключения. Ручное исключение создается в веб-интерфейсе Haskimail или с помощью API.

Адрес удаляется из стоп-списка вручную — путем его повторной активации в веб-интерфейсе Haskimail или с помощью API.

Вы также можете получить адреса из стоп-спика с помощью API.

Примечание: Дата и время в поле ChangedAt передаются в формате ISO 8601.

Настройка URL вебхука для изменения статуса подписки #

Через веб-интерфейс Haskimail

Войдите в аккаунт Haskimail, выберите нужный Сервер и Канал, а затем перейдите на вкладку «Вебхуки». Нажмите «Добавить вебхук», введите URL в поле «URL вебхука» и установите флажок напротив события «Изменение подписки» (Subscription Change)./p>

Через API

Вы можете настроить событие SUBSCRIPTION CHANGE с помощью API как при создании нового вебхука, так и при редактировании уже существующего.

Данные вебхука для изменения статуса подписки#

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

  • Поле SuppressSending информирует, была ли это деактивация (true) или повторная активация (false).
  • Возможные значения SuppressionReason: HardBounce, SpamComplaint или ManualSuppression.
  • Если получатель отписывается, он будет исключен с SuppressionReason, равным ManualSuppression.
  • event_time — временная метка изменения подписки.

 

Пример JSON данных вебхука

{  
    "event": "SUBSCRIPTIONCHANGE",
	"recipient": "petr@primer.ru",
	"message_id": "098f6bcd4621d373cade4e832627b4f6",
	"SuppressSending": "true",
	"SuppressionReason": "SpamComplaint",
	"tag": "welcome-email",
	"server_id": 127,
	"stream_id": 2076,
	"event_time": "2025-02-28 03:30:13"
  }
}

Тестирование вебхука для изменения статуса подписки с помощью curl #

Если вы ведете разработку на локальной машине или у вас нет публичного URL для вашего API, вы можете использовать пример POST-запроса, показанный справа. Замените <your-url> на API-маршрут, который вы хотите использовать в качестве URL вашего вебхука. Этот curl-запрос позволит вам убедиться, что ваш URL может принимать запросы в том же JSON-формате, который будут использовать серверы Haskimail.

Пример вызова curl

curl <your-url> \
  -X POST \
  -H "Content-Type: application/json" \
  -d '{
  "RecordType": "SubscriptionChange",
  "MessageID": "883953f4-6105-42a2-a16a-77a8eac79483",
  "ServerID": 4509041,
  "MessageStream": "outbound",
  "ChangedAt": "2020-02-01T10:53:34.416071Z",
  "Recipient": "hard-bounce@wildbit.com",
  "Origin": "Customer",
  "SuppressSending": true,
  "SuppressionReason": "HardBounce",
  "Tag": "my-tag",
  "Metadata": {
    "example": "value",
    "example_2": "value"
  }
}'

Как можно использовать данные об измении статуса подписки #

Существует множество способов использования данных, которые предоставляет вебхук для изменения подписки:

  • Использовать этот вебхук вместо отдельных вебхуков для возвратов и жалоб на спам, чтобы получать уведомления о неактивных адресах.
  • Вести собственный список исключений.
  • Уведомлять пользователя в вашем приложении о том, что его адрес в данный момент активен или неактивен.