Перейти к основному содержимому

Reporter API

Reporter API — это API для продвинутого управления аналитикой проектов.

Методы Reporter API позволяют:

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

Получение API-токена

подсказка
Перед началом работы с Reporter API необходимо получить уникальный токен, который будет использоваться в запросах к методам.
  1. Для получения токена откройте проект, с аналитикой которого вы собираетесь работать.
  2. Нажмите и выберите Свойства проекта.
  3. В появившемся окне откройте вкладку API-токены и нажмите . Токен будет скопирован в буфер обмена.
  4. В строку запроса подставьте скопированный токен вместо параметра token.

Примеры использования

Получение сессий за определенный период

Метод POST /reporter/p/{token}/sessions/filter позволяет получить сессии за определенный период времени.

Допустим, мы хотим получить информацию о сессиях, в которых:

  • Сообщения были получены за неделю с 14.02.2021 по 21.02.2021.
  • Отсутствуют пустые сессии.
  • Количество полученных сообщений варьируется от 20 до 50.

В таком случае в теле запроса установим фильтры MESSAGE_TIME, WITHOUT_EMPTY_SESSIONS и MESSAGE_COUNT следующим образом:

{
"filters": [
{
"key": "MESSAGE_TIME",
"type": "DATE_TIME_RANGE",
"from": "2021-02-14T21:00:00.234Z",
"to": "2021-02-21T20:59:59.000Z"
},
{
"key": "WITHOUT_EMPTY_SESSIONS",
"type": "RADIO",
"option": "YES"
},
{
"key": "MESSAGE_COUNT",
"type": "NUMERIC_RANGE",
"from": "20",
"to": "50"
}
]
}

В ответе запроса получим подробную информацию об отфильтрованных сессиях:

  • ID сессии
  • Тип канала
  • ID, фамилии и имена клиентов
  • Начало и длительность сессий
  • Первая и последняя фразы
  • Количество сообщений
  • Проставленные метки

Получение статусов сообщений

Метод POST /reporter/p/{token}/messages/by-session позволяет получить статусы сообщений в каналах Telegram, Viber и ВКонтакте.

Статусы сообщений возвращаются в поле status. Возможные значения:

  • SENT — отправлено;
  • NOT_SENT — не отправлено;
  • DELIVERED — доставлено;
  • NOT_DELIVERED — не доставлено;
  • READ — прочитано.
подсказка
Статус SENT можно получить только в каналах Telegram и ВКонтакте, а статус READ — в Viber и ВКонтакте.

Создание отчета по сообщениям

Метод POST /reporter/p/{token}/reports/messages позволяет создать отчет по сообщениям.

Чтобы создать отчет по сообщениям, полученным только в канале Telegram за все время, напишите в теле запроса следующее:

{
"filters": [
{
"key": "CHANNEL_TYPE",
"type": "CHECKBOX",
"options": [
"telegram"
]
}
],
"settings": {
"fileType": "XLSX",
"withHeader": true
}
}

Сформировавшийся отчет будет доступен для скачивания на вкладке Фоновые задачи.