Skip to content
Translated page. The English version is the source of truth.

GET /apiv2/screening/

Получить заказ на проверку в любом статусе. Запрос бесплатный и может выполняться так часто, как вам требуется.

Это контракт версии 2. Он заменяет собой GET /apiv2/aml/{order_id}, который продолжает работать.

URL эндпоинта

GET https://netts.io/apiv2/screening/{client_order_id}

Заголовки запроса

ЗаголовокОбязательныйОписание
X-API-KEYДаВаш API-ключ из панели управления Netts

Параметры пути

ПараметрТипОписание
client_order_idstringИдентификатор, полученный при создании заказа: A, за которой следуют 14 шестнадцатеричных символов

Параметры запроса

ПараметрТипПо умолчаниюОписание
formatstringjsonФормат представления результата. json — единственное допустимое значение

Формат представления является свойством запроса, а не заказа. В версии 1 он фиксировался при создании заказа, поэтому проверку, запрошенную как JSON, нельзя было прочитать ни в каком другом виде.

Существует только один формат представления, и это JSON. Параметр сохранен для того, чтобы добавление второго формата в будущем не привело к нарушению обратной совместимости; сейчас любое другое значение возвращает 4001. Отчет представляет собой лишь визуализацию данных, которые у вас уже имеются в полном объеме, а самостоятельная генерация отчета дает вам возможность использовать собственное брендирование, язык и оформление. См. Отчеты.

Примеры запросов

cURL

bash
curl https://netts.io/apiv2/screening/A90D21F68C9AEA2 \
  -H "X-API-KEY: your_api_key"

Python — опрос до завершения проверки

python
import time
import requests

headers = {"X-API-KEY": "your_api_key"}
url = "https://netts.io/apiv2/screening/A90D21F68C9AEA2"

while True:
    body = requests.get(url, headers=headers).json()
    status = body["order"]["status"]
    if status in ("completed", "failed", "skipped"):
        break
    time.sleep(2)

print(status, body["risk"]["level"], body["risk"]["score"])

Ответ

200 OK с тем же телом, что и у POST /apiv2/screening, при любом статусе заказа. Набор полей не зависит от статуса: блоки, по которым еще нет данных, заполняются значениями null и пустыми списками, а не исключаются.

Ответы, содержащие результат проверки, отправляются с заголовком Cache-Control: private, no-store.

Незавершенная проверка

json
{
  "schema_version": 2,
  "order": {
    "client_order_id": "A90D21F68C9AEA2",
    "status": "pending",
    "api_version": "v2",
    "cache_hit": false,
    "created_at": "2026-09-13T08:14:29.614988Z",
    "started_at": null,
    "completed_at": null
  },
  "request": { "address": "YOUR_ADDRESS_HERE", "network": "trx", "provider": "elliptic" },
  "billing": {
    "charged": true, "price_usdt": "0.98", "base_amount": "2.882421",
    "markup_amount": "0", "charged_amount": "2.882421", "charged_currency": "TRX",
    "exchange_rate": "0.33999200", "payment_status": "pending"
  },
  "precheck": { "activity_checked": true, "activity_status": "active", "source": "tron-address-checker" },
  "check": {
    "provider": "elliptic", "provider_check_id": null, "checked_at": null,
    "status": "pending", "provider_status": null
  },
  "risk": {
    "score": null, "scale": { "min": 0, "max": 10 }, "level": "none",
    "level_source": "computed", "provider_level": null, "policy": "netts-risk-v1",
    "by_direction": { "source": null, "destination": null }
  },
  "sanctions": null,
  "exposure": [],
  "rules": [],
  "entities": [],
  "primary_entity": null,
  "sanctioned_entities": [],
  "wallet": { "inflow_usd": null, "outflow_usd": null },
  "provider_data": { }
}

Адрес без активности

Адрес, который ни разу не использовался в блокчейне, не отправляется провайдеру и не оплачивается. Заказ существует, поэтому результат можно прочитать:

json
{
  "order": {
    "client_order_id": "AC4F9BC45A79323",
    "status": "skipped",
    "started_at": null,
    "completed_at": null,
    "reason": "address_inactive"
  },
  "billing": { "charged": false, "charged_amount": "0", "payment_status": "not_charged" },
  "precheck": { "activity_checked": true, "activity_status": "inactive", "source": "tron-address-checker" },
  "check": { "status": "not_performed", "provider_check_id": null, "checked_at": null }
}

Здесь показаны только изменяющиеся блоки; остальные присутствуют со значениями null и пустыми списками, как и обычно.

Ошибки

Формат соответствует RFC 9457, Content-Type: application/problem+json. Полный список кодов приведен на странице POST.

КодHTTPУсловие
4003400Идентификатор не состоит из A и следующих за ней 14 шестнадцатеричных символов
4040404Заказ не найден
4010 / 4011401API-ключ отсутствует, либо передан неподходящий ключ или IP

Заказ, принадлежащий другому аккаунту, возвращает 404, а не 403. В противном случае сам код ответа подтверждал бы существование чужого идентификатора.

json
{
  "type": "https://doc.netts.io/api/v2/errors/order-not-found",
  "title": "Order not found",
  "status": 404,
  "detail": "Order not found",
  "instance": "/apiv2/screening/AFFFFFFFFFFFFFF",
  "code": 4040
}

Лимиты запросов

Общие для всех остальных путей AML: 5 запросов в секунду, 150 в минуту. Опрос статуса бесплатен, но учитывается в лимите — интервала в две секунды между запросами более чем достаточно.

Смотрите также