Skip to content

API: Теги

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

Список тегов

bash
GET /api/tags

Ответ:

json
[
  {
    "id": 1,
    "name": "Промо",
    "color": "#6366f1",
    "linksCount": 5
  }
]

Сводка по тегам

bash
GET /api/tags/summary?period=7d

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

Ответ:

json
[
  {
    "id": 1,
    "name": "Промо",
    "color": "#6366f1",
    "linksCount": 5,
    "totalClicks": 320,
    "uniqueClicks": 280
  }
]

Создать тег

bash
POST /api/tags

Body:

json
{
  "name": "Промо",
  "color": "#6366f1"
}

color — опциональный, hex-формат #RRGGBB.

Ответ:

json
{
  "id": 1,
  "name": "Промо",
  "color": "#6366f1",
  "user_id": 1,
  "created_at": "2025-01-15T10:00:00Z"
}

Обновить тег

bash
PUT /api/tags/:id

Body:

json
{
  "name": "Реклама",
  "color": "#ef4444"
}

Оба поля опциональны.

Ответ: обновлённый объект тега.

Удалить тег

bash
DELETE /api/tags/:id

Ответ:

json
{ "ok": true }

Отправить PNG статистики тега

bash
POST /api/tags/:id/send-image

Body:

json
{
  "period": "7d"
}

Генерирует и отправляет PNG-изображение со статистикой тега в бот-чат.

Ответ:

json
{ "ok": true }

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

bash
POST /api/tags/links/:linkId

Body:

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

Ответ:

json
{ "ok": true }

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

bash
DELETE /api/tags/links/:linkId

Body:

json
{
  "tagIds": [1]
}

Ответ:

json
{ "ok": true }

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

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