Базовые представления о получении статистики через stat.uni
Универсальная статистика позволяет получить информацию про переходы, открытия писем, тиражи выпусков и результаты доставки выпусков рассылок. Все представленные ниже примеры вы можете проверить самостоятельно в API-консоли, при необходимости изменив под ваши конкретные нужды.
Статистика по выпуску
Статистика по выпуску, которую вы видите в веб-интерфейсе Sendsay, получена из кэшированных данных — поэтому вы получаете эти сведения моментально.
Рассмотрим получение данных со всей базовой информацией по отправленным email-выпускам — например, за декабрь 2022 года:
{
"action": "stat.uni",
"result": "response",
"select": ["issue.id", "issue.name", "issue.subject", "issue.dt:Ys", "issue.group.gid", "issue.group.name", "issue.members", "issue.deliv_ok", "issue.deliv_bad", "issue.readed", "issue.u_readed", "issue.clicked", "issue.u_clicked", "issue.unsubed"],
"filter": [{
"a": "issue.dt:Ys",
"op": ">=",
"v": "2022-12-01 00:00:00"
}, {
"a": "issue.dt:Ys",
"op": "<=",
"v": "2022-04-31 23:59:59"
}, {
"a": "issue.format",
"op": "==",
"v": "e"
}],
"order": ["-issue.dt:Ys"]
}
Статистика по выпускам заранее посчитана — и при необходимости вы можете запросить данные по всем отправленным выпускам за весь срок жизни вашего аккаунта.
А чтобы, например, узнать количество отправленных писем с PDF-вложениями за конкретный период, можно получить количество отправленных писем с разбивкой по значению поля issue.features
:
{
"action": "stat.uni",
"select": [
"issue.features",
"sum(issue.members)"
],
"filter": [
{
"a": "issue.dt:YM",
"op": "==",
"v": "2022-12"
},
{
"a": "issue.format",
"op": "==",
"v": "e"
}
]
}
С помощью этого запроса вы получите количество отправленных email-выпус ков за декабрь 2022 года. Полный набор и описание полей, описывающих выпуск рассылки issue.*
, есть в документации.
Статистика для конкретного получателя
В отличие от статистики по выпуску, данные по конкретному получателю рассылок собираются и отдаются «на лету» — в момент выполнения запроса.
Данные о каждом типе событий хранятся каждая в своей области:
Нельзя в одном запросе добавить в select
параметры, описывающие разные события.
Далее приведём примеры.
Все выпуски, отправленные за сегодня для конкретного емейла
{
"action": "stat.uni",
"result": "response",
"select": [
"deliv.member.email",
"deliv.issue.id",
"deliv.issue.name",
"deliv.issue.dt",
"deliv.status"
],
"filter": [
{
"a": "deliv.member.email",
"op": "==",
"v": "my@secret.email"
},
{
"a": "deliv.issue.dt:YD",
"op": "==",
"v": "CURRENT"
}
]
}