Получить статистику рассылок

Метод stats/getMailingsStats показывает статистику всех рассылок сообщества по дням: доставки, прочтения и переходы по ссылкам, с фильтрами.

Обновлено

Показывает статистику всех рассылок сообщества по дням: доставки, прочтения и переходы по ссылкам.

Нужен личный токен с продуктом BotHunter — как получить. Кому доступен: владельцу сообщества и сотрудникам с ролью «Админ (полный доступ)» или «Рассылки и чат-боты».

Параметры

group_id
целое число
обязательный

Номер сообщества — group_id из ответа groups/get.

Пример: 123456

channel
строка
обязательный

Канал сообщества: VK, TG, OK, MAX, CHAT или AVITO — константы.

Пример: VK

date_from
строка

Начало периода, dd.mm.yyyy hh:ii по Москве. По умолчанию — за 7 дней до date_to.

Пример: 25.12.2025 00:00

date_to
строка

Конец периода, dd.mm.yyyy hh:ii по Москве. По умолчанию — текущий момент.

Пример: 01.01.2026 00:00

reading_mailing
целое число

Прочтение: 0 — все сообщения, 1 — только прочитанные, 2 — только непрочитанные. Работает только для ВКонтакте.

followed_link
целое число

Переходы по ссылке: 0 — все сообщения, 1 — только те, где перешли по ссылке, 2 — где не перешли. Работает только для ВКонтакте.

delivery_status
целое число

Доставка: 0 — все сообщения, 1 — только доставленные, 2 — только недоставленные.

user_id
целое число

Посчитать только сообщения одному подписчику — его номер в соцсети или мессенджере.

Пример: 102036383

uid
целое число

То же, что user_id.

Пример: 102036383

Результат

Возвращает объект: chart.items — график по дням, chart.total — суммы за период, date_from и date_to — границы периода.

{
  "status": "ok",
  "response": {
    "chart": {
      "items": [
        {
          "date": "1.1.2026",
          "delivered": 10,
          "not_delivered": 1,
          "reads": 4,
          "clicks": 2
        }
      ],
      "total": {
        "delivered": 10,
        "not_delivered": 1,
        "reads": 4,
        "clicks": 2
      }
    },
    "date_from": "25.12.2025 00:00",
    "date_to": "01.01.2026 00:00"
  }
}

Коды ошибок

Общие ошибки — на странице API.

Код

Когда

6

«Пользователь не найден»: подписчика с номером из user_id или uid нет.

7

Не передан group_id или channel, значение неверное или такого сообщества нет.

Неверный формат даты или date_from позже date_to (вторая проверка — только в v2).

«Период не больше 92 дней».

Неверное значение reading_mailing, followed_link или delivery_status; фильтр прочтений или переходов для сообщества не из ВКонтакте.

Пример запроса

Подставьте свой токен вместо <ваш_токен>.

curl
PHP
Python
JavaScript
curl -X POST https://bot-api.targethunter.ru/external-api/v2/stats/getMailingsStats \
  -H "Authorization: Bearer <ваш_токен>" \
  -H "Content-Type: application/json" \
  -d '{"group_id": 123456, "channel": "VK", "date_from": "25.12.2025 00:00", "date_to": "01.01.2026 00:00"}'
$token = '<ваш_токен>';
$url = 'https://bot-api.targethunter.ru/external-api/v2/stats/getMailingsStats';
$params = [
    'group_id' => 123456,
    'channel' => 'VK',
    'date_from' => '25.12.2025 00:00',
    'date_to' => '01.01.2026 00:00',
];

$curl = curl_init($url);
curl_setopt_array($curl, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POST => true,
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer ' . $token,
        'Content-Type: application/json',
    ],
    CURLOPT_POSTFIELDS => json_encode($params),
]);

$response = json_decode(curl_exec($curl), true);
curl_close($curl);
import requests

token = '<ваш_токен>'
url = 'https://bot-api.targethunter.ru/external-api/v2/stats/getMailingsStats'
params = {
    'group_id': 123456,
    'channel': 'VK',
    'date_from': '25.12.2025 00:00',
    'date_to': '01.01.2026 00:00',
}

response = requests.post(url, json=params, headers={'Authorization': f'Bearer {token}'})
print(response.json())
const token = '<ваш_токен>';
const params = {
  "group_id": 123456,
  "channel": "VK",
  "date_from": "25.12.2025 00:00",
  "date_to": "01.01.2026 00:00"
};

const response = await fetch('https://bot-api.targethunter.ru/external-api/v2/stats/getMailingsStats', {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${token}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify(params),
});
console.log(await response.json());