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

GET /apiv2/screening/

Herhangi bir durumdaki bir tarama siparişini okuyun. Okuma ücretsizdir ve istediğiniz sıklıkta tekrarlanabilir.

Bu, sürüm 2 sözleşmesidir. Çalışmaya devam eden GET /apiv2/aml/{order_id} uç noktasının yerini alır.

Uç Nokta URL'si

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

İstek Başlıkları

HeaderZorunluAçıklama
X-API-KEYEvetNetts kontrol panelinizden alınan API anahtarınız

Yol Parametreleri

ParametreTürAçıklama
client_order_idstringSipariş oluşturulduğunda döndürülen tanımlayıcı: A ve ardından gelen 14 onaltılık karakter

Sorgu Parametreleri

ParametreTürVarsayılanAçıklama
formatstringjsonSonucun temsili. Kabul edilen tek değer json'dur

Temsil biçimi siparişin değil, isteğin bir özelliğidir. Sürüm 1'de sipariş oluşturulduğunda sabitlenirdi, bu nedenle JSON olarak sipariş edilen bir kontrol asla başka bir şekilde okunamazdı.

Tek bir temsil vardır ve o da JSON'dur. Parametre, daha sonra ikinci bir temsil eklenmesinin uyumsuzluk yaratmaması için tutulmuştur; bugün başka herhangi bir değer 4001 döndürür. Bir rapor, zaten eksiksiz olarak sahip olduğunuz verilerin bir görselleştirmesidir ve bunu kendiniz görselleştirmeniz size kendi markanızı, kendi dilinizi ve kendi düzeninizi kullanma imkânı verir. Bkz. Raporlar.

Örnek İstekler

cURL

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

Python — kontrol tamamlanana kadar sorgulama (poll) yapın

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"])

Yanıt

Siparişin her durumunda, POST /apiv2/screening ile aynı gövdeye sahip 200 OK. Alan seti duruma bağlı değildir: henüz verisi olmayan bloklar dışarıda bırakılmak yerine null değerler ve boş listelerle doldurulur.

Bir tarama sonucu taşıyan yanıtlar Cache-Control: private, no-store ile gönderilir.

Henüz tamamlanmamış bir kontrol

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": { }
}

Hiçbir etkinliği olmayan bir adres

Blokzincir üzerinde hiç kullanılmamış bir adres sağlayıcıya gönderilmez ve ücretlendirilmez. Sipariş mevcuttur, bu nedenle sonuç okunabilir:

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 }
}

Burada yalnızca değişen bloklar gösterilmektedir; geri kalanı her zamanki gibi null değerler ve boş listeler ile mevcuttur.

Hata Yanıtları

Biçim RFC 9457, Content-Type: application/problem+json standardındadır. Kodların tam listesi POST sayfasında yer almaktadır.

KodHTTPNe zaman
4003400Tanımlayıcı, A artı 14 onaltılık karakter değil
4040404Böyle bir sipariş yok
4010 / 4011401API anahtarı yok veya kabul edilmeyen bir anahtar ya da IP

Başka bir hesaba ait olan bir sipariş 403 değil, 404 yanıtı verir. Aksi takdirde yalnızca yanıt kodu bile bir başkasının tanımlayıcısının var olduğunu doğrulardı.

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
}

İstek Sınırları

Diğer tüm AML yollarıyla paylaşılır: saniyede 5 istek, dakikada 150 istek. Durum sorgulama (polling) ücretsizdir ancak sınıra dahil edilir — sorgulamalar arasında iki saniye bırakmak fazlasıyla yeterlidir.

Ayrıca Bakınız