GET /apiv2/screening/history
İmleç tabanlı sayfalama ile en yeniden en eskiye doğru tarama geçmişiniz.
Bu, sürüm 2 sözleşmesidir. Çalışmaya devam eden GET /apiv2/aml/history uç noktasının yerini alır.
Uç Nokta URL'si
GET https://netts.io/apiv2/screening/historyİstek Üstbilgileri
| Header | Zorunlu | Açıklama |
|---|---|---|
| X-API-KEY | Evet | Netts kontrol panelinden alınan API anahtarınız |
Sorgu Parametreleri
Tüm filtreler isteğe bağlıdır. Hiçbiri kullanılmadığında tüm geçmişinizi alırsınız.
| Parametre | Tür | Varsayılan | Açıklama |
|---|---|---|---|
| address | string | — | Tam adres, 10–128 karakter |
| network | string | — | Ağ kısaltması (ticker) |
| provider | string | — | elliptic veya bitok |
| status | string | — | pending, processing, completed, skipped, failed |
| from | string | — | Yalnızca bu andan itibaren veya bu anda oluşturulan kontroller, RFC 3339 |
| to | string | — | Yalnızca bu andan önce veya bu anda oluşturulan kontroller, RFC 3339 |
| cursor | string | — | Nereden devam edileceği. Değeri next_cursor alanından alın |
| limit | integer | 50 | Sayfa başına öğe sayısı, 1 ile 200 arası |
Sürüm 1'de hem address hem de network zorunluydu; bu nedenle "yakın zamanda neleri kontrol ettim" şeklinde bir sorgulama yapmanın yolu yoktu.
skipped durumundaki kontroller dahildir. Sürüm 1 bunları gizler. Atlanmış (skipped) bir kontrol gerçek bir sipariştir — adreste herhangi bir blokzincir faaliyeti bulunmadığından sağlayıcıya hiç gönderilmemiş ve asla ücretlendirilmemiştir — ve geçmişe aittir.
Örnek İstekler
cURL
curl "https://netts.io/apiv2/screening/history?limit=50" \
-H "X-API-KEY: your_api_key"Python — tüm geçmişi tarama
import requests
headers = {"X-API-KEY": "your_api_key"}
params = {"limit": 200, "provider": "elliptic"}
while True:
page = requests.get("https://netts.io/apiv2/screening/history",
headers=headers, params=params).json()
for item in page["items"]:
print(item["order"]["client_order_id"],
item["order"]["status"],
item["risk"]["level"],
item["sanctions"]["verdict"])
if not page["next_cursor"]:
break
params = {"limit": 200, "provider": "elliptic", "cursor": page["next_cursor"]}Sayfalama yaparken filtreleri aynı tutun. Aynı imleci taşırken bir filtreyi değiştirmek, sessizce farklı bir kümeye geçmek yerine hataya yol açar.
Yanıt
{
"schema_version": 2,
"items": [
{
"order": {
"client_order_id": "A6F3221BAAE093A",
"status": "completed",
"api_version": "v2",
"cache_hit": false,
"created_at": "2026-09-13T08:24:19.838584Z",
"started_at": "2026-09-13T08:24:20.998619Z",
"completed_at": "2026-09-13T08:24:25.179967Z"
},
"request": {
"address": "YOUR_ADDRESS_HERE",
"network": "trx",
"provider": "elliptic"
},
"check": {
"provider": "elliptic",
"provider_check_id": "1cc2fd64-1483-4ce3-946f-23a614f41a12",
"checked_at": "2026-09-13T08:24:22.372000Z",
"status": "completed",
"provider_status": "complete"
},
"risk": {
"score": "0.12428176721891304",
"scale": { "min": 0, "max": 10 },
"level": "low",
"level_source": "computed",
"provider_level": null,
"policy": "netts-risk-v1",
"by_direction": { "source": "0.12428176721891304", "destination": null }
},
"sanctions": { "verdict": "linked" }
}
],
"next_cursor": "eyJmIjp7InN0YXR1cyI6ImNvbXBsZXRlZCJ9LCJpIjoxMzQyNywidCI6...",
"limit": 1
}| Alan | Tür | Açıklama |
|---|---|---|
| items | array | Sayfa içeriği, en yeniden en eskiye doğru |
| next_cursor | string | null | Sonraki sayfayı almak için bunu geri gönderin. null, sona ulaştığınız anlamına gelir |
| limit | integer | Uygulanan limit |
Bir öğenin kısa biçimi
order, request, check ve risk blokları, GET /apiv2/screening/{client_order_id} uç noktasının tam yanıtındakilerle alan bazında birebir aynıdır, bu nedenle aynı ayrıştırıcı (parser) her ikisini de işleyebilir.
Hariç tutulanlar: provider_data, exposure[], rules[], entities[], wallet, billing, precheck ve tam sanctions bloğu. Tek bir Elliptic sonucu yaklaşık 150 KB'tır ve elli öğelik bir sayfa yedi megabayt tutacaktır. Ayrıntılara ihtiyaç duyduğunuzda tekil kontrolü çekin.
sanctions.verdict
Yaptırım analizinin tek bir kelimeye sıkıştırılmış hali.
| Değer | Anlamı |
|---|---|
listed | Adresin kendisi bir yaptırım listesinde yer alıyor |
linked | Bir yaptırım bağlantısı bulundu, ancak adresin kendisi listede değil |
none | Analiz çalıştırıldı ve hiçbir şey bulunamadı |
null | Henüz analiz edilecek bir sonuç yok |
listed ile linked arasındaki fark, bu alanın asıl amacıdır — bkz. Bir AML sonucunda yaptırımlar.
Sayfalama
Sürüm 1 sayfa numarasına göre sayfalama yapar: ?page=2, sayfa başına 100 öğe. Sıralama oluşturulma zamanına göredir (en yeni ilk sırada); bu nedenle sayfa 1'den sayfa 2'ye geçerken yeni kontroller gelir ve her şeyi aşağı iter. Daha önce gördüğünüz kayıtlar yeniden görünür, henüz görmediğiniz kayıtlar ise gözden kaçar. Yoğun bir hesapta bu durum istisnai bir senaryo değildir.
Bir imleç (cursor), küme içindeki sıra numarası yerine doğrudan bir konumu işaret eder; böylece tarama sırasında gelen yeni kontroller düzeni bozmaz.
- Sıralama
created_at DESC, id DESCşeklindedir. Her iki alan da imlecin içindedir, çünkücreated_atbenzersiz değildir — aynı mikrosaniyede oluşturulan iki kontrol aksi takdirde döngüye girer veya atlanırdı; - İmleç opak (opaque) bir yapıdadır. İçeriği bir uygulama ayrıntısıdır; aldığınız şekliyle aynen geri gönderin;
- Filtreler imlecin bir parçasıdır. İmleci yeniden kullanırken bir filtreyi değiştirmek, sessizce farklı bir kümeye geçmek yerine
400hatası döndürür — aksi takdirde hiç okumadığınız bir kümeyi okuduğunuzu varsayardınız; next_cursor: nullsona gelindiğini gösterir. Toplam sayı bilgisi verilmez: her sayfada tüm kümeyi saymak, sağladığı bilgiden daha yüksek maliyet oluşturur.
Hatalar
RFC 9457, application/problem+json. Kodların tam listesi POST sayfasında yer almaktadır.
| Kod | HTTP | Ne Zaman |
|---|---|---|
4001 | 400 | limit 1…200 dışında olduğunda, bilinmeyen bir network, provider veya status girildiğinde, RFC 3339 formatında olmayan bir from/to belirtildiğinde, hatalı biçimlendirilmiş bir imleç veya farklı filtreler için oluşturulmuş bir imleç kullanıldığında |
4010 / 4011 | 401 | API anahtarı bulunmadığında ya da kabul edilmeyen bir anahtar veya IP kullanıldığında |
{
"type": "https://doc.netts.io/api/v2/errors/validation-failed",
"title": "Request validation failed",
"status": 400,
"detail": "Cursor was issued for a different set of filters",
"instance": "/apiv2/screening/history",
"code": 4001
}İstek Hızı Sınırları
Diğer tüm AML yollarıyla ortaktır: saniyede 5 istek, dakikada 150 istek. limit=200 ile on bin kontrol içeren tam bir geçmiş elli istek tutar.