172 lines
3.8 KiB
Markdown
172 lines
3.8 KiB
Markdown
|
|
# 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 |
|