uuid
(из ответа на создание депозита) или по вашему order_id.
Это read-only выдача результата. Сам скрин запускает платформа автоматически при обнаружении
входящей транзакции — отдельно ничего вызывать не нужно. Чтобы проскринить произвольный адрес или
транзакцию по запросу, используйте AML-скрин адресов.
{ "ok": true, "data": ... }. Если AML не лицензирован на инстансе, эндпоинты
вернут 403 с кодом LICENSE_REQUIRED.
Эндпоинты
| Метод | Путь | Идентификация |
|---|---|---|
GET | /v1/public/deposits/{uuid}/aml | по uuid депозита |
GET | /v1/public/deposits/by-order-id/{orderId}/aml | по вашему order_id |
404 (существование чужих данных не раскрывается).
Если AML на инстансе выключен, входящая транзакция ещё не замечена, или сеть/валюта не
поддерживается провайдером — вернётся валидный ответ с
amlStatus: "not_checked" и null в полях
оценки. Это не значит «чисто» — это значит «оценки нет». Поле checkState отражает жизненный
цикл самого запроса к провайдеру.Получить AML депозита
Поля ответа
UUID депозита (тот же, что в
GET /v1/public/deposits/{uuid}).Ваш
order_id, переданный при создании депозита.Код актива депозита (например
USDT_TRC20).Код сети депозита.
Адрес отправителя входящей транзакции — именно он проходит скрин.
null, пока транзакция не замечена.Итоговый AML-статус депозита:
not_checked, passed, flagged, hold, rejected. См. ниже.Состояние запроса к провайдеру:
pending, success, failed, error, skipped. null, если проверки не было.Риск-скор
0–100 строкой. null, если проверки не было.Решение скрина:
pass, flag, block.Код AML-провайдера, выполнившего скрин.
Категория риска с максимальным весом (например
mixer, sanctions, scam, darknet).Карта категорий риска и их весов
0..1. null, если провайдер их не вернул.Ссылка на полный отчёт провайдера, если доступна.
Публичная share-ссылка на отчёт, если доступна.
Когда выполнен скрин (ISO-8601).
null, если проверки не было.Ручное действие оператора над задержанным депозитом:
release (разрешить свип) или quarantine_now. null, если оператор ещё не вмешивался.Когда применено ручное действие (ISO-8601).
Комментарий оператора к ручному действию.
Итоговый статус депозита (amlStatus)
amlStatus — это решение платформы по депозиту в целом. Оно выводится из decision скрина по
настроенной оператором политике (пороги риска и действия).
amlStatus | Что значит | Влияние на депозит |
|---|---|---|
not_checked | Скрина не было: AML выключен, tx ещё не замечена или валюта не поддерживается | Депозит обрабатывается штатно. Это не оценка «чисто» |
passed | Скрин пройден, риск ниже порогов | Депозит обрабатывается штатно |
flagged | Помечен как подозрительный, но не заблокирован | Депозит обрабатывается, но требует вашего внимания и/или ручного разбора |
hold | Заблокирован: средства задержаны, ждут ручного решения оператора | Свип не выполняется до решения оператора. Не выдавайте средства/обмен клиенту |
rejected | Отклонён | Депозит не зачисляется |
Поведение при высоком риске (hold)
Когда скрин возвращаетdecision: "block" (риск выше блок-порога или обнаружен критичный сигнал
уровня severe — например санкции), платформа по умолчанию переводит депозит в amlStatus: "hold":
- средства не сметаются (sweep) на системные кошельки до явного решения оператора;
- оператор в Админке принимает решение — оно отражается в полях
manualAction/manualActionAt/manualActionReason:release— снять блокировку и разрешить обычный свип;quarantine_now— увести средства на отдельный карантинный кошелёк.
flag (риск между warn- и block-порогом) по умолчанию не блокирует депозит и даёт
amlStatus: "flagged", но оператор может настроить более строгое действие для конкретной валюты.
Частые ошибки
| HTTP | error.code | Когда возникает | Что делать |
|---|---|---|---|
403 | LICENSE_REQUIRED | AML не лицензирован на инстансе | Включить фичу AML на стороне оператора |
404 | DEPOSIT_NOT_FOUND | Нет депозита с таким uuid/order_id или он чужого сайта | Проверьте идентификатор |
401 | INVALID_SIGNATURE / TIMESTAMP_SKEW | Подпись не сошлась или часы разъехались | См. Аутентификация |
429 | RATE_LIMITED | Превышен per-site лимит | См. Rate limits |
Частые вопросы
Когда появляется senderAddress?
Когда появляется senderAddress?
senderAddress заполняется, когда платформа увидела входящую блокчейн-транзакцию депозита. До этого
момента (и пока tx не подтверждена) он будет null, а amlStatus — not_checked.Нужно ли мне самому запускать скрин депозита?
Нужно ли мне самому запускать скрин депозита?
Нет. Скрин адреса отправителя выполняется автоматически при приёме депозита (если AML включён и сеть
поддерживается). Эти эндпоинты только отдают готовый результат.
checkState = skipped — это плохо?
checkState = skipped — это плохо?
Это значит, что валюта/сеть не поддерживается провайдером, поэтому скрин пропущен. Оценки риска нет —
трактуйте как «не проверено», а не как «чисто».
Как узнать о смене amlStatus, не опрашивая постоянно?
Как узнать о смене amlStatus, не опрашивая постоянно?
Используйте вебхуки депозита: статусные изменения приходят на ваш
callback_url. Деталь AML затем
читайте этими эндпоинтами. Подробнее про депозиты — Депозиты.