เอกสาร API — ใบรายการสินค้า

ใบรายการสินค้า API Reference

เอกสารประกอบฉบับสมบูรณ์สำหรับ KabyTech MFT Intelligence REST API แยกวิเคราะห์เอกสารใบรายการสินค้า (PDF, รูปภาพ หรือ EDI) และรับ JSON ที่มีโครงสร้างพร้อมข้อมูลมากกว่า 50 ฟิลด์ รวมถึงการรวบรวมสินค้าหลายรายการ การตรวจจับสินค้าอันตราย การยื่น NSW และการตรวจสอบรหัส HS

บทนำ

KabyTech Freight Manifest (MFT) Intelligence API ช่วยให้คุณสามารถแยกวิเคราะห์และรวบรวมใบขนสินค้า (Freight Manifest) สำหรับการยื่นต่อระบบ National Single Window (NSW) ของกรมศุลกากรไทย API รองรับรูปแบบ PDF, รูปภาพ หรือ EDI และส่งคืนข้อมูล JSON ที่มีโครงสร้างพร้อมข้อมูลที่สกัดได้มากกว่า 50 ฟิลด์ รวมถึงอาร์เรย์ items[] ที่แสดงรายละเอียดของแต่ละรายการขนส่ง

API รองรับใบขนสินค้าทางอากาศ (รูปแบบข้อความ FHL/FWB) ใบขนสินค้าทางทะเล (การสำแดงสินค้า) และใบขนสินค้าแบบหลายรูปแบบการขนส่ง ระบบจะตรวจจับสินค้าอันตราย (DG) โดยอัตโนมัติตามรหัสจำแนกประเภท IMDG และ ICAO ตรวจสอบรหัส HS เบื้องต้นกับอัตราภาษีศุลกากรไทย และรองรับการส่ง EDI โดยตรงไปยังกรมศุลกากรผ่านการเชื่อมต่อ NSW

คำขอ API ทั้งหมดจะส่งผ่าน HTTPS การตอบกลับอยู่ในรูปแบบ JSON โดย API เป็นไปตามแนวทาง RESTful และใช้รหัสสถานะ HTTP มาตรฐาน

URL หลัก

Base https://api.kabytech.co.th/v1

Endpoint ทั้งหมดที่อธิบายในเอกสารนี้เป็นเส้นทางสัมพัทธ์จาก URL หลักนี้ ตัวอย่างเช่น endpoint สำหรับการแยกวิเคราะห์อยู่ที่ https://api.kabytech.co.th/v1/mft/parse

การยืนยันตัวตน

คำขอ API ทั้งหมดต้องมีการยืนยันตัวตนผ่าน API key โดยระบุ API key ของคุณในส่วนหัว X-API-Key ของทุกคำขอ คุณสามารถรับ API key ได้จาก KabyTech Dashboard หลังจากสร้างบัญชีแล้ว

Authentication Header
X-API-Key: kby_live_a1b2c3d4e5f6g7h8i9j0...

API key จะขึ้นต้นด้วย kby_live_ สำหรับสภาพแวดล้อมจริง และ kby_test_ สำหรับสภาพแวดล้อมทดสอบ คีย์ทดสอบจะประมวลผลเอกสารแต่ส่งคืนข้อมูลจำลอง — สามารถใช้งานได้ฟรีระหว่างการพัฒนา

ส่วนหัวค่าจำเป็น
X-API-KeyAPI key ของคุณ (kby_live_... หรือ kby_test_...)จำเป็น
Content-Typeapplication/json หรือ multipart/form-dataจำเป็น
Acceptapplication/jsonไม่บังคับ

เริ่มต้นอย่างรวดเร็ว

แยกวิเคราะห์ Freight Manifest แรกของคุณภายในไม่ถึง 5 นาที ตัวอย่างนี้ใช้ Python SDK เพื่ออัปโหลดเอกสารใบขนสินค้าและรับข้อมูลที่มีโครงสร้างพร้อมการตรวจจับ DG และการตรวจสอบ HS

Python — Quick Start
from kabytech import KabyTechClient
 
# Initialize client with your API key
client = KabyTechClient(api_key="kby_live_a1b2c3d4...")
 
# Parse a Freight Manifest (PDF, PNG, JPG, or EDI format)
result = client.mft.parse(
    file="./manifests/TG676-BKK-NRT-manifest.pdf",
    options={
        "include_confidence": True,
        "validate_hs": True,
        "flag_dg": True,
        "nsw_submit": False
    }
)
 
# Access parsed manifest data
print(f"Manifest: {result.manifest_number}")
print(f"Type: {result.manifest_type}") # air, sea, or multimodal
print(f"Carrier: {result.carrier} ({result.carrier_code})")
print(f"Flight: {result.voyage_or_flight}")
print(f"Total AWBs: {result.total_bills}")
print(f"DG Cargo: {result.dangerous_goods_flag}")
print(f"NSW Status: {result.nsw_filing_status}")
 
# Iterate through manifest items
for item in result.items:
    print(f" AWB {item.bl_or_awb_number}: {item.packages} pkg, {item.weight}")
    if item.dg_class:
        print(f" !! DG Class {item.dg_class}, UN{item.dg_un_number}")
    if not item.hs_validated:
        print(f" !! HS code {item.hs_code} failed validation")

POST /v1/mft/parse

แยกวิเคราะห์เอกสาร Freight Manifest เดี่ยวและส่งคืนข้อมูลที่มีโครงสร้าง รองรับรูปภาพ PDF, PNG, JPG, TIFF หรือข้อความ EDI ดิบ (FHL, FWB, CUSCAR) ส่งคืนข้อมูลมากกว่า 50 ฟิลด์ รวมถึงอาร์เรย์ items[] ที่แสดงรายละเอียดแต่ละรายการขนส่ง การตรวจจับ DG อัตโนมัติตามรหัส IMDG/ICAO และการตรวจสอบ HS เบื้องต้นกับอัตราภาษีศุลกากรไทย

POST /v1/mft/parse

แยกวิเคราะห์เอกสาร Freight Manifest และสกัดข้อมูลทุกฟิลด์ที่มีโครงสร้าง สินค้าอันตรายจะถูกจำแนกประเภทอัตโนมัติตามรหัส IMDG (ทางทะเล) และ ICAO TI (ทางอากาศ) รหัส HS ของทุกรายการจะได้รับการตรวจสอบเบื้องต้นกับอัตราภาษีศุลกากรไทย ระยะเวลาประมวลผลเฉลี่ย 2.0–4.5 วินาที ขึ้นอยู่กับจำนวนรายการ

เนื้อหาคำขอ (JSON)

พารามิเตอร์ชนิดคำอธิบาย
document จำเป็นstringเนื้อหาเอกสารที่เข้ารหัส Base64 (PDF, PNG, JPG, TIFF) หรือข้อความ EDI ดิบ
format จำเป็นstringรูปแบบเอกสาร: pdf, png, jpg, tiff, edi หรือ text
manifest_type ไม่บังคับstringคำแนะนำ: air, sea หรือ multimodal ตรวจจับอัตโนมัติหากไม่ระบุ
include_confidence ไม่บังคับbooleanรวมคะแนนความเชื่อมั่นรายฟิลด์ (ค่าเริ่มต้น: true)
validate_hs ไม่บังคับbooleanตรวจสอบรหัส HS เบื้องต้นกับอัตราภาษีศุลกากรไทย (ค่าเริ่มต้น: true)
flag_dg ไม่บังคับbooleanตรวจจับสินค้าอันตรายอัตโนมัติตามรหัส IMDG/ICAO (ค่าเริ่มต้น: true)
nsw_submit ไม่บังคับbooleanส่งข้อมูลไปยัง NSW กรมศุลกากรอัตโนมัติหลังการแยกวิเคราะห์ (ค่าเริ่มต้น: false)
webhook_url ไม่บังคับstringURL สำหรับรับ POST callback เมื่อประมวลผลเสร็จสิ้น

ตัวอย่างคำขอ (cURL)

cURL — Parse Manifest
curl -X POST https://api.kabytech.co.th/v1/mft/parse \
  -H "X-API-Key: kby_live_a1b2c3d4..." \
  -H "Content-Type: application/json" \
  -d '{
    "document": "JVBERi0xLjQKMS...",
    "format": "pdf",
    "validate_hs": true,
    "flag_dg": true,
    "nsw_submit": false
  }'

การตอบกลับ (200 OK)

JSON Response — 200 OK · 3.21s
{
  "id": "mft_9p4q7k2m3f1n",
  "manifest_number": "MFT-TG676-BKK-NRT-20260326",
  "manifest_type": "air",
  "carrier": "THAI AIRWAYS INTERNATIONAL",
  "carrier_code": "TG",
  "voyage_or_flight": "TG676",
  "port_of_loading": { "name": "Suvarnabhumi", "code": "THBKK" },
  "port_of_discharge": { "name": "Narita", "code": "JPNRT" },
  "arrival_date": "2026-03-27T06:45:00+09:00",
  "total_bills": 12,
  "total_packages": 847,
  "total_gross_weight": "14,280 kg",
  "dangerous_goods_flag": true,
  "nsw_filing_status": "pending",
  "nsw_reference": null,
  "items": [
    {
      "bl_or_awb_number": "217-98761234",
      "shipper": "SIAM EXPORT CO LTD",
      "consignee": "TOKYO TRADING CORP",
      "packages": 120,
      "weight": "2,400 kg",
      "goods_description": "ELECTRONIC COMPONENTS, HS 8542.31",
      "hs_code": "8542.31",
      "hs_validated": true,
      "dg_class": null,
      "dg_un_number": null,
      "origin_country": "TH",
      "customs_value": 285000.00,
      "currency": "USD"
    },
    {
      "bl_or_awb_number": "217-98765678",
      "shipper": "BANGKOK CHEMICAL INDUSTRIES CO LTD",
      "consignee": "OSAKA INDUSTRIAL MATERIALS KK",
      "packages": 8,
      "weight": "640 kg",
      "goods_description": "RESIN SOLUTION, FLAMMABLE, HS 3506.91",
      "hs_code": "3506.91",
      "hs_validated": true,
      "dg_class": "3",
      "dg_un_number": "UN3268",
      "origin_country": "TH",
      "customs_value": 42500.00,
      "currency": "USD"
    },
    // ... 10 more items
  ],
  "confidence": 95.4,
  "processing_ms": 3210,
  "validation_errors": [],
  "created_at": "2026-03-26T09:15:32Z"
}

GET /v1/mft/{id}

ดึงผลลัพธ์ Freight Manifest ที่เคยแยกวิเคราะห์ไว้ด้วย ID เฉพาะ ผลลัพธ์จะจัดเก็บไว้ 90 วัน ใช้ endpoint นี้เพื่อดึงผลลัพธ์แบบอะซิงโครนัสเมื่อใช้ webhook หรือเพื่อเข้าถึงใบขนสินค้าที่เคยแยกวิเคราะห์ไว้ก่อนหน้า สถานะการยื่น NSW จะถูกรีเฟรชทุกครั้งที่ดึงข้อมูล

GET /v1/mft/{id}

ส่งคืนผลลัพธ์ที่แยกวิเคราะห์ทั้งหมดของ Freight Manifest เฉพาะรายการ {id} คือตัวระบุเฉพาะที่ส่งคืนจาก endpoint /mft/parse (เช่น mft_9p4q7k2m3f1n) ส่งคืนข้อมูลในรูปแบบเดียวกับ endpoint แยกวิเคราะห์ พร้อมสถานะการยื่น NSW ที่อัปเดตแล้ว

พารามิเตอร์เส้นทาง

พารามิเตอร์ชนิดคำอธิบาย
id จำเป็นstringID ผลลัพธ์ใบขนสินค้าเฉพาะ (เช่น mft_9p4q7k2m3f1n)

พารามิเตอร์คิวรี

พารามิเตอร์ชนิดคำอธิบาย
include_raw ไม่บังคับbooleanรวมข้อความ OCR ดิบหรือแหล่ง EDI ในการตอบกลับ (ค่าเริ่มต้น: false)
refresh_nsw ไม่บังคับbooleanตรวจสอบสถานะการยื่น NSW จากกรมศุลกากรอีกครั้ง (ค่าเริ่มต้น: false)
items_offset ไม่บังคับintegerออฟเซ็ตการแบ่งหน้าสำหรับอาร์เรย์ items[] (ค่าเริ่มต้น: 0)
items_limit ไม่บังคับintegerจำนวนรายการสูงสุดต่อหน้า (ค่าเริ่มต้น: 100, สูงสุด: 500)
cURL — Get Manifest by ID
curl https://api.kabytech.co.th/v1/mft/mft_9p4q7k2m3f1n \
  -H "X-API-Key: kby_live_a1b2c3d4..." \
  -G -d "refresh_nsw=true"

POST /v1/mft/batch

ส่งเอกสาร Freight Manifest หลายรายการเพื่อประมวลผลแบบชุด API รองรับสูงสุด 50 เอกสารต่อคำขอชุดเดียว และประมวลผลแบบอะซิงโครนัส เหมาะสำหรับการประมวลผลใบขนสินค้าเที่ยวบิน/เรือประจำวัน หรือการยื่นล่วงหน้าแบบจำนวนมากกับ NSW กรมศุลกากร

POST /v1/mft/batch

ส่งชุดเอกสารใบขนสินค้าเพื่อประมวลผลแบบอะซิงโครนัส ส่งคืนผลลัพธ์ทันทีพร้อม batch ID และ ID เอกสารแต่ละรายการ ใบขนสินค้าแต่ละรายการจะถูกประมวลผลอย่างอิสระ — ความล้มเหลวของรายการหนึ่งจะไม่กระทบรายการอื่น การตรวจจับ DG และการตรวจสอบ HS จะถูกนำไปใช้กับทุกรายการในทุกใบขนสินค้า

เนื้อหาคำขอ

พารามิเตอร์ชนิดคำอธิบาย
documents จำเป็นarrayอาร์เรย์ของออบเจ็กต์เอกสาร (สูงสุด 50) แต่ละออบเจ็กต์มีฟิลด์ document และ format
webhook_url ไม่บังคับstringURL สำหรับรับ POST callback เมื่อประมวลผลชุดทั้งหมดเสร็จสิ้น
priority ไม่บังคับstringnormal (ค่าเริ่มต้น) หรือ high (เฉพาะแผน Professional/Enterprise)
validate_hs ไม่บังคับbooleanตรวจสอบรหัส HS เบื้องต้นของทุกรายการ (ค่าเริ่มต้น: true)
flag_dg ไม่บังคับbooleanตรวจจับสินค้าอันตรายอัตโนมัติตามรหัส IMDG/ICAO (ค่าเริ่มต้น: true)
nsw_submit ไม่บังคับbooleanส่งใบขนสินค้าแต่ละรายการไปยัง NSW อัตโนมัติหลังการแยกวิเคราะห์ (ค่าเริ่มต้น: false)
Python — Batch Processing
from kabytech import KabyTechClient
import glob
 
client = KabyTechClient(api_key="kby_live_a1b2c3d4...")
 
# Collect all manifest PDFs from a directory
files = glob.glob("./daily-manifests/*.pdf")
 
# Submit batch with NSW auto-submission
batch = client.mft.batch(
    files=files,
    webhook_url="https://your-app.com/webhooks/kabytech",
    priority="high",
    nsw_submit=True
)
 
print(f"Batch ID: {batch.batch_id}")
print(f"Manifests submitted: {batch.total_documents}")
 
# Poll for results
results = batch.wait() # Blocks until complete
for r in results:
    dg_count = sum(1 for i in r.items if i.dg_class)
    print(f"{r.manifest_number}: {r.total_bills} bills, {dg_count} DG | NSW: {r.nsw_filing_status}")

GET /v1/status

ตรวจสอบสถานะ API และการใช้งานบัญชีของคุณ ส่งคืนสถานะ API ปัจจุบัน รายละเอียดแผนของคุณ และโควตาคำขอที่เหลือสำหรับรอบการเรียกเก็บเงินปัจจุบัน

GET /v1/status

ส่งคืนสถานะความพร้อมของ API ข้อมูลแผนบัญชีของคุณ และสถิติการใช้งานปัจจุบัน รวมถึงรายงานสถานะการเชื่อมต่อ NSW gateway สำหรับการยื่นใบขนสินค้า

JSON Response — GET /status
{
  "status": "operational",
  "version": "v1.8.2",
  "plan": "professional",
  "nsw_gateway": "connected",
  "usage": {
    "period": "2026-03",
    "requests_used": 4283,
    "requests_limit": 10000,
    "batch_remaining": 5717
  }
}

เอกสารอ้างอิงส่วนต่าง ๆ ของ MFT

KabyTech API แยกวิเคราะห์ส่วนต่าง ๆ ของ Freight Manifest มาตรฐานทั้งหมด ด้านล่างเป็นส่วนหลักที่ส่งคืนในการตอบกลับสำหรับทุกใบขนสินค้าที่แยกวิเคราะห์ แต่ละส่วนจัดกลุ่มฟิลด์ที่เกี่ยวข้องสำหรับการเชื่อมต่อกับระบบยื่นศุลกากร ระบบสินค้าสายการบิน (CHAMP, IBS) หรือแพลตฟอร์มจัดการการขนส่งสินค้า

#ส่วนคีย์คำอธิบาย
1ส่วนหัวheaderหมายเลขใบขนสินค้า, ประเภท (air/sea/multimodal), ชื่อและรหัสผู้ขนส่ง
2เที่ยวเรือ/เที่ยวบินvoyageหมายเลขเที่ยวบินหรือเที่ยวเรือ, ETD/ETA, ประเภทเครื่องบินหรือเรือ
3รายละเอียดท่าเรือportsท่าเรือต้นทาง (UN/LOCODE), ท่าเรือปลายทาง, ท่าเรือถ่ายลำ
4สรุปสินค้าsummaryจำนวนใบตราส่งทั้งหมด, จำนวนหีบห่อทั้งหมด, น้ำหนักรวมทั้งหมด, ปริมาตรรวมทั้งหมด
5รายละเอียดระดับรายการitems[]รายละเอียดแต่ละรายการขนส่ง: AWB/B/L, ผู้ส่ง, ผู้รับ, สินค้า, น้ำหนัก, รหัส HS
6การตรวจจับ DGdg_summaryภาพรวมสินค้าอันตราย: ประเภท IMDG (ทางทะเล), รหัส ICAO TI (ทางอากาศ), หมายเลข UN, จำนวน
7การตรวจสอบ HShs_validationผลการตรวจสอบรหัส HS แต่ละรายการกับอัตราภาษีศุลกากรไทย
8สถานะการยื่น NSWnswสถานะการส่ง NSW กรมศุลกากร, หมายเลขอ้างอิง, เวลาที่ยื่น, ข้อผิดพลาด
9สรุปค่าใช้จ่ายchargesค่าธรรมเนียมการจัดการ, ค่าดำเนินการศุลกากร, ค่าธรรมเนียมเพิ่มเติมของผู้ขนส่ง

อาร์เรย์ items[] เป็นส่วนหลักของการตอบกลับใบขนสินค้า แต่ละรายการแสดงถึงการขนส่งเดี่ยว (AWB หรือ B/L) ภายในใบขนสินค้า รายการต่าง ๆ ประกอบด้วยผลการจำแนกประเภท DG และการตรวจสอบ HS ของแต่ละรายการ ใช้ items_offset และ items_limit บน GET endpoint เพื่อแบ่งหน้าสำหรับใบขนสินค้าขนาดใหญ่

เอกสารอ้างอิงฟิลด์การตอบกลับ

การตอบกลับ API ทุกรายการจะมีฟิลด์ระดับบนสุดเหล่านี้ร่วมกับออบเจ็กต์ส่วนต่าง ๆ อาร์เรย์ items[] ประกอบด้วยรายละเอียดแต่ละรายการขนส่ง โดยมีมากกว่า 50 ฟิลด์ในการตอบกลับทั้งหมด

ฟิลด์ระดับบนสุด

manifest_number string ตัวระบุใบขนสินค้าเฉพาะ (เช่น "MFT-TG676-BKK-NRT-20260326")
manifest_type string ประเภทใบขนสินค้า: air, sea หรือ multimodal
carrier string ชื่อผู้ขนส่งเต็ม (เช่น "THAI AIRWAYS INTERNATIONAL")
carrier_code string รหัสสายการบิน IATA หรือรหัสผู้ขนส่ง SCAC (เช่น "TG")
voyage_or_flight string หมายเลขเที่ยวบิน (ทางอากาศ) หรือหมายเลขเที่ยวเรือ (ทางทะเล)
port_of_loading object ท่าเรือต้นทางพร้อม name และ code (UN/LOCODE)
port_of_discharge object ท่าเรือปลายทางพร้อม name และ code (UN/LOCODE)
arrival_date string วันที่/เวลาถึงโดยประมาณ (ISO 8601 พร้อมเขตเวลา)
total_bills integer จำนวน AWB หรือ B/L ทั้งหมดในใบขนสินค้า
total_packages integer ผลรวมหีบห่อทั้งหมดจากทุกรายการขนส่ง
total_gross_weight string น้ำหนักรวมทั้งหมดพร้อมหน่วย (เช่น "14,280 kg")
dangerous_goods_flag boolean เป็น true หากรายการใดในใบขนสินค้ามีสินค้าอันตราย
nsw_filing_status string สถานะ NSW กรมศุลกากร: pending, submitted, accepted, rejected
nsw_reference string หมายเลขอ้างอิงการยื่น NSW (null จนกว่าจะส่ง)
confidence float ความเชื่อมั่นในการสกัดข้อมูลโดยรวมเป็นเปอร์เซ็นต์ (0–100) คะแนนสูงกว่า 95% บ่งบอกความน่าเชื่อถือสูง
processing_ms integer ระยะเวลาประมวลผลในหน่วยมิลลิวินาที ค่าเฉลี่ย: 2,000–4,500ms ขึ้นอยู่กับจำนวนรายการ
validation_errors array อาร์เรย์ของคำเตือนการตรวจสอบ (รหัส HS ไม่ผ่าน, ปัญหาการจำแนกประเภท DG) แต่ละรายการมี field, message, severity
id string ตัวระบุผลลัพธ์เฉพาะสำหรับการดึงข้อมูลผ่าน GET /mft/{id} ขึ้นต้นด้วย "mft_"
created_at string เวลาตามมาตรฐาน ISO 8601 ของเวลาที่ประมวลผลเอกสาร (UTC)

ฟิลด์ระดับรายการ (items[])

bl_or_awb_number string หมายเลข AWB หรือ B/L ของรายการขนส่งนี้
shipper string ชื่อผู้ส่ง/ผู้ส่งออก
consignee string ชื่อผู้รับ/ผู้นำเข้า
packages integer จำนวนหีบห่อในรายการขนส่งนี้
weight string น้ำหนักรวมของรายการขนส่งนี้พร้อมหน่วย
goods_description string คำอธิบายสินค้าเต็มรูปแบบรวมถึงประเภทสินค้า
hs_code string รหัสอัตราภาษี HS ที่สกัดจากคำอธิบายสินค้า
hs_validated boolean รหัส HS ผ่านการตรวจสอบอัตราภาษีศุลกากรไทยหรือไม่
dg_class string ประเภทสินค้าอันตรายตาม IMDG (ทางทะเล) หรือ ICAO TI (ทางอากาศ) เป็น null หากไม่ใช่ DG
dg_un_number string หมายเลข UN สำหรับสินค้าอันตราย (เช่น "UN3268") เป็น null หากไม่ใช่ DG
origin_country string ประเทศต้นทาง (รหัส ISO 3166-1 alpha-2)
customs_value number มูลค่าศุลกากรที่สำแดงของรายการขนส่งนี้
currency string รหัสสกุลเงินของ customs_value (ISO 4217, เช่น "USD", "THB")

รหัสข้อผิดพลาด

API ใช้รหัสสถานะ HTTP มาตรฐาน การตอบกลับข้อผิดพลาดทั้งหมดจะมีเนื้อหา JSON พร้อมฟิลด์ error, message และ code

สถานะรหัสคำอธิบาย
400invalid_documentไม่สามารถอ่านเอกสารได้ ตรวจสอบการเข้ารหัสและพารามิเตอร์รูปแบบ
400unsupported_formatรูปแบบเอกสารไม่รองรับ ใช้ pdf, png, jpg, tiff, edi หรือ text
400invalid_ediรูปแบบข้อความ EDI มีข้อผิดพลาดหรือไม่สมบูรณ์ ตรวจสอบไวยากรณ์ FHL/FWB/CUSCAR
401invalid_api_keyAPI key หายไป ไม่ถูกต้อง หรือหมดอายุ
403plan_limit_exceededโควตาคำขอรายเดือนหมด อัปเกรดแผนของคุณหรือรอการรีเซ็ต
403nsw_not_enabledการส่ง NSW โดยตรงต้องใช้แผน Professional หรือ Enterprise
404mft_not_foundไม่พบผลลัพธ์ที่แยกวิเคราะห์สำหรับ ID ที่ระบุ ผลลัพธ์จะหมดอายุหลัง 90 วัน
422parse_failedอ่านเอกสารได้แต่ไม่สามารถสกัดข้อมูลใบขนสินค้าได้ ตรวจสอบเนื้อหาเอกสาร
422hs_validation_failedรหัส HS อย่างน้อยหนึ่งรายการไม่สามารถตรวจสอบได้ ดูรายละเอียดที่ validation_errors
429rate_limitedคำขอมากเกินไป โปรดปฏิบัติตามข้อจำกัดอัตราสำหรับระดับแผนของคุณ
500internal_errorข้อผิดพลาดเซิร์ฟเวอร์ที่ไม่คาดคิด ลองส่งคำขอใหม่ หากยังคงเกิดขึ้น โปรดติดต่อฝ่ายสนับสนุน
502nsw_gateway_errorไม่สามารถเชื่อมต่อ NSW gateway กรมศุลกากรได้ ใบขนสินค้าได้รับการแยกวิเคราะห์แล้ว การส่ง NSW อยู่ในคิว
503service_unavailableAPI ไม่พร้อมใช้งานชั่วคราวเนื่องจากการบำรุงรักษา โดยปกติไม่เกิน 5 นาที
Error Response Example — 422
{
  "error": "hs_validation_failed",
  "message": "2 of 12 items have invalid HS codes. See validation_errors for details.",
  "code": 422,
  "validation_errors": [
    { "item_index": 4, "field": "hs_code", "value": "9999.99", "message": "HS code not found in Thai Customs tariff" },
    { "item_index": 9, "field": "hs_code", "value": "8542.999", "message": "Invalid HS code format (expected 4-10 digits)" }
  ]
}

ข้อจำกัดอัตราการใช้งาน

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

60

คำขอ/นาที
แผน Starter

300

คำขอ/นาที
แผน Professional

1,000

คำขอ/นาที
แผน Enterprise

ส่วนหัวการตอบกลับคำอธิบาย
X-RateLimit-Limitจำนวนคำขอสูงสุดต่อนาทีสำหรับแผนของคุณ
X-RateLimit-Remainingคำขอที่เหลือในรอบนาทีปัจจุบัน
X-RateLimit-Resetเวลา Unix เมื่อรอบข้อจำกัดอัตรารีเซ็ต

SDK อย่างเป็นทางการ

เราจัดเตรียม SDK อย่างเป็นทางการสำหรับภาษาโปรแกรมยอดนิยมในระบบนิเวศเทคโนโลยีโลจิสติกส์ไทย SDK ทั้งหมดเป็นโอเพนซอร์สและพร้อมใช้งานบน GitHub

🐍

Python

Python 3.8+

pip install kabytech

Node.js

Node 16+

npm i @kabytech/sdk
🔮

PHP

PHP 8.0+

composer require kabytech/sdk

Java

Java 11+

co.th.kabytech:sdk:1.4.0
Node.js — Quick Example
const { KabyTech } = require('@kabytech/sdk');
 
const client = new KabyTech({ apiKey: 'kby_live_a1b2c3d4...' });
 
const result = await client.mft.parse({
  file: './manifest.pdf',
  validateHs: true,
  flagDg: true,
  nswSubmit: false
});
 
console.log(result.manifestNumber); // "MFT-TG676-BKK-NRT-20260326"
console.log(result.totalBills); // 12
console.log(result.dangerousGoodsFlag); // true
console.log(result.nswFilingStatus); // "pending"
 
// Iterate items
for (const item of result.items) {
  console.log(`${item.blOrAwbNumber}: ${item.weight}`);
  if (item.dgClass) console.log(` DG: Class ${item.dgClass}, ${item.dgUnNumber}`);
}

ต้องการความช่วยเหลือในการเชื่อมต่อหรือไม่?

ทีมเชื่อมต่อระบบของเราพร้อมช่วยคุณเชื่อมต่อ KabyTech Manifest API กับ CHAMP Cargosystems, IBS iCargo, NSW กรมศุลกากร หรือแพลตฟอร์มจัดการการขนส่งสินค้าของคุณ

ติดต่อฝ่ายสนับสนุน เกี่ยวกับเรา

พร้อมเชื่อมต่อระบบแล้วหรือยัง?

เริ่มทดลองใช้ฟรี 30 วัน พร้อม API calls 50 ครั้ง ไม่ต้องใช้บัตรเครดิต