# Changelog

Все значимые изменения API документируются на этой странице.

## [1.2.0] — 2026-05-01

### Добавлено

#### Rates API

- `GET /rates/current` — актуальный курс USDT/RUB. В ответе помимо
`rate`/`baseRate` теперь приходят `effectiveRate`, `offsetBps`,
`minAmountRub`, `maxAmountRub`. `rate` уже содержит per-company
комиссию (см. ниже) — именно по нему создаётся следующий ордер.


#### Cards API

- `GET /cards/{id}/balance` — live-баланс карты, проксируется в мост
(~60-секундный кэш на стороне bridge). В `cardsTestMode` возвращает
синтетический ответ.


## [1.1.0] — 2026-04-23

### Добавлено

#### Cards API

Полная программа виртуальных VISA-карт с выпуском через API.

- `POST /cards/request` — выпуск (синхронный при наличии стока, иначе
асинхронный с webhook `card.assigned`). Обязателен `Idempotency-Key`.
- `GET /cards` и `GET /cards/{id}` — список и детали карт компании.
- `POST /cards/{id}/retire` — закрытие карты.
- `GET /cards/{id}/sensitive` — одноразовое раскрытие полного номера и
CVC (без кэша, логируется).
- `GET /cards/{id}/otp/latest` — последний 3DS OTP из почты эквайера.
- `GET /cards/{id}/transactions` — история операций по карте,
cursor-пагинация через `before`.


#### Card Recharges API

- `POST /cards/recharge/quote` — расчёт `totalDebitUsdt = userCharge + commission`.
- `POST /cards/recharge` — выполнение пополнения (обязателен `Idempotency-Key`).
Автоматический возврат средств при ошибке моста или при переходе в
`failed` / `refunded`.
- `GET /cards/recharges` — история пополнений компании.


#### Webhooks для карт

- `card.assigned`, `card.otp_received`, `card.transaction.created`,
`card.recharge.{succeeded,failed,refunded,in_progress_manual}`.


#### Guides

- Раздел **Карты** в документации: обзор программы, выпуск, пополнение,
PAN+CVC, 3DS OTP, история транзакций, webhooks.


## [1.0.0] — 2026-02-01

### Добавлено

#### Orders API

- `POST /orders/prepare` — создание котировки из QR-кода СБП
- `POST /orders/accept/{id}` — подтверждение и создание ордера
- `GET /orders` — список ордеров с фильтрацией
- `GET /orders/{id}` — детали ордера
- Поддержка `Idempotency-Key` для accept


#### Disputes API

- `POST /orders/{id}/disputes` — открытие диспута
- `GET /disputes` — список диспутов компании


#### Company Wallet API

- `GET /wallets` — получение адреса кошелька компании
- `GET /wallets/balance` — баланс USDT и TRX
- `GET /wallets/deposits` — история депозитов


#### User Wallets API

- `POST /user-wallets` — создание кошелька для пользователя
- `GET /user-wallets` — список кошельков
- `GET /user-wallets/blocked` — заблокированные кошельки
- `POST /user-wallets/{id}/block` — блокировка
- `POST /user-wallets/{id}/replace` — замена кошелька
- `GET /user-wallets/deposits` — депозиты пользователей


#### Webhooks

- События ордеров: `order.status_changed`
- События депозитов: `deposit.created`, `deposit.completed`, `deposit.failed`, `deposit.aml_*`
- HMAC-SHA256 подпись (`X-Lumo-Signature`)
- Автоматические ретраи (до 4 попыток)


#### Authentication

- `POST /auth/company/login` — логин и получение API-ключа
- `GET /auth/company/profile` — профиль компании
- `PATCH /auth/company/profile` — обновление профиля
- `POST /auth/company/regenerate-key` — ротация ключа


### Безопасность

- Аутентификация через `X-API-Key`
- IP Whitelist для доступа к API
- AML-проверки входящих депозитов


## Планы

### В разработке

- SDK для JavaScript/TypeScript
- Расширенная аналитика в личном кабинете
- Поддержка дополнительных сетей (Solana, TON)


### Рассматривается

- GraphQL API
- Batch-операции