HTTP API и интеграция

Платформа VirtuOZ предоставляет версионированный JSON API с префиксом /api/v1/… в духе требований к платёжным и эскроу-сервисам: явные контракты, аутентифицированные сессии и проверяемые операции. Замените YOUR_HOST на хост вашего стенда. Источник истины по маршрутам — код сервера; подмножество операций описано в OpenAPI.

Поддержка, хелпдеск и автоматизация

По вопросам интеграции, промышленного доступа, сценариев с webhooks или автоматизации под ваш стек обращайтесь в хелпдеск: создайте обращение в справочном центре или напишите на support@evopay.biz. Авторизованные клиенты могут создавать тикеты через POST /api/v1/helpdesk/tickets.

Мы готовы автоматизировать интеграцию в ваши учётные системы, ERP или маркетплейсы: поможем с песочницей, тестовыми данными, обработкой ошибок и, при необходимости, согласованием комплаенс-профиля (AML/KYC) перед запуском.

Документация и обнаружение

Соглашения

Операционные и потоковые

МетодПутьКомментарий
GET/healthLiveness.
GET/readinessReadiness зависимостей.
GET/metricsМетрики Prometheus.
GET/api/v1/statusСтатус API (JSON).
GET/api/v1/openapi.jsonOpenAPI.
GET/api/v1/notifications/streamSSE-уведомления (политика доступа — по развёртыванию).

Аутентификация и сессии

МетодПутьКомментарий
POST/api/v1/auth/registerРегистрация.
POST/api/v1/auth/loginВход.
POST/api/v1/auth/refreshОбновление токена.
POST/api/v1/auth/logoutВыход из текущей сессии.
POST/api/v1/auth/logout-allЗавершить все сессии.
GET/api/v1/auth/sessionsСписок сессий.
POST/api/v1/auth/sessions/{session_id}/revokeОтозвать сессию.
POST/api/v1/auth/mfa/enrollВключение TOTP.
POST/api/v1/auth/mfa/verifyПроверка TOTP.
POST/api/v1/auth/mfa/disableОтключение TOTP.
POST/api/v1/auth/rbac-cache/invalidateСброс кэша RBAC.
POST/api/v1/auth/i18n/reloadПерезагрузка локалей (подписанный запрос оператора).
POST/api/v1/auth/readiness-policy/reloadПерезагрузка readiness policy (подписанный запрос).

Профиль и кошелёк

МетодПутьКомментарий
GET/api/v1/meПрофиль.
GET/api/v1/wallet/balancesОстатки.
GET/api/v1/wallet/activityДвижения (параметры пагинации в query).

Эскроу и споры

МетодПутьКомментарий
POST/api/v1/escrowСоздать контракт.
GET/api/v1/escrow/contractsСписок контрактов.
GET/api/v1/escrow/contracts/{escrow_id}Детали.
GET/api/v1/escrow/contracts/{escrow_id}/historyИстория.
POST/api/v1/escrow/{escrow_id}/fundФинансирование.
POST/api/v1/escrow/{escrow_id}/releaseВыплата.
POST/api/v1/escrow/{escrow_id}/disputeСпор.
POST/api/v1/escrow/{escrow_id}/dispute/evidenceЗагрузка доказательств.
GET/api/v1/escrow/{escrow_id}/dispute/evidenceСписок файлов.
GET/api/v1/escrow/{escrow_id}/dispute/evidence/{file_id}Скачивание.
POST/api/v1/escrow/{escrow_id}/dispute/evidence/{file_id}/deleteУдаление файла.
POST/api/v1/escrow/{escrow_id}/dispute/resolveРазрешение спора.
POST/api/v1/escrow/{escrow_id}/dispute/rejectОтклонение спора.

Комплаенс

МетодПутьКомментарий
POST/api/v1/compliance/reportsСоздать отчёт.
GET/api/v1/compliance/reports/{jurisdiction}Список по юрисдикции.
POST/api/v1/compliance/travel-ruleTravel Rule.
GET/api/v1/compliance/travel-rule/recentНедавние переводы.

Опубликованный контент (чтение)

МетодПутьКомментарий
GET/api/v1/cms/legal/{slug}Юридический документ.
GET/api/v1/cms/helpСписок статей справки.
GET/api/v1/cms/help/{slug}Статья справки.
GET/api/v1/cms/landing/{slug}Лендинг.

Шаблоны писем (превью и тест)

МетодПутьКомментарий
POST/api/v1/cms/email/{slug}/previewПревью (привилегированно).
POST/api/v1/cms/email/{slug}/test-sendТестовая отправка.

Хелпдеск

МетодПутьКомментарий
POST/api/v1/helpdesk/ticketsСоздать тикет.
GET/api/v1/helpdesk/ticketsСписок (в рамках прав вызывающего).
GET/api/v1/helpdesk/tickets/{ticket_id}Карточка тикета.
POST/api/v1/helpdesk/tickets/{ticket_id}/internal-notesВнутренняя заметка (персонал).
POST/api/v1/helpdesk/tickets/{ticket_id}/context-linksКонтекстная ссылка (персонал).

Платформенные утилиты

МетодПутьКомментарий
POST/api/v1/platform/storage/shard-pathПревью шардирования хранилища.
POST/api/v1/platform/cms/workflow/next-statusПревью перехода CMS workflow.
POST/api/v1/platform/helpdesk/slaПревью SLA.
POST/api/v1/platform/i18n/messageПревью i18n сообщения.

Крипто-кастоди (платформа)

МетодПутьКомментарий
POST/api/v1/platform/crypto/scanner/ingestIngest сканера.
POST/api/v1/platform/crypto/address/allocateВыделить адрес пополнения.
POST/api/v1/platform/crypto/withdrawals/requestЗаявка на вывод.
POST/api/v1/platform/crypto/withdrawals/{withdrawal_id}/signПодпись вывода.
POST/api/v1/platform/crypto/withdrawals/{withdrawal_id}/rollbackОткат вывода.

Администрирование (RBAC)

Префиксы для операторской автоматизации. Требуются административные роли; ключи нельзя встраивать в клиенты конечных пользователей.

Префикс / шаблонВозможности
/api/v1/admin/events/replay/{aggregate_type}/{aggregate_id}POST — replay проекций.
/api/v1/admin/events/export/{aggregate_type}/{aggregate_id}GET — экспорт аудита событий.
/api/v1/admin/users/{user_id}/role, /statusПользователи и жизненный цикл.
/api/v1/admin/kyc/queue, /api/v1/admin/kyc/{user_id}/decisionОчередь KYC и решения.
/api/v1/admin/transactions/{tx_id}/flag, /resolve, /reconcileРазбор транзакций.
/api/v1/admin/compliance/reportsОтчёты (админ).
/api/v1/admin/escrow/contractsНадзор за эскроу.
/api/v1/admin/cms/legal (+ /draft, /publish, /transition, /rollback)CMS юридических документов.
/api/v1/admin/cms/help (+ те же суффиксы)CMS справки.
/api/v1/admin/cms/email (+ те же суффиксы)CMS email-шаблонов.
/api/v1/admin/cms/landing (+ те же суффиксы)CMS лендингов.
OpenAPI. Большинство маршрутов отражено в GET /api/v1/openapi.json. Если путь есть в таблице, но отсутствует в схеме, ориентируйтесь на развёрнутый сервер и уточняйте у support@evopay.biz.

Примеры

json · тело запроса
{
  "email": "user@example.com",
  "password": "YourStrongPassw0rd!",
  "display_name": "Demo User"
}
bash · регистрация
curl -sS -X POST "https://YOUR_HOST/api/v1/auth/register" \
  -H "Content-Type: application/json" \
  -d '{
    "email": "user@example.com",
    "password": "YourStrongPassw0rd!",
    "display_name": "Demo User"
  }'
bash · вход
curl -sS -X POST "https://YOUR_HOST/api/v1/auth/login" \
  -H "Content-Type: application/json" \
  -c cookies.txt \
  -d '{
    "email": "user@example.com",
    "password": "YourStrongPassw0rd!"
  }'
bash · профиль и кошелёк
curl -sS "https://YOUR_HOST/api/v1/me" -b cookies.txt

curl -sS "https://YOUR_HOST/api/v1/wallet/balances" -b cookies.txt

curl -sS "https://YOUR_HOST/api/v1/wallet/activity?limit=20" -b cookies.txt
bash · создать эскроу
curl -sS -X POST "https://YOUR_HOST/api/v1/escrow" \
  -H "Content-Type: application/json" \
  -b cookies.txt \
  -d '{
    "title": "Поставка оборудования",
    "description": "Серверное оборудование по спецификации",
    "amount": "8000.00",
    "currency": "USD"
  }'

Далее подставьте ESCROW_ID:

bash · жизненный цикл эскроу
curl -sS "https://YOUR_HOST/api/v1/escrow/contracts/ESCROW_ID" -b cookies.txt

curl -sS -X POST "https://YOUR_HOST/api/v1/escrow/ESCROW_ID/fund" \
  -H "Content-Type: application/json" -b cookies.txt -d '{}'

curl -sS -X POST "https://YOUR_HOST/api/v1/escrow/ESCROW_ID/release" \
  -H "Content-Type: application/json" -b cookies.txt -d '{}'
bash · статус
curl -sS "https://YOUR_HOST/api/v1/status"
curl -sS "https://YOUR_HOST/readiness"