add dockerfile
This commit is contained in:
171
API.md
Normal file
171
API.md
Normal file
@@ -0,0 +1,171 @@
|
||||
# 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 |
|
||||
Reference in New Issue
Block a user