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}

Заголовки запиту

HeaderRequiredDescription
X-API-KEYТакВаш API-ключ з панелі керування Netts

Параметри шляху

ParameterTypeDescription
client_order_idstringІдентифікатор, повернутий під час створення замовлення: A та 14 шістнадцяткових символів після неї

Параметри запиту (query)

ParameterTypeDefaultDescription
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.

CodeHTTPWhen
4003400Ідентифікатор не складається з A та 14 шістнадцяткових символів
4040404Замовлення не знайдено
4010 / 4011401Відсутній API-ключ або ключ чи 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 на хвилину. Опитування нічого не коштує, але враховується в ліміт — інтервалу у дві секунди між запитами цілком достатньо.

Див. також