Files
eng-bot-mitrics/API.md
2025-12-11 20:22:16 +03:00

3.8 KiB
Raw Permalink Blame History

API документация eng_bot_metrics

Базовый URL

http://localhost:8000

Эндпоинты

1. Дашборд статистики

GET /

Описание: Главная страница с визуальной статистикой кликов.

Отображает:

  • Общее количество переходов в бота и канал
  • Статистика за сегодня
  • Статистика за последнюю неделю
  • График переходов за последние 30 дней
  • Последние 20 событий

Ответ: HTML страница


2. Трекинг перехода в бота

POST /api/track/bot/

Описание: Записывает событие перехода пользователя в Telegram бота.

Метод: POST

Заголовки:

Content-Type: application/json

Тело запроса: Не требуется (можно отправить пустой POST)

Автоматически сохраняет:

  • IP адрес пользователя
  • User-Agent браузера
  • Referrer (откуда пришёл пользователь)
  • Временная метка

Успешный ответ:

{
    "status": "ok",
    "event": "bot"
}

Пример использования (JavaScript):

fetch('/api/track/bot/', {
    method: 'POST',
    headers: {
        'Content-Type': 'application/json'
    }
});

Пример использования (curl):

curl -X POST http://localhost:8000/api/track/bot/

3. Трекинг перехода в канал

POST /api/track/channel/

Описание: Записывает событие перехода пользователя в Telegram канал.

Метод: POST

Заголовки:

Content-Type: application/json

Тело запроса: Не требуется (можно отправить пустой POST)

Автоматически сохраняет:

  • IP адрес пользователя
  • User-Agent браузера
  • Referrer (откуда пришёл пользователь)
  • Временная метка

Успешный ответ:

{
    "status": "ok",
    "event": "channel"
}

Пример использования (JavaScript):

fetch('/api/track/channel/', {
    method: 'POST',
    headers: {
        'Content-Type': 'application/json'
    }
});

Пример использования (curl):

curl -X POST http://localhost:8000/api/track/channel/

4. Админ-панель Django

GET /admin/

Описание: Стандартная админ-панель Django для управления данными.

Требует: Авторизация суперпользователя

Создание суперпользователя:

./deploy.sh createsuperuser

Пример интеграции на лендинге

<a href="https://t.me/your_bot" onclick="trackBot()">Перейти в бота</a>
<a href="https://t.me/your_channel" onclick="trackChannel()">Перейти в канал</a>

<script>
function trackBot() {
    fetch('/api/track/bot/', { method: 'POST' });
}

function trackChannel() {
    fetch('/api/track/channel/', { method: 'POST' });
}
</script>

Сводная таблица

URL Метод Описание
/ GET Дашборд со статистикой
/api/track/bot/ POST Трекинг клика по боту
/api/track/channel/ POST Трекинг клика по каналу
/admin/ GET Админ-панель Django