Когда вы отправляете письмо с включенным отслеживанием открытий, Haskimail сохраняет информацию о том, когда получатель впервые открывает это письмо. Haskimail отображает эту информацию в веб-интерфейсе для вашего сервера. Вы также можете запрашивать (pull) данные об открытиях через API. Однако для некоторых приложений проще настроить вебхук: с его помощью Haskimail будет сам отправлять (push) данные в ваше приложение, как только они поступят. Вебхук для открытий может мгновенно уведомлять ваше приложение об открытиях писем, отправляя POST-запрос с данными в формате JSON на указанный вами URL.
Чтобы получать уведомления о каждом открытии письма получателем, вам необходимо использовать вебхук для открытий. Если получатель открывает письмо несколько раз, Haskimail по умолчанию сохраняет информацию только о первом открытии. Именно эти данные отображаются в веб-интерфейсе Haskimail и запрашиваются через API открытий. Однако, если вы настроите вебхук с параметром PostFirstOpenOnly, установленным в false, Haskimail будет отправлять POST-запрос на ваш URL при каждом открытии. Это единственный способ получать информацию обо всех открытиях.
Примечание: Дата и время в поле ReceivedAt передаются в формате ISO 8601.
Войдите в аккаунт Haskimail, выберите нужный Сервер и Канал, а затем перейдите на вкладку «Вебхуки». Нажмите «Добавить вебхук», введите URL в поле «URL вебхука» и установите флажок напротив события «Открытия» (Open).
Вы можете настроить событие Open с помощью API как при создании нового вебхука, так и при редактировании уже существующего.
Пример полного JSON-документа, который будет отправлен POST-запросом на ваш URL вебхука, показан справа.
Recipient — email-адрес получателя, открывшего письмо.FirstOpen — указывает, является ли это открытие первым для данного получателя.Geo — этот JSON-объект содержит географическую информацию, которую Haskimail смог извлечь из IP-адреса, с которого пришел запрос на открытие. В некоторых случаях этот объект может быть заполнен лишь частично.Metadata — пользовательские метаданные, которые были добавлены в письмо.ReceivedAt — временная метка, когда сообщение было открыто.{
"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"
} Если вы ведете разработку на локальной машине или у вас нет публичного URL для вашего API, вы можете использовать пример POST-запроса, показанный справа. Замените <your-url> на API-маршрут, который вы хотите использовать в качестве URL вашего вебхука. Этот curl-запрос позволит вам убедиться, что ваш URL может принимать запросы в том же JSON-формате, который будут использовать серверы Haskimail.
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"
}' С помощью данных, полученных от отслеживания открытий, вы сможете ответить на некоторые интересные для вашего бизнеса вопросы: