บทนำ
KabyTech SWB Intelligence API ช่วยให้คุณสามารถแยกวิเคราะห์เอกสาร Sea Waybill (PDF, รูปภาพ หรือสำเนาสแกน) และรับข้อมูล JSON ที่มีโครงสร้างพร้อมรายละเอียดการขนส่งทั้งหมดที่สกัดออกมา Sea Waybill เป็นเอกสารขนส่งที่ไม่สามารถโอนสิทธิ์ได้ ไม่ต้องส่งมอบต้นฉบับ — ทำให้สามารถปล่อยสินค้าแบบด่วน (express release) ที่ปลายทางได้โดยไม่ต้องรอขั้นตอนของ B/L แบบดั้งเดิม
API รองรับเอกสาร SWB จากสายการเดินเรือชั้นนำทั้งหมด และได้รับการปรับแต่งสำหรับการขนส่งทางทะเลภายในเอเชีย ระบบจะตรวจจับสถานะ express release โดยอัตโนมัติ สกัดข้อมูลผู้ส่งสินค้า ผู้รับสินค้า รายละเอียดเรือ/เที่ยวเรือ ข้อมูลท่าเรือ ข้อมูลตู้คอนเทนเนอร์ และเงื่อนไขค่าระวาง สถานะ express release ช่วยให้ขั้นตอนการตรวจปล่อยสินค้าเร็วขึ้น
คำขอ API ทั้งหมดส่งผ่าน HTTPS การตอบกลับอยู่ในรูปแบบ JSON โดย API เป็นไปตามมาตรฐาน RESTful และใช้รหัสสถานะ HTTP มาตรฐาน
Base URL
Endpoint ทั้งหมดที่อธิบายในเอกสารนี้เป็น path สัมพัทธ์จาก base URL นี้ ตัวอย่างเช่น parse endpoint สามารถเข้าถึงได้ที่ https://api.kabytech.co.th/v1/swb/parse
การยืนยันตัวตน
คำขอ API ทั้งหมดต้องมีการยืนยันตัวตนผ่าน API key โดยระบุ API key ของคุณใน header X-API-Key ทุกครั้งที่ส่งคำขอ คุณสามารถรับ API key ได้จาก KabyTech Dashboard หลังจากสร้างบัญชีแล้ว
API key จะมีคำนำหน้า kby_live_ สำหรับ production และ kby_test_ สำหรับ sandbox คีย์ทดสอบจะประมวลผลเอกสารแต่ส่งคืนข้อมูลจำลอง — ใช้งานฟรีระหว่างการพัฒนา
| Header | ค่า | จำเป็น |
|---|---|---|
X-API-Key | API key ของคุณ (kby_live_... หรือ kby_test_...) | จำเป็น |
Content-Type | application/json หรือ multipart/form-data | จำเป็น |
Accept | application/json | ไม่บังคับ |
เริ่มต้นอย่างรวดเร็ว
แยกวิเคราะห์ Sea Waybill ฉบับแรกของคุณได้ภายใน 5 นาที ตัวอย่างนี้ใช้ Python SDK เพื่ออัปโหลด PDF และรับข้อมูลที่มีโครงสร้างพร้อมการตรวจจับ express release
POST /v1/swb/parse
แยกวิเคราะห์เอกสาร Sea Waybill ฉบับเดียวและส่งคืนข้อมูลที่มีโครงสร้าง รองรับไฟล์ PDF, PNG, JPG และ TIFF ส่งคืนฟิลด์ SWB ทั้งหมดเป็น JSON ที่มีโครงสร้าง รวมถึงการตรวจจับ express release และรายละเอียดตู้คอนเทนเนอร์
แยกวิเคราะห์เอกสาร Sea Waybill และสกัดฟิลด์ข้อมูลการขนส่งทั้งหมด ตรวจจับสถานะ express release โดยอัตโนมัติ รองรับเอกสารจากสายการเดินเรือชั้นนำทั้งหมดสำหรับการขนส่งทางทะเลภายในเอเชียและทั่วโลก เวลาประมวลผลเฉลี่ย 1.2–1.8 วินาทีต่อเอกสาร
เนื้อหาคำขอ (JSON)
| พารามิเตอร์ | ชนิด | คำอธิบาย |
|---|---|---|
document จำเป็น | string | เนื้อหาเอกสารที่เข้ารหัส Base64 (PDF, PNG, JPG, TIFF) |
format จำเป็น | string | รูปแบบเอกสาร: pdf, png, jpg หรือ tiff |
include_confidence ไม่บังคับ | boolean | รวมคะแนนความเชื่อมั่นรายฟิลด์ (ค่าเริ่มต้น: true) |
detect_express_release ไม่บังคับ | boolean | ตรวจจับ express release / เงื่อนไขไม่ต้องส่งมอบต้นฉบับ (ค่าเริ่มต้น: true) |
validate_containers ไม่บังคับ | boolean | ตรวจสอบหมายเลขตู้คอนเทนเนอร์ตามมาตรฐาน ISO 6346 (ค่าเริ่มต้น: true) |
webhook_url ไม่บังคับ | string | URL สำหรับรับ POST callback เมื่อการประมวลผลเสร็จสิ้น |
carrier_hint ไม่บังคับ | string | รหัส SCAC ของสายการเดินเรือเพื่อเพิ่มความแม่นยำ (เช่น EGLV, MAEU) |
ตัวอย่างคำขอ (cURL)
การตอบกลับ (200 OK)
GET /v1/swb/{id}
ดึงผลลัพธ์ SWB ที่แยกวิเคราะห์ไว้ก่อนหน้าด้วย ID เฉพาะ ผลลัพธ์จะถูกจัดเก็บเป็นเวลา 90 วัน ใช้ endpoint นี้เพื่อดึงผลลัพธ์แบบ asynchronous เมื่อใช้ webhook หรือเพื่อเข้าถึงเอกสารที่แยกวิเคราะห์ไว้แล้วอีกครั้ง
ส่งคืนผลลัพธ์การแยกวิเคราะห์แบบเต็มสำหรับเอกสาร Sea Waybill ที่ระบุ {id} คือตัวระบุเฉพาะที่ส่งคืนจาก endpoint /swb/parse (เช่น swb_3m8k1p7n2j6x) ส่งคืน response schema เดียวกันกับ parse endpoint
พารามิเตอร์เส้นทาง
| พารามิเตอร์ | ชนิด | คำอธิบาย |
|---|---|---|
id จำเป็น | string | ID ผลลัพธ์ SWB เฉพาะ (เช่น swb_3m8k1p7n2j6x) |
พารามิเตอร์การสืบค้น
| พารามิเตอร์ | ชนิด | คำอธิบาย |
|---|---|---|
include_raw ไม่บังคับ | boolean | รวมข้อความ OCR ดิบพร้อมข้อมูลที่มีโครงสร้าง (ค่าเริ่มต้น: false) |
include_release_status ไม่บังคับ | boolean | รวมการวิเคราะห์สถานะ express release โดยละเอียด (ค่าเริ่มต้น: true) |
POST /v1/swb/batch
ส่งเอกสาร SWB หลายฉบับเพื่อประมวลผลแบบกลุ่ม API รับเอกสารสูงสุด 50 ฉบับต่อคำขอแบบกลุ่มและประมวลผลแบบ asynchronous ใช้พารามิเตอร์ webhook_url หรือ poll จาก endpoint GET /swb/{id} เพื่อรับผลลัพธ์ เหมาะสำหรับการขนส่ง express release ภายในเอเชียที่ต้องการการประมวลผลที่รวดเร็ว
ส่งเอกสาร Sea Waybill เป็นชุดเพื่อประมวลผลแบบ asynchronous ส่งคืนทันทีพร้อม batch ID และ ID ของเอกสารแต่ละฉบับ แต่ละเอกสารจะถูกประมวลผลอย่างอิสระ — ความล้มเหลวของเอกสารหนึ่งจะไม่กระทบเอกสารอื่น สถานะ express release จะถูกตรวจจับสำหรับทุกเอกสารในชุด
เนื้อหาคำขอ
| พารามิเตอร์ | ชนิด | คำอธิบาย |
|---|---|---|
documents จำเป็น | array | อาร์เรย์ของออบเจกต์เอกสาร (สูงสุด 50 รายการ) แต่ละออบเจกต์มีฟิลด์ document และ format |
webhook_url ไม่บังคับ | string | URL สำหรับรับ POST callback เมื่อชุดทั้งหมดประมวลผลเสร็จ |
priority ไม่บังคับ | string | normal (ค่าเริ่มต้น) หรือ high (เฉพาะแผน Professional/Enterprise) |
detect_express_release ไม่บังคับ | boolean | ตรวจจับ express release สำหรับเอกสารทั้งหมด (ค่าเริ่มต้น: true) |
GET /v1/status
ตรวจสอบสถานะ API และการใช้งานบัญชีของคุณ ส่งคืนสถานะ API ปัจจุบัน รายละเอียดแผนของคุณ และโควตาคำขอที่เหลือสำหรับรอบการเรียกเก็บเงินปัจจุบัน
ส่งคืนสถานะความพร้อมของ API ข้อมูลแผนบัญชีของคุณ และสถิติการใช้งานปัจจุบัน ใช้เพื่อตรวจสอบโควตาหรือยืนยันการเชื่อมต่อ
คู่มืออ้างอิงส่วนต่าง ๆ ของ SWB
KabyTech API แยกวิเคราะห์ทุกส่วนมาตรฐานของเอกสาร Sea Waybill ด้านล่างนี้คือกลุ่มส่วนหลักที่ส่งคืนในการตอบกลับ ต่างจาก Bill of Lading ตรงที่ SWB ไม่สามารถโอนสิทธิ์ได้และมีสถานะ express release เสมอ
| # | กลุ่มส่วน | Key | คำอธิบาย |
|---|---|---|---|
| 1 | ส่วนหัว | header | หมายเลข SWB, วันที่ออก, ประเภทเอกสาร, ชื่อสายการเดินเรือและรหัส SCAC ต่างจาก B/L ตรงที่ไม่มี "ต้นฉบับ" — SWB เป็นเอกสารฉบับเดียวที่ไม่สามารถโอนสิทธิ์ได้ |
| 2 | ผู้ส่งสินค้า | shipper | ชื่อเต็มผู้ส่งสินค้า/ผู้ส่งออก, ที่อยู่จดทะเบียน, โทรศัพท์/แฟกซ์, อีเมล, เลขประจำตัวผู้เสียภาษี |
| 3 | ผู้รับสินค้า | consignee | ผู้รับสินค้าที่ระบุชื่อ (ไม่มี "To Order" เนื่องจาก SWB ไม่สามารถโอนสิทธิ์ได้) ชื่อ, ที่อยู่, ข้อมูลติดต่อ |
| 4 | ผู้รับแจ้ง | notify_party | ชื่อผู้รับแจ้ง, ที่อยู่, ข้อมูลติดต่อ โดยทั่วไปคือตัวแทนขนส่งของผู้รับสินค้าที่ปลายทาง |
| 5 | เรือและเที่ยวเรือ | vessel_voyage | ชื่อเรือ, หมายเลขเที่ยวเรือ, เรือขนถ่าย (กรณีบริการ feeder), วันที่คาดว่าจะถึง |
| 6 | ท่าเรือ | ports | ท่าเรือต้นทาง (POL), ท่าเรือปลายทาง (POD) — ทั้งหมดพร้อม UN/LOCODE โดย SWB ใช้กันทั่วไปสำหรับเส้นทางท่าเรือถึงท่าเรือภายในเอเชีย |
| 7 | รายละเอียดสินค้า | cargo | หมายเลขตู้คอนเทนเนอร์ (ตรวจสอบตาม ISO 6346), หีบห่อ, น้ำหนักรวม, ปริมาตร (CBM), รายละเอียดสินค้า, รหัส HS, เครื่องหมายและหมายเลข |
| 8 | เงื่อนไขค่าระวาง | freight | เงื่อนไขค่าระวาง (Prepaid/Collect), จำนวนค่าระวาง, สกุลเงิน, ค่าใช้จ่ายเพิ่มเติม |
| 9 | Express Release | express_release | สถานะ express release (true/false), ข้อกำหนดการส่งมอบต้นฉบับ, ข้อความเงื่อนไขการปล่อย จุดแตกต่างสำคัญจาก B/L — ไม่ต้องส่งมอบเอกสารต้นฉบับเพื่อปล่อยสินค้า |
คู่มืออ้างอิงฟิลด์การตอบกลับ
การตอบกลับ API ทุกครั้งจะมีฟิลด์ระดับบนสุดเหล่านี้พร้อมกับข้อมูลส่วนโดยละเอียด ตัวแยกวิเคราะห์ SWB สกัดฟิลด์มากกว่า 35 รายการจากแต่ละเอกสาร
sea_waybill เสมอสำหรับเอกสาร SWB
true = ไม่ต้องส่งมอบเอกสารต้นฉบับที่ปลายทาง นี่คือข้อได้เปรียบสำคัญของ SWB เหนือ B/L
false สำหรับ SWB (ไม่ต้องส่งมอบต้นฉบับเสมอ)
name, address, contact, tax_id
name, address, contact ระบุชื่อเสมอ (ไม่มี "To Order")
name, address, contact
name และ UN/LOCODE code
name และ UN/LOCODE code
number, iso6346_valid, seal, type, size_type_code, weight_kg, packages, package_type, description, temperature_c
Prepaid หรือ Collect
value (ตัวเลข), currency (ISO 4217)
field, message และ severity
รหัสข้อผิดพลาด
API ใช้รหัสสถานะ HTTP มาตรฐาน การตอบกลับข้อผิดพลาดทั้งหมดมี JSON body ที่มีฟิลด์ error, message และ code
| สถานะ | รหัส | คำอธิบาย |
|---|---|---|
| 400 | invalid_document | ไม่สามารถอ่านเอกสารได้ ตรวจสอบการเข้ารหัสและพารามิเตอร์รูปแบบ |
| 400 | unsupported_format | รูปแบบเอกสารไม่รองรับ ใช้ pdf, png, jpg หรือ tiff |
| 401 | invalid_api_key | API key หายไป ไม่ถูกต้อง หรือหมดอายุ |
| 403 | plan_limit_exceeded | โควตาคำขอรายเดือนเกินกำหนด อัปเกรดแผนของคุณหรือรอการรีเซ็ต |
| 404 | swb_not_found | ไม่พบผลลัพธ์การแยกวิเคราะห์สำหรับ ID ที่ระบุ ผลลัพธ์หมดอายุหลัง 90 วัน |
| 422 | parse_failed | อ่านเอกสารได้แต่ไม่สามารถสกัดข้อมูล SWB ได้ ตรวจสอบเนื้อหาเอกสาร |
| 422 | not_a_waybill | เอกสารดูเหมือนเป็น B/L ไม่ใช่ Sea Waybill ใช้ endpoint ของ B/L แทน |
| 429 | rate_limited | คำขอมากเกินไป กรุณาปฏิบัติตามข้อจำกัดอัตราคำขอของระดับแผนของคุณ |
| 500 | internal_error | ข้อผิดพลาดเซิร์ฟเวอร์ที่ไม่คาดคิด ลองส่งคำขออีกครั้ง หากยังคงเกิดขึ้น กรุณาติดต่อฝ่ายสนับสนุน |
| 503 | service_unavailable | API ไม่พร้อมให้บริการชั่วคราวเนื่องจากการบำรุงรักษา โดยปกติไม่เกิน 5 นาที |
ข้อจำกัดอัตราคำขอ
ข้อจำกัดอัตราคำขอแตกต่างกันตามระดับแผน ข้อจำกัดทั้งหมดใช้ต่อ API key ตามจำนวนต่อนาทีและต่อเดือน Rate limit header จะรวมอยู่ในทุกการตอบกลับ
60
คำขอ/นาที
แผน Starter
300
คำขอ/นาที
แผน Professional
1,000
คำขอ/นาที
แผน Enterprise
| Response Header | คำอธิบาย |
|---|---|
X-RateLimit-Limit | จำนวนคำขอสูงสุดต่อนาทีสำหรับแผนของคุณ |
X-RateLimit-Remaining | จำนวนคำขอที่เหลือในกรอบเวลานาทีปัจจุบัน |
X-RateLimit-Reset | Unix timestamp เมื่อกรอบเวลา rate limit รีเซ็ต |
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
ต้องการความช่วยเหลือในการเชื่อมต่อ?
ทีมเชื่อมต่อระบบของเราสามารถช่วยคุณเชื่อมต่อ KabyTech SWB API กับ CargoWise, SAP, Oracle TMS หรือระบบจัดการขนส่งสินค้าของคุณเอง ขั้นตอน express release สามารถทำให้เป็นอัตโนมัติได้ตั้งแต่ต้นจนจบ