Skip to main content
Эта страница объясняет, как читать поля AML-результата — и в скрине по требованию, и в AML по депозиту. Сами числовые пороги настраивает оператор; ниже приведены значения по умолчанию платформы.

Статус проверки (status / checkState)

Жизненный цикл запроса к AML-провайдеру. В скрине по требованию это поле называется status, в данных по депозиту — checkState. Значения одинаковы:
ЗначениеЧто значитДействие
pendingЗапущена, провайдер ещё считаетОпросите GET /v1/public/aml/checks/{uuid} чуть позже
successГотова — есть riskScore/riskLevelПринимайте решение по riskLevel/decision
failedПровайдер вернул ошибку по конкретной проверкеСмотрите reason; можно повторить
errorСбой обращения к провайдеруСмотрите reason; повторите позже
skippedВалюта/сеть вне allowlist провайдераСмотрите reason; трактуйте как «не проверено»
Терминальные статусы: success, failed, error, skipped. Риск-оценку (riskScore, riskLevel, decision, signals) несёт только success. У остальных терминальных статусов эти поля null.
skipped — это не «адрес чистый». Это «провайдер не умеет скринить эту валюту/сеть, оценки нет». Не принимайте skipped за прохождение проверки.

Уровень риска (riskLevel)

Производный показатель — основной для автоматических решений. Платформа вычисляет его из числового riskScore и наличия критичных сигналов, по порогам политики (по умолчанию: warn = 50, block = 80):
riskLevelКогда (по умолчанию)Рекомендация интегратору
lowriskScore < 50Низкий риск — обычно пропускают
medium50 ≤ riskScore < 80Пограничный — ручная проверка или доп. вопросы
highriskScore ≥ 80Высокий риск — задержать или отклонить
severeСработал критичный сигнал (санкции, финансирование терроризма, краденое, эксплуатация детей)Блокировать независимо от числового riskScore
severe присваивается при наличии критичного сигнала — даже если числовой riskScore невысок. Поэтому ориентируйтесь на riskLevel/decision, а не только на riskScore.
Пороги warn и block настраиваются оператором глобально и могут переопределяться индивидуально по валюте. Значения 50 и 80 — дефолты платформы; на вашем инстансе они могут отличаться.

Решение скрина (decision)

В данных по депозиту присутствует поле decision — нормализованное решение скрина, на основе которого платформа выставляет итоговый amlStatus депозита:
decisionКогдаamlStatus депозита
passriskScore < warn-порога и нет критичных сигналовpassed
flagwarn-порог ≤ riskScore < block-порогаflagged
blockriskScore ≥ block-порога или критичный (severe) сигналhold (по политике может быть карантин)
Подробнее про поведение блокировки (hold/release/quarantine) — AML по депозиту.

Числовой скор (riskScore)

Строка "0.00""100.00". null, если status/checkStatesuccess. Передаётся строкой — не приводите к float без необходимости, чтобы не терять точность.

Сигналы (signals и topSignal)

signals — карта категория → вес в диапазоне 0..1, например:
{ "exchange": 0.8, "darknet": 0.05 }
topSignal — самая весомая не благонадёжная категория (благонадёжные источники вроде лицензированных бирж, майнеров, платёжных сервисов в topSignal не попадают). Это поле удобно показывать в вашей админке как «почему» сработала оценка.

Критичные (severe) категории

Наличие сигнала из этих групп переводит результат в riskLevel: "severe" и решение block независимо от числового скора:
  • санкционные списки;
  • финансирование терроризма;
  • краденые средства;
  • эксплуатация детей.
Совпадение определяется по подстроке в ключе сигнала, поэтому составные категории провайдера (например sanctions_ofac, exchange_sanctioned_*, terrorist_financing, child_abuse_material) тоже распознаются как severe.

Сводка: на что смотреть интегратору

1

Дождитесь терминального статуса

Пока status/checkState = pending, оценки ещё нет. Опрашивайте результат.
2

Проверьте, что это success

Только success несёт оценку. skipped/error/failed означают «оценки нет» — не «чисто».
3

Принимайте решение по riskLevel (и decision)

low/medium обычно пропускают; high/severe — задерживают или отклоняют. Для депозита итог уже отражён в amlStatus и decision.

Ссылки на отчёт

  • reportUrl — полный отчёт провайдера (если доступен).
  • shareUrl — публичная share-ссылка отчёта (если доступна).
Платформа возвращает только безопасные поля — без сырого ответа провайдера, его внутреннего кода и служебных идентификаторов проверки. Финальное решение «пропустить / задержать / отклонить» остаётся за вашей CMS и настройками оператора.