GET /apiv2/screening/
Đọc một đơn hàng sàng lọc ở bất kỳ trạng thái nào. Việc đọc là miễn phí và có thể được lặp lại bao nhiêu lần tùy ý.
Đây là hợp đồng phiên bản 2. Nó thay thế cho GET /apiv2/aml/{order_id}, vốn vẫn đang hoạt động.
URL điểm cuối
GET https://netts.io/apiv2/screening/{client_order_id}Tiêu đề yêu cầu
| Header | Bắt buộc | Mô tả |
|---|---|---|
| X-API-KEY | Có | Khóa API của bạn từ bảng điều khiển Netts |
Tham số đường dẫn
| Tham số | Loại | Mô tả |
|---|---|---|
| client_order_id | string | Mã định danh được trả về khi đơn hàng được tạo: A theo sau là 14 ký tự thập lục phân |
Tham số truy vấn
| Tham số | Loại | Mặc định | Mô tả |
|---|---|---|---|
| format | string | json | Định dạng hiển thị của kết quả. json là giá trị duy nhất được chấp nhận |
Định dạng hiển thị là một thuộc tính của yêu cầu, không phải của đơn hàng. Ở phiên bản 1 nó được cố định khi đơn hàng được tạo, do đó một yêu cầu kiểm tra được đặt dưới dạng JSON sẽ không bao giờ có thể đọc theo bất kỳ định dạng nào khác.
Chỉ có một định dạng hiển thị duy nhất, và đó là JSON. Tham số này được giữ lại để việc bổ sung định dạng thứ hai sau này không tạo ra thay đổi gây lỗi (breaking change); hiện tại bất kỳ giá trị nào khác đều trả về 4001. Một báo cáo là việc kết xuất dữ liệu mà bạn đã có đầy đủ, và tự kết xuất dữ liệu giúp bạn có thương hiệu riêng, ngôn ngữ riêng và bố cục riêng của mình. Xem Báo cáo.
Yêu cầu mẫu
cURL
curl https://netts.io/apiv2/screening/A90D21F68C9AEA2 \
-H "X-API-KEY: your_api_key"Python — thăm dò liên tục cho đến khi quá trình kiểm tra hoàn tất
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"])Phản hồi
200 OK với phần thân tương tự như POST /apiv2/screening, ở mọi trạng thái của đơn hàng. Tập hợp các trường không phụ thuộc vào trạng thái: các khối chưa có dữ liệu sẽ được điền các giá trị null và danh sách rỗng thay vì bị bỏ sót.
Các phản hồi mang kết quả sàng lọc được gửi kèm với Cache-Control: private, no-store.
Một yêu cầu kiểm tra chưa hoàn tất
{
"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": { }
}Một địa chỉ không có hoạt động
Một địa chỉ chưa từng được sử dụng trên blockchain sẽ không được gửi tới nhà cung cấp và không bị tính phí. Đơn hàng vẫn tồn tại, vì vậy kết quả có thể đọc được:
{
"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 }
}Ở đây chỉ hiển thị các khối có thay đổi; phần còn lại vẫn xuất hiện với các giá trị null và danh sách rỗng như thường lệ.
Lỗi
Định dạng là RFC 9457, Content-Type: application/problem+json. Danh sách mã đầy đủ có tại trang POST.
| Mã | HTTP | Khi nào |
|---|---|---|
4003 | 400 | Mã định danh không phải là A kèm theo 14 ký tự thập lục phân |
4040 | 404 | Không có đơn hàng như vậy |
4010 / 4011 | 401 | Không có khóa API, hoặc khóa hay IP không được chấp nhận |
Một đơn hàng thuộc về tài khoản khác sẽ trả về 404, không phải 403. Nếu không thì chỉ riêng mã phản hồi đã có thể xác nhận rằng mã định danh của người khác tồn tại.
{
"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
}Giới hạn tốc độ
Được chia sẻ với tất cả các đường dẫn AML khác: 5 yêu cầu mỗi giây, 150 yêu cầu mỗi phút. Việc thăm dò không tốn chi phí nhưng vẫn tính vào giới hạn — khoảng cách hai giây giữa các lần thăm dò là hoàn toàn thoải mái.
Xem thêm
- POST /apiv2/screening — đặt yêu cầu kiểm tra
- GET /apiv2/screening/history — nhiều yêu cầu kiểm tra cùng lúc, dưới dạng rút gọn