U
UTERLAB.COM
API Documentation
Merchant API Cascade API Войти
Cascade → UTERLAB

Cascade API

Интеграция внешнего процессинга с UTERLAB.COM.

Базовый URL

https://test.uterlab.com/api/v1/cascade

Cascade получает доступные предложения, принимает заявку и передаёт реквизиты через API.

Авторизация

X-API-KeyИдентификатор Cascade API-ключа
X-TimestampUnix timestamp, допустимое окно ±60 секунд
X-NonceУникальное значение на запрос
X-SignatureHMAC-SHA256

Подпись

timestamp\nnonce\nMETHOD\n/path\nraw_body

X-Signature = HMAC-SHA256(signature_string, secret)

Endpoints

МетодEndpointScopeНазначение
GET/orders/nextcascade:orders:pullПолучить следующую предложенную заявку
GET/orders/{dispatchId}cascade:orders:readПолучить состояние dispatch
POST/orders/{dispatchId}/acceptcascade:orders:writeПринять и передать реквизиты
POST/orders/{dispatchId}/rejectcascade:orders:writeОтклонить предложение
POST/orders/{dispatchId}/completecascade:orders:writeСообщить о завершении
GET/methodscascade:methods:readРазрешённые методы
GET/balancecascade:balance:readБаланс Cascade

Процесс заявки

1GET /orders/nextполучить предложение
2accept или rejectответить до истечения предложения
3Передать реквизитыпри accept
4completeпосле фактического завершения

Принятие заявки

POST /api/v1/cascade/orders/{dispatchId}/accept

{
  "bank_code": "sber",
  "bank_name": "СберБанк",
  "requisite": "2202201234567890",
  "holder_name": "Иван И."
}

Возвращайте только реквизиты, которые соответствуют методу и валюте предложения. Внутренние правила маршрутизации UTERLAB через API не раскрываются.

Статусы dispatch

offeredПредложение создано
pulledCascade получил предложение
activeЗаявка принята, реквизиты переданы
completedЗавершено
rejectedОтклонено Cascade
expiredВремя предложения истекло
cancelledОтменено UTERLAB

Ошибки

401Неверный ключ, подпись или timestamp
403Нет scope, IP не разрешён или доступ отключён
404Dispatch не найден
409Конфликт статуса или повтор nonce
422Ошибка параметров / реквизитов
429Rate limit exceeded
{
  "success": false,
  "message": "Invalid signature"
}