Обновлено:
Объединение результатов двух и более запросов к stat.uni в одну таблицу
В одном запросе к stat.uni не может быть обращения к разным областям хранения данных, например доставка и открытия. Что же делать, если все таки хочется получить в одной таблице данные из нескольких областей? Как пример, вам надо выгрузить данные о всех событиях (доставка, открытия, клики, отписки) получателей конкретного выпуска.
Для этого нужно ис пользовать конструкцию join. Параметр join запроса stat.uni - это массив необходимого числа запросов. Он дополняется параметром joinby - размер уникального ключа для группировки запросов. Более подробно вы можете почитать в документации к АПИ, а мы же перейдем непосредственно к примеру:
{
"action": "stat.uni",
"result": "save",
"joinby": 2,
"join": [
{
"select": [
"deliv.member.id",
"deliv.issue.id",
"deliv.member.email",
"deliv.status"
],
"filter": [
{
"a": "deliv.issue.id",
"op": "==",
"v": "777"
}
]
},
{
"select": [
"read.member.id",
"read.issue.id",
"count(*)"
],
"filter": [
{
"a": "read.issue.id",
"op": "==",
"v": "777"
}
]
},
{
"select": [
"click.member.id",
"click.issue.id",
"count(*)"
],
"filter": [
{
"a": "click.issue.id",
"op": "==",
"v": "777"
}
]
},
{
"select": [
"unsub.member.id",
"unsub.issue.id",
"min(unsub.dt)"
],
"filter": [
{
"a": "unsub.issue.id",
"op": "==",
"v": "777"
}
]
}
]
}