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ı
| Header | Zorunlu | Açıklama |
|---|---|---|
| X-API-KEY | Evet | Netts kontrol panelinizden alınan API anahtarınız |
Yol Parametreleri
| Parametre | Tür | Açıklama |
|---|---|---|
| client_order_id | string | Sipariş oluşturulduğunda döndürülen tanımlayıcı: A ve ardından gelen 14 onaltılık karakter |
Sorgu Parametreleri
| Parametre | Tür | Varsayılan | Açıklama |
|---|---|---|---|
| format | string | json | Sonucun 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
curl https://netts.io/apiv2/screening/A90D21F68C9AEA2 \
-H "X-API-KEY: your_api_key"Python — kontrol tamamlanana kadar sorgulama (poll) yapın
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
{
"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:
{
"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.
| Kod | HTTP | Ne zaman |
|---|---|---|
4003 | 400 | Tanımlayıcı, A artı 14 onaltılık karakter değil |
4040 | 404 | Böyle bir sipariş yok |
4010 / 4011 | 401 | API 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ı.
{
"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
- POST /apiv2/screening — bir kontrol siparişi verin
- GET /apiv2/screening/history — kısa biçimde, tek seferde birçok kontrol