API работает на том же домене, что и приложение, с префиксом /api. Запросы управления и чтения защищены авторизацией и правами на ресурс; публичный приём событий — отдельный маршрут.
Доступность по тарифам
По умолчанию внешний API доступен на тарифах «Профи» и «Бизнес». Доступ определяется настройкой «Доступ к API» в тарифе вашего аккаунта. Если она выключена, запросы возвращают 403 с кодом feature_not_available и полем feature: apiAccess.
Работа в кабинете, установка счётчика через CMS или менеджер тегов и отправка событий не требуют доступа к внешнему API. Публичные ссылки продолжают работать в пределах выданных прав.
Платные отчёты через API доступны при наличии соответствующей возможности в тарифе владельца источника. Например, API воронок проверяет доступ к воронкам так же, как кабинет. API не обходит тарифные лимиты и права участников.
Авторизация
POST /api/auth/login принимает JSON с email и password и возвращает сессию с token. Для входа email должен быть подтверждён. Передавайте токен в последующих запросах заголовком:
Authorization: Bearer <токен сессии>
Не помещайте пароль или токен кабинета в публичный код сайта. Интеграцию чтения аналитики выполняйте на своём сервере. Токен сессии имеет срок действия; постоянные API-ключи сейчас не предоставляются.
Основные запросы
| Метод и путь | Назначение |
|---|---|
POST /api/auth/verify | Проверка текущей сессии. |
GET /api/websites | Доступные сайты с пагинацией. |
GET /api/websites/{id}/stats | Основные показатели сайта. |
GET /api/websites/{id}/pageviews | Временные ряды просмотров и посетителей. |
GET /api/websites/{id}/metrics | Срез по параметру type, например path. |
GET /api/websites/{id}/events | События сайта. |
GET /api/websites/{id}/sessions | Сессии сайта. |
POST /api/reports/{type} | Расчёт отчёта с его параметрами. |
Для запросов статистики передавайте startAt и endAt как Unix-время в миллисекундах. Для временного ряда также задайте unit, например day. Используйте реальный ID доступного вам сайта.
GET /api/websites/{id}/stats?startAt=1788220800000&endAt=1790812799999
Отчёт принимает JSON с type (например, funnel), websiteId, parameters и, где поддерживается, filters. В parameters указываются startDate, endDate и поля конкретного отчёта. Например, для funnel нужны window и steps, для attribution — model, type и step. Ошибку в параметрах исправляйте по ответу API; при ограничении частоты сократите число запросов.
Отправку браузерных событий удобнее выполнять функциями трекера: они формируют данные страницы и кэш сессии.