API: Пиксели
Эндпоинты для работы с трекинговыми пикселями. Пиксели позволяют отслеживать просмотры страниц без редиректа.
Список пикселей
GET /api/pixels?tags=1,2Query параметры: tags — ID тегов через запятую (опционально)
Ответ:
[
{
"id": 1,
"name": "Landing Page",
"code": "p1k2m3",
"domain": "example.com",
"type": "transparent",
"platform": "web",
"trackingUrl": "https://tgio.app/p/p1k2m3"
}
]Создать пиксель
POST /api/pixelsBody:
{
"name": "Landing Page",
"domain": "example.com",
"type": "transparent",
"platform": "web"
}Обязательное поле — name. Остальные опциональны.
Ответ:
{
"id": 1,
"name": "Landing Page",
"code": "p1k2m3",
"trackingUrl": "https://tgio.app/p/p1k2m3"
}Обновить пиксель
PUT /api/pixels/:idBody:
{
"name": "Updated Landing",
"domain": "new.example.com"
}Ответ: обновлённый объект пикселя.
Удалить пиксель
DELETE /api/pixels/:idОтвет:
{ "ok": true }Статистика пикселя
GET /api/pixels/:id/stats?period=7dQuery параметры: period — 1d | 7d | 30d | 90d | 1y | all
Ответ:
{
"totalViews": 1200,
"uniqueViews": 980,
"botViews": 15,
"avgPerDay": 171
}График по времени
GET /api/pixels/:id/timeline?period=7d&granularity=dayQuery параметры: period, granularity (hour | day)
Ответ:
[{ "date": "2025-01-15", "views": 180, "unique": 150 }]География
GET /api/pixels/:id/geo?period=7dОтвет:
[{ "country": "RU", "count": 500, "percentage": 41.7 }]Устройства
GET /api/pixels/:id/devices?period=7dОтвет:
{
"devices": [{ "name": "mobile", "count": 700, "percentage": 58.3 }],
"browsers": [{ "name": "Chrome", "count": 450, "percentage": 37.5 }],
"os": [{ "name": "Android", "count": 400, "percentage": 33.3 }]
}Тепловая карта
GET /api/pixels/:id/heatmap?period=30dОтвет:
[{ "day": 1, "hour": 14, "count": 25 }]Боты
GET /api/pixels/:id/bots?period=7dОтвет:
{
"totalBots": 15,
"botPercentage": 1.25,
"bots": [{ "name": "Googlebot", "count": 8 }]
}Привязать теги к пикселю
POST /api/pixels/:id/tagsBody:
{
"tagIds": [1, 2]
}Ответ:
{ "ok": true }Отвязать теги от пикселя
DELETE /api/pixels/:id/tagsBody:
{
"tagIds": [1]
}Ответ:
{ "ok": true }Для всех эндпоинтов используйте заголовок Authorization: Bearer <token>.
Экспорт просмотров
POST /api/pixels/:id/exportBody:
{
"format": "xlsx",
"period": "30d"
}| Параметр | Тип | Описание |
|---|---|---|
format | csv | xlsx | pdf | Обязательный. Формат файла |
period | string | Необязательный. Фильтр по периоду |
Формирует файл с данными о просмотрах пикселя и отправляет его в чат с Telegram-ботом.
Ответ:
{
"ok": true,
"message": "Файл будет отправлен в чат с ботом",
"rows": 384
}Файл содержит колонки: Дата, IP, Страна, Город, Устройство, ОС, Браузер, Реферер, Бот, Имя бота, Уникальный. Максимум 10 000 записей за один экспорт.
