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

172 lines
3.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 (откуда пришёл пользователь)
- Временная метка
**Успешный ответ:**
```json
{
"status": "ok",
"event": "bot"
}
```
**Пример использования (JavaScript):**
```javascript
fetch('/api/track/bot/', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
}
});
```
**Пример использования (curl):**
```bash
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 (откуда пришёл пользователь)
- Временная метка
**Успешный ответ:**
```json
{
"status": "ok",
"event": "channel"
}
```
**Пример использования (JavaScript):**
```javascript
fetch('/api/track/channel/', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
}
});
```
**Пример использования (curl):**
```bash
curl -X POST http://localhost:8000/api/track/channel/
```
---
### 4. Админ-панель Django
```
GET /admin/
```
**Описание:** Стандартная админ-панель Django для управления данными.
**Требует:** Авторизация суперпользователя
**Создание суперпользователя:**
```bash
./deploy.sh createsuperuser
```
---
## Пример интеграции на лендинге
```html
<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 |