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

GET /apiv2/screening/history ​

ประวัติการตรวจสอบของคุณ เรียงจากใหม่สุดไปเก่าสุด พร้อมระบบแบ่งหน้าแบบเคอร์เซอร์ (cursor pagination)

URL ของ Endpoint ​

GET https://netts.io/apiv2/screening/history

Headers ของคำขอ ​

HeaderRequiredDescription
X-API-KEYใช่คีย์ API ของคุณจากแดชบอร์ด Netts

Query พารามิเตอร์ ​

ตัวกรองทั้งหมดเป็นแบบระบุหรือไม่ก็ได้ หากไม่ระบุตัวกรองใดเลย คุณจะได้รับประวัติทั้งหมดของคุณ

ParameterTypeDefaultDescription
addressstring—ที่อยู่อย่างแน่นอน ความยาว 10–128 ตัวอักษร
networkstring—ทิกเกอร์ของเครือข่าย
providerstring—elliptic หรือ bitok
statusstring—pending, processing, completed, skipped, failed
fromstring—เฉพาะรายการตรวจสอบที่สร้างขึ้น ณ หรือหลังช่วงเวลานี้ ตามมาตรฐาน RFC 3339
tostring—เฉพาะรายการตรวจสอบที่สร้างขึ้น ณ หรือก่อนช่วงเวลานี้ ตามมาตรฐาน RFC 3339
cursorstring—จุดที่ต้องการเริ่มดึงข้อมูลต่อ ให้นำมาจาก next_cursor
limitinteger50จำนวนรายการต่อหน้า ระหว่าง 1 ถึง 200

รายการตรวจสอบที่มีสถานะ skipped จะรวมอยู่ด้วย รายการที่ถูกข้าม (skipped) ถือเป็นคำสั่งจริง — ที่อยู่ดังกล่าวไม่มีกิจกรรมบนบล็อกเชน จึงไม่เคยถูกส่ง ไปยังผู้ให้บริการและไม่มีการคิดค่าบริการ — และถือเป็นส่วนหนึ่งของประวัติ

ตัวอย่าง ​

cURL ​

bash
curl "https://netts.io/apiv2/screening/history?limit=50" \
  -H "X-API-KEY: your_api_key"

Python — ดึงประวัติทั้งหมดแบบต่อเนื่อง ​

python
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"]}

คงตัวกรองให้เหมือนเดิมทุกประการขณะเลื่อนหน้า การเปลี่ยนตัวกรองในขณะที่ใช้เคอร์เซอร์เดิม จะถือเป็นข้อผิดพลาด ไม่ใช่การเปลี่ยนชุดข้อมูลโดยอัตโนมัติ

การตอบกลับ ​

json
{
  "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
}
FieldTypeDescription
itemsarrayข้อมูลในหน้านี้ เรียงจากใหม่สุดไปเก่าสุด
next_cursorstring | nullส่งค่านี้กลับมาเพื่อดึงหน้าถัดไป ค่า null หมายความว่าคุณมาถึงจุดสิ้นสุดแล้ว
limitintegerขีดจำกัดจำนวนรายการที่ถูกนำมาใช้

รูปแบบย่อของแต่ละรายการ ​

บล็อก order, request, check และ risk มีความเหมือนกันกับบล็อกที่อยู่ในคำตอบแบบเต็ม ของ GET /apiv2/screening/{client_order_id} ฟิลด์ต่อฟิลด์ ดังนั้นตัวแยกวิเคราะห์ (parser) ชุดเดียวกันจึงสามารถประมวลผลได้ทั้งสองแบบ

สิ่งที่ตัดออกไปได้แก่: provider_data, exposure[], rules[], entities[], wallet, billing, precheck และบล็อก sanctions แบบเต็ม ผลลัพธ์ของ Elliptic เพียงรายการเดียว มีขนาดประมาณ 150 KB และหนึ่งหน้าที่มี 50 รายการจะมีขนาดถึง 7 เมกะไบต์ ให้ดึงข้อมูลรายการตรวจสอบเดี่ยวเมื่อคุณต้องการดูรายละเอียด

sanctions.verdict ​

ผลการวิเคราะห์การคว่ำบาตรที่สรุปให้เหลือคำเดียว

ValueMeaning
listedที่อยู่นี้อยู่ในรายชื่อการคว่ำบาตรโดยตรง
linkedพบความเชื่อมโยงกับการคว่ำบาตร แต่ตัวที่อยู่ไม่ได้อยู่ในรายชื่อคว่ำบาตรโดยตรง
noneการวิเคราะห์ทำงานแล้วและไม่พบสิ่งใด
nullยังไม่มีผลลัพธ์ที่จะนำมาวิเคราะห์

ความแตกต่างระหว่าง listed และ linked คือประเด็นสำคัญของฟิลด์นี้ — ดูที่ การคว่ำบาตรในผลลัพธ์ AML

การแบ่งหน้า ​

เคอร์เซอร์จะชี้ไปที่ตำแหน่งของข้อมูลในชุดข้อมูลนั้นแทนที่จะชี้ไปที่หมายเลขลำดับของมัน ดังนั้น รายการตรวจสอบใหม่ที่เข้ามาในระหว่างที่คุณกำลังไล่ดูข้อมูลจึงไม่กระทบต่อการทำงาน

  • การจัดเรียงคือ created_at DESC, id DESC ทั้งสองฟิลด์จะรวมอยู่ในเคอร์เซอร์ เนื่องจาก created_at ไม่ได้มีค่าที่ไม่ซ้ำกันเสมอไป — หากมีสองรายการตรวจสอบที่สร้างขึ้นในไมโครวินาที เดียวกัน อาจทำให้เกิดการวนซ้ำหรือข้ามข้อมูลได้;
  • เคอร์เซอร์เป็นแบบ ทึบแสง (opaque) เนื้อหาภายในเป็นรายละเอียดเชิงการใช้งานภายใน โปรดส่งค่ากลับมาตามที่ได้รับไปทุกประการ;
  • ตัวกรองจะรวมอยู่ในเคอร์เซอร์ด้วย การเปลี่ยนตัวกรองในขณะที่นำเคอร์เซอร์กลับมาใช้ใหม่ จะส่งกลับรหัส 400 ไม่ใช่การสลับไปยังชุดข้อมูลอื่นโดยไม่มีการแจ้งเตือน — มิฉะนั้นคุณอาจเข้าใจผิด ว่าตนเองได้อ่านชุดข้อมูลที่คุณไม่เคยอ่านจริงๆ;
  • next_cursor: null หมายถึงสิ้นสุดข้อมูลแล้ว ไม่มีการบอกจำนวนรวมทั้งหมด: การนับข้อมูล ทั้งชุดในทุกๆ หน้าต้องใช้ทรัพยากรสูงเกินกว่าประโยชน์ที่ได้รับ

การตอบกลับข้อผิดพลาด ​

RFC 9457, application/problem+json รายการรหัสทั้งหมดอยู่ที่ หน้า POST

CodeHTTPWhen
4001400ค่า limit อยู่นอกช่วง 1…200, network, provider หรือ status ไม่ถูกต้อง, ค่า from/to ไม่เป็นไปตาม RFC 3339, รูปแบบเคอร์เซอร์ไม่ถูกต้อง หรือเคอร์เซอร์ถูกออกให้สำหรับตัวกรองชุดอื่น
4010 / 4011401ไม่มีคีย์ API หรือคีย์หรือ IP ไม่ได้รับการยอมรับ
json
{
  "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
}

การจำกัดอัตราการส่งคำขอ ​

ใช้งานร่วมกับทุกเส้นทาง AML อื่นๆ: 5 คำขอต่อวินาที, 150 คำขอต่อนาที หากใช้ limit=200 ประวัติทั้งหมดจำนวน 10,000 รายการจะใช้เพียง 50 คำขอ