Initial setup, cleanup, VPS setup
All checks were successful
Deploy to VPS / deploy (push) Successful in 52s
All checks were successful
Deploy to VPS / deploy (push) Successful in 52s
This commit is contained in:
88
EXTERNAL_API_old.md
Normal file
88
EXTERNAL_API_old.md
Normal file
@@ -0,0 +1,88 @@
|
||||
# Внешние API (токен в пути, без сессионной авторизации)
|
||||
|
||||
Описание трёх эндпоинтов для внешних систем. Токены задаются через переменные окружения на VPS.
|
||||
|
||||
---
|
||||
|
||||
## 1. GET /api/remotebet/{token}
|
||||
|
||||
Регистрация пользователя в текущий раунд комнаты с указанной ставкой (удалённая ставка).
|
||||
|
||||
**Параметры пути**
|
||||
|
||||
| Параметр | Тип | Описание |
|
||||
|----------|--------|----------|
|
||||
| token | string | Секретный токен (должен совпадать с `APP_REMOTE_BET_TOKEN`) |
|
||||
|
||||
**Query-параметры**
|
||||
|
||||
| Параметр | Тип | Обязательный | Описание |
|
||||
|----------|--------|--------------|----------|
|
||||
| user_id | integer| да | Внутренний ID пользователя (db_users_a.id) |
|
||||
| room | integer| да | Номер комнаты: 1, 2 или 3 |
|
||||
| amount | integer| да | Ставка в билетах (например, 5 = 5 билетов) |
|
||||
|
||||
**Ответ 200**
|
||||
|
||||
| Поле | Тип | Описание |
|
||||
|--------------|--------|----------|
|
||||
| success | boolean| Успешность операции |
|
||||
| roundId | integer| ID раунда (или null) |
|
||||
| room | integer| Номер комнаты |
|
||||
| betTickets | integer| Размер ставки в билетах |
|
||||
| error | string | Сообщение об ошибке (при success = false) |
|
||||
|
||||
**Коды ответа:** 200, 400, 403, 503
|
||||
|
||||
---
|
||||
|
||||
## 2. GET /api/check_user/{token}/{telegramId}
|
||||
|
||||
Получение информации о пользователе по Telegram ID.
|
||||
|
||||
**Параметры пути**
|
||||
|
||||
| Параметр | Тип | Описание |
|
||||
|------------|--------|----------|
|
||||
| token | string | Секретный токен (должен совпадать с `APP_CHECK_USER_TOKEN`) |
|
||||
| telegramId | long | Telegram ID пользователя |
|
||||
|
||||
**Тело запроса:** отсутствует
|
||||
|
||||
**Ответ 200**
|
||||
|
||||
При успешном вызове всегда возвращается 200. По полю `found` можно определить, найден ли пользователь.
|
||||
|
||||
| Поле | Тип | Описание |
|
||||
|-------------|--------|----------|
|
||||
| found | boolean| true — пользователь найден, остальные поля заполнены; false — пользователь не найден, остальные поля null |
|
||||
| dateReg | integer| Дата регистрации (при found=true) |
|
||||
| tickets | number | Баланс в билетах (balance_a / 1_000_000) (при found=true) |
|
||||
| depositTotal| integer| Сумма stars_amount по завершённым платежам (Stars) (при found=true) |
|
||||
| refererId | integer| referer_id_1 из db_users_d (0 если нет) (при found=true) |
|
||||
| roundsPlayed| integer| Количество сыгранных раундов (при found=true) |
|
||||
|
||||
**Коды ответа:** 200, 403, 500
|
||||
|
||||
---
|
||||
|
||||
## 3. POST /api/deposit_webhook/{token}
|
||||
|
||||
Уведомление об успешном пополнении пользователя (криптоплатёж). Создаётся платёж в статусе COMPLETED, начисляются билеты, обновляются баланс и статистика депозитов, создаётся транзакция типа DEPOSIT.
|
||||
|
||||
**Параметры пути**
|
||||
|
||||
| Параметр | Тип | Описание |
|
||||
|----------|--------|----------|
|
||||
| token | string | Секретный токен (должен совпадать с `APP_DEPOSIT_WEBHOOK_TOKEN`) |
|
||||
|
||||
**Тело запроса (application/json)**
|
||||
|
||||
| Поле | Тип | Обязательный | Описание |
|
||||
|-----------|--------|--------------|----------|
|
||||
| user_id | integer| да | Внутренний ID пользователя (db_users_a.id) |
|
||||
| usd_amount| number | да | Сумма в USD в виде числа (например, 1.45 или 50) |
|
||||
|
||||
**Тело ответа:** пустое при успехе
|
||||
|
||||
**Коды ответа:** 200, 400, 403, 500
|
||||
Reference in New Issue
Block a user