Обзор

Интеграции

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

Справочник API

Вебхуки

Вебхук для отслеживания открытий

Что такое вебхук для открытий? #

Когда вы отправляете письмо с включенным отслеживанием открытий, Haskimail сохраняет информацию о том, когда получатель впервые открывает это письмо. Haskimail отображает эту информацию в веб-интерфейсе для вашего сервера. Вы также можете запрашивать (pull) данные об открытиях через API. Однако для некоторых приложений проще настроить вебхук: с его помощью Haskimail будет сам отправлять (push) данные в ваше приложение, как только они поступят. Вебхук для открытий может мгновенно уведомлять ваше приложение об открытиях писем, отправляя POST-запрос с данными в формате JSON на указанный вами URL.

Чтобы получать уведомления о каждом открытии письма получателем, вам необходимо использовать вебхук для открытий. Если получатель открывает письмо несколько раз, Haskimail по умолчанию сохраняет информацию только о первом открытии. Именно эти данные отображаются в веб-интерфейсе Haskimail и запрашиваются через API открытий. Однако, если вы настроите вебхук с параметром PostFirstOpenOnly, установленным в false, Haskimail будет отправлять POST-запрос на ваш URL при каждом открытии. Это единственный способ получать информацию обо всех открытиях.

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

Настройка URL вебхука для открытий #

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

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

Через API

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

Данные вебхука для открытий #

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

  • Recipient — email-адрес получателя, открывшего письмо.
  • FirstOpen — указывает, является ли это открытие первым для данного получателя.
  • Geo — этот JSON-объект содержит географическую информацию, которую Haskimail смог извлечь из IP-адреса, с которого пришел запрос на открытие. В некоторых случаях этот объект может быть заполнен лишь частично.
  • Metadata — пользовательские метаданные, которые были добавлены в письмо.
  • ReceivedAt — временная метка, когда сообщение было открыто.

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

{
  "RecordType": "Open",
  "MessageStream": "outbound",
  "FirstOpen": true,
  "Client": {
    "Name": "Chrome 35.0.1916.153",
    "Company": "Google",
    "Family": "Chrome"
  },
  "OS": {
    "Name": "OS X 10.7 Lion",
    "Company": "Apple Computer, Inc.",
    "Family": "OS X 10"
  },
  "Platform": "WebMail",
  "UserAgent": "Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/35.0.1916.153 Safari\/537.36",
  "Geo": {
    "CountryISOCode": "RS",
    "Country": "Serbia",
    "RegionISOCode": "VO",
    "Region": "Autonomna Pokrajina Vojvodina",
    "City": "Novi Sad",
    "Zip": "21000",
    "Coords": "45.2517,19.8369",
    "IP": "188.2.95.4"
  },
  "MessageID": "883953f4-6105-42a2-a16a-77a8eac79483",
  "Metadata" : {
    "a_key" : "a_value",
    "b_key": "b_value"
   },
  "ReceivedAt": "2019-11-05T16:33:54.9070259Z",
  "Tag": "welcome-email",
  "Recipient": "ivan@example.com"
}

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

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

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

curl <your-url> \
  -X POST \
  -H "Content-Type: application/json" \
  -d '{
  "FirstOpen": true,
  "Client": {
    "Name": "Chrome 35.0.1916.153",
    "Company": "Google",
    "Family": "Chrome"
  },
  "OS": {
    "Name": "OS X 10.7 Lion",
    "Company": "Apple Computer, Inc.",
    "Family": "OS X 10"
  },
  "Platform": "WebMail",
  "UserAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36",
  "Geo": {
    "CountryISOCode": "RS",
    "Country": "Serbia",
    "RegionISOCode": "VO",
    "Region": "Autonomna Pokrajina Vojvodina",
    "City": "Novi Sad",
    "Zip": "21000",
    "Coords": "45.2517,19.8369",
    "IP": "188.2.95.4"
  },
  "MessageID": "883953f4-6105-42a2-a16a-77a8eac79483",
  "ReceivedAt": "2019-05-21T18:24:47Z",
  "Tag": "welcome-email",
  "Recipient": "ivan@example.com",
  "RecordType": "Open"
}'

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

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

  • Какие пользователи не читают ваши письма?
  • Где ваши пользователи читают письма?
  • На каких устройствах ваши пользователи просматривают письма?