Included XML files for the "pay to new number" and "pay to old number" features in the Ozon platform.
4.7 KiB
NetworkService — полная карта API-вызовов
Все HTTP-вызовы, выполняемые приложением. Класс NetworkService (services/net/NetworkService.h/cpp).
Аутентификация
| Метод | Путь | Слот | Описание |
|---|---|---|---|
| POST | /api/v1/auth/login |
loginAndSetup() |
Вход по api_key, получение токенов |
| POST | /api/v1/auth/refresh_token |
refreshToken() (private) |
Обновление access_token |
Токены сохраняются в config.ini. Авто-рефреш за 30 минут до истечения — scheduleNextRefresh().
Desktop
| Метод | Путь | Слот | Описание |
|---|---|---|---|
| POST | /api/v1/desktop/ |
loginAndSetup() |
Создание desktop при первом запуске (если desktop_id не сохранён) |
Ответ: сохраняет desktop_id и profile_id в config.ini.
Device
| Метод | Путь | Слот | Описание |
|---|---|---|---|
| POST | /api/v1/device/ |
createDevice() |
Регистрация нового Android устройства |
| PATCH | /api/v1/device/{api_id} |
updateDevice() |
Обновление статуса/батареи устройства |
| POST | /api/v1/device/add_screenshot/{api_id} |
postDeviceScreenshot() |
Загрузка скриншота (multipart/form-data, image/jpeg) |
api_id — UUID, получаемый при создании и сохраняемый в таблице devices.
Profile / Material
| Метод | Путь | Слот | Описание |
|---|---|---|---|
| POST | /api/v1/profile/bank_profile |
postBankProfile() |
Создать банк-профиль |
| PATCH | /api/v1/profile/bank_profile/{id} |
patchBankProfile() |
Обновить банк-профиль |
| POST | /api/v1/profile/material |
postMaterial() |
Создать материал (карту) |
postBankProfile сохраняет bank_profile_id в таблице applications.
postMaterial сохраняет material_id (UUID) в таблице accounts.
Tasks
| Метод | Путь | Слот | Auth | Описание |
|---|---|---|---|---|
| GET | /api/v1/task/get_tasks |
getTasks() |
Bearer | Получить очередь задач (поллинг каждые 5 сек) |
| POST | /api/v1/task/task_result |
postTaskResult() |
Bearer | Отправить результат задачи |
getTasks() — асинхронный (без QEventLoop), использует сигнал tasksReceived(QJsonArray).
postTaskResult() — вызывается из sendTaskResult() в EventHandler в отдельном QThread.
Устаревшие эндпоинты (legacy)
Используют старый multipart/form-data API с токеном в теле. Пути задаются в config.ini напрямую как полные URL.
| Слот | Ключ в config.ini | Статус |
|---|---|---|
postEventStatus() |
net/eventStatusUpdate |
⚠️ устарел, используется в updateEventThread |
postAppStatus() |
net/appStatusUpdate |
используется при смене статуса приложения |
insertTransactionData() |
net/transactionInsert |
создание транзакции |
updateTransactionData() |
net/transactionUpdate |
обновление транзакции |
getPayments() |
net/paymentsGet |
⚠️ старый поллинг задач (заменён на getTasks) |
Конфигурация путей (config.ini)
[net]
apiBase = http://localhost:9999
pathAuthLogin = /api/v1/auth/login
pathAuthRefresh = /api/v1/auth/refresh_token
pathDesktopCreate = /api/v1/desktop/
pathDevice = /api/v1/device/
pathDeviceScreenshot = /api/v1/device/add_screenshot/
pathBankProfile = /api/v1/profile/bank_profile
pathMaterial = /api/v1/profile/material
pathGetTasks = /api/v1/task/get_tasks
pathTaskResult = /api/v1/task/task_result
Если ключ отсутствует — используется значение по умолчанию (захардкожено в конструкторе NetworkService).
Авторизация в запросах
- Bearer —
Authorization: Bearer <access_token>изconfig.ini [common/access_token] - Legacy — поле
tokenв multipart-теле (изconfig.ini [common/token])