Skip to content

API: Пиксели

Эндпоинты для работы с трекинговыми пикселями. Пиксели позволяют отслеживать просмотры страниц без редиректа.

Список пикселей

bash
GET /api/pixels?tags=1,2

Query параметры: tags — ID тегов через запятую (опционально)

Ответ:

json
[
  {
    "id": 1,
    "name": "Landing Page",
    "code": "p1k2m3",
    "domain": "example.com",
    "type": "transparent",
    "platform": "web",
    "trackingUrl": "https://tgio.app/p/p1k2m3"
  }
]

Создать пиксель

bash
POST /api/pixels

Body:

json
{
  "name": "Landing Page",
  "domain": "example.com",
  "type": "transparent",
  "platform": "web"
}

Обязательное поле — name. Остальные опциональны.

Ответ:

json
{
  "id": 1,
  "name": "Landing Page",
  "code": "p1k2m3",
  "trackingUrl": "https://tgio.app/p/p1k2m3"
}

Обновить пиксель

bash
PUT /api/pixels/:id

Body:

json
{
  "name": "Updated Landing",
  "domain": "new.example.com"
}

Ответ: обновлённый объект пикселя.

Удалить пиксель

bash
DELETE /api/pixels/:id

Ответ:

json
{ "ok": true }

Статистика пикселя

bash
GET /api/pixels/:id/stats?period=7d

Query параметры: period1d | 7d | 30d | 90d | 1y | all

Ответ:

json
{
  "totalViews": 1200,
  "uniqueViews": 980,
  "botViews": 15,
  "avgPerDay": 171
}

График по времени

bash
GET /api/pixels/:id/timeline?period=7d&granularity=day

Query параметры: period, granularity (hour | day)

Ответ:

json
[{ "date": "2025-01-15", "views": 180, "unique": 150 }]

География

bash
GET /api/pixels/:id/geo?period=7d

Ответ:

json
[{ "country": "RU", "count": 500, "percentage": 41.7 }]

Устройства

bash
GET /api/pixels/:id/devices?period=7d

Ответ:

json
{
  "devices": [{ "name": "mobile", "count": 700, "percentage": 58.3 }],
  "browsers": [{ "name": "Chrome", "count": 450, "percentage": 37.5 }],
  "os": [{ "name": "Android", "count": 400, "percentage": 33.3 }]
}

Тепловая карта

bash
GET /api/pixels/:id/heatmap?period=30d

Ответ:

json
[{ "day": 1, "hour": 14, "count": 25 }]

Боты

bash
GET /api/pixels/:id/bots?period=7d

Ответ:

json
{
  "totalBots": 15,
  "botPercentage": 1.25,
  "bots": [{ "name": "Googlebot", "count": 8 }]
}

Привязать теги к пикселю

bash
POST /api/pixels/:id/tags

Body:

json
{
  "tagIds": [1, 2]
}

Ответ:

json
{ "ok": true }

Отвязать теги от пикселя

bash
DELETE /api/pixels/:id/tags

Body:

json
{
  "tagIds": [1]
}

Ответ:

json
{ "ok": true }

Для всех эндпоинтов используйте заголовок Authorization: Bearer <token>.

Экспорт просмотров

bash
POST /api/pixels/:id/export

Body:

json
{
  "format": "xlsx",
  "period": "30d"
}
ПараметрТипОписание
formatcsv | xlsx | pdfОбязательный. Формат файла
periodstringНеобязательный. Фильтр по периоду

Формирует файл с данными о просмотрах пикселя и отправляет его в чат с Telegram-ботом.

Ответ:

json
{
  "ok": true,
  "message": "Файл будет отправлен в чат с ботом",
  "rows": 384
}

Файл содержит колонки: Дата, IP, Страна, Город, Устройство, ОС, Браузер, Реферер, Бот, Имя бота, Уникальный. Максимум 10 000 записей за один экспорт.

Telegram-аналитика для тех, кто понимает