# Публичное API Публичное API ARX Hosting позволяет внешним приложениям читать баланс, историю заказов и список серверов, а также создавать запросы на оплату — без входа через cookie-сессию сайта. ## 1. Аутентификация Ключ создаётся в личном кабинете, в разделе «Настройки» → «API-ключи». Полный ключ показывается только один раз в момент создания — сохраните его сразу. Каждый запрос должен содержать заголовок: ``` Authorization: Bearer arx_pk_ВАШ_КЛЮЧ ``` Базовый адрес API: ``` https://arx.duckserv.wtf/api/public/v1 ``` ## 2. Аккаунт **GET /account** — данные текущего аккаунта. ``` GET /api/public/v1/account Authorization: Bearer arx_pk_... ``` Ответ: ``` { "success": true, "account": { "login": "user1", "email": "user1@example.com", "balance": 1234.56, "currency": "RUB", "language": "ru" } } ``` ## 3. Заказы **GET /orders** — история заказов (топ-апы и запросы на оплату), последние 100. **GET /orders/{code}** — один заказ по коду. **POST /orders** — создать новый запрос на оплату. Возвращает ссылку `/pay/{code}`, на которую нужно направить пользователя, чтобы он выбрал способ оплаты и заплатил. ``` POST /api/public/v1/orders Authorization: Bearer arx_pk_... Content-Type: application/json { "amount": 500, "currency": "RUB", "description": "Пополнение баланса" } ``` Ответ: ``` { "success": true, "code": "1234567890abcdef", "payUrl": "https://arx.duckserv.wtf/pay/1234567890abcdef" } ``` Поле `currency` необязательно (по умолчанию `RUB`). Если ни один включённый способ оплаты не принимает указанную валюту, API вернёт ошибку. ## 4. Серверы **GET /servers** — список серверов текущего аккаунта (только чтение — id, название, статус, тариф, цена, дата окончания). Управление серверами (запуск, остановка, удаление) доступно только из личного кабинета. ## 5. Валюты и языки Каждый способ оплаты принимает свой список валют, настраиваемый администратором (например, Robokassa — рубли, Stripe — доллары и евро). Конвертации между валютами нет: заказ создаётся и оплачивается в той валюте, которая указана в запросе. ## 6. Ограничения - Ключ действует до тех пор, пока не будет отозван в личном кабинете. - Все действия выполняются от имени владельца ключа — доступ к чужим данным невозможен. - Публичное API не заменяет личный кабинет: часть операций (управление серверами, тикеты поддержки и т.д.) доступна только там.