เอกสาร API — Bill of Lading

Bill of Lading คู่มืออ้างอิง API

คู่มือนักพัฒนาฉบับสมบูรณ์สำหรับการแยกวิเคราะห์ใบตราส่งสินค้าทางเรือผ่าน KabyTech REST API

บทนำ

KabyTech B/L Intelligence API ช่วยให้คุณวิเคราะห์เอกสารใบตราส่งสินค้าทางทะเล (PDF, รูปภาพ หรือสำเนาสแกน) และรับ JSON ที่มีโครงสร้างพร้อมรายละเอียดการขนส่งทั้งหมดที่ถูกดึงออกมา API รองรับเอกสาร B/L จากสายเรือหลักทุกรายรวมถึง Evergreen, ONE, MSC, Maersk, COSCO, Hapag-Lloyd, Yang Ming และ HMM

ดึงข้อมูลผู้ส่งสินค้า ผู้รับสินค้า ผู้รับแจ้ง รายละเอียดเรือ/เที่ยวเรือ ข้อมูลท่าเรือ รายละเอียดตู้คอนเทนเนอร์พร้อมการตรวจสอบ ISO 6346 รายละเอียดสินค้า เงื่อนไขค่าระวาง และอื่น ๆ API รองรับทั้งรูปแบบ Master B/L และ House B/L ต้นฉบับและสำเนา Telex Release รวมถึงรองรับการขนส่งหลายตู้คอนเทนเนอร์พร้อมการดึงข้อมูลระดับตู้คอนเทนเนอร์แต่ละใบ

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

URL พื้นฐาน

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

Endpoint ทั้งหมดที่อธิบายในเอกสารนี้เป็นเส้นทางสัมพัทธ์จาก URL พื้นฐานนี้ ตัวอย่างเช่น parse endpoint สามารถเข้าถึงได้ที่ https://api.kabytech.co.th/v1/bl/parse

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

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

ส่วนหัวการยืนยันตัวตน
X-API-Key: kby_live_a1b2c3d4e5f6g7h8i9j0...

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

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

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

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

Python — Quick Start
from kabytech import KabyTechClient
 
# Initialize client with your API key
client = KabyTechClient(api_key="kby_live_a1b2c3d4...")
 
# Parse a Bill of Lading document (PDF, PNG, JPG)
result = client.bl.parse(
    file="./shipping-docs/evergreen-bl-EGLV123456789.pdf",
    options={
        "include_confidence": True,
        "validate_containers": True,
        "extract_all_containers": True
    }
)
 
# Access parsed B/L data
print(f"B/L Number: {result.bl_number}")
print(f"Vessel: {result.vessel} / Voyage: {result.voyage}")
print(f"POL: {result.port_of_loading.name} → POD: {result.port_of_discharge.name}")
print(f"Containers: {len(result.containers)}")
print(f"Confidence: {result.confidence}%")
 
# Access parties
shipper = result.shipper
print(f"Shipper: {shipper.name}, {shipper.address}")
 
# Iterate container details (ISO 6346 validated)
for ctr in result.containers:
    print(f" {ctr.number} | {ctr.type} | {ctr.weight} kg | Seal: {ctr.seal}")

POST /v1/bl/parse

วิเคราะห์เอกสารใบตราส่งสินค้าฉบับเดียวและส่งคืนข้อมูลที่มีโครงสร้าง รองรับไฟล์ PDF, PNG, JPG และ TIFF ส่งคืนฟิลด์ B/L ทั้งหมดเป็น JSON ที่มีโครงสร้าง รวมถึงการดึงข้อมูลหลายตู้คอนเทนเนอร์พร้อมการตรวจสอบหมายเลขตู้คอนเทนเนอร์ ISO 6346

POST /v1/bl/parse

วิเคราะห์เอกสารใบตราส่งสินค้าทางทะเลและดึงข้อมูลฟิลด์การขนส่งทั้งหมด รองรับเอกสารจาก Evergreen, ONE, MSC, Maersk, COSCO, Hapag-Lloyd, Yang Ming, HMM และสายเรืออื่น ๆ เวลาประมวลผลเฉลี่ยอยู่ที่ 1.4–2.2 วินาทีต่อเอกสาร ขึ้นอยู่กับจำนวนตู้คอนเทนเนอร์

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

พารามิเตอร์ชนิดคำอธิบาย
document จำเป็นstringเนื้อหาเอกสารที่เข้ารหัส Base64 (PDF, PNG, JPG, TIFF)
format จำเป็นstringรูปแบบเอกสาร: pdf, png, jpg หรือ tiff
include_confidence ไม่บังคับbooleanรวมคะแนนความเชื่อมั่นแต่ละฟิลด์ (ค่าเริ่มต้น: true)
validate_containers ไม่บังคับbooleanตรวจสอบหมายเลขตู้คอนเทนเนอร์ตามเลขตรวจสอบ ISO 6346 (ค่าเริ่มต้น: true)
extract_all_containers ไม่บังคับbooleanดึงข้อมูลตู้คอนเทนเนอร์ทั้งหมดจาก B/L หลายหน้า (ค่าเริ่มต้น: true)
webhook_url ไม่บังคับstringURL สำหรับรับ POST callback เมื่อการประมวลผลเสร็จสิ้น
carrier_hint ไม่บังคับstringรหัส SCAC ของสายเรือเพื่อเพิ่มความแม่นยำ (เช่น EGLV, MAEU)

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

cURL — Parse B/L
curl -X POST https://api.kabytech.co.th/v1/bl/parse \
  -H "X-API-Key: kby_live_a1b2c3d4..." \
  -H "Content-Type: application/json" \
  -d '{
    "document": "JVBERi0xLjQKMS...",
    "format": "pdf",
    "include_confidence": true,
    "validate_containers": true
  }'

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

JSON Response — 200 OK · 1.87s
{
  "id": "bl_7k4m9p2n6j1x",
  "bl_number": "EGLV123456789012",
  "bl_type": "original",
  "carrier": "Evergreen Line",
  "carrier_scac": "EGLV",
  "shipper": {
    "name": "SIAM SILK EXPORT CO., LTD.",
    "address": "88 Silom Road, Bangrak, Bangkok 10500, Thailand",
    "contact": "+66-2-234-5678"
  },
  "consignee": {
    "name": "TOKYO TEXTILE IMPORTS K.K.",
    "address": "3-14-2 Nihonbashi, Chuo-ku, Tokyo 103-0027, Japan"
  },
  "notify_party": {
    "name": "KANSAI FREIGHT BROKERS LTD.",
    "address": "2-8-1 Nanko-kita, Suminoe-ku, Osaka 559-0034"
  },
  "vessel": "EVER GLORY",
  "voyage": "0288W",
  "port_of_loading": { "name": "Laem Chabang", "code": "THLCH" },
  "port_of_discharge": { "name": "Tokyo", "code": "JPTYO" },
  "place_of_receipt": { "name": "Bangkok ICD Lat Krabang", "code": "THBKK" },
  "place_of_delivery": { "name": "Tokyo CY", "code": "JPTYO" },
  "containers": [
    {
      "number": "EGHU9012345",
      "iso6346_valid": true,
      "seal": "TH20260142",
      "type": "40HC",
      "size_type_code": "45G1",
      "weight_kg": 18450,
      "packages": 520,
      "package_type": "CARTONS",
      "description": "THAI SILK FABRIC, 100% MULBERRY, HS 5007.20"
    },
    {
      "number": "EGHU7654321",
      "iso6346_valid": true,
      "seal": "TH20260143",
      "type": "40HC",
      "size_type_code": "45G1",
      "weight_kg": 16280,
      "packages": 480,
      "package_type": "CARTONS",
      "description": "THAI SILK ACCESSORIES, HS 6214.10"
    }
  ],
  "goods_description": "1,000 CARTONS THAI SILK FABRIC AND ACCESSORIES",
  "freight_terms": "Prepaid",
  "number_of_originals": 3,
  "date_of_issue": "2026-03-20",
  "total_containers": 2,
  "total_packages": 1000,
  "total_weight_kg": 34730,
  "confidence": 96.8,
  "processing_ms": 1870,
  "validation_errors": [],
  "created_at": "2026-03-26T10:22:14Z"
}

GET /v1/bl/{id}

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

GET /v1/bl/{id}

ส่งคืนผลลัพธ์การวิเคราะห์ฉบับเต็มสำหรับเอกสารใบตราส่งสินค้าที่ระบุ {id} คือตัวระบุเฉพาะที่ส่งคืนจาก /bl/parse endpoint (เช่น bl_7k4m9p2n6j1x) ส่งคืน schema การตอบกลับเดียวกับ parse endpoint

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

ParameterTypeDescription
id จำเป็นstringID ผลลัพธ์ B/L เฉพาะ (เช่น bl_7k4m9p2n6j1x)

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

ParameterTypeDescription
include_raw ไม่บังคับbooleanรวมข้อความ OCR ดิบควบคู่กับข้อมูลที่มีโครงสร้าง (ค่าเริ่มต้น: false)
container_filter ไม่บังคับstringกรองตู้คอนเทนเนอร์ตามคำนำหน้าหมายเลข (เช่น EGHU)
cURL — Get B/L by ID
curl https://api.kabytech.co.th/v1/bl/bl_7k4m9p2n6j1x \
  -H "X-API-Key: kby_live_a1b2c3d4..."

POST /v1/bl/batch

ส่งเอกสาร B/L หลายฉบับเพื่อประมวลผลเป็นชุด API รับเอกสารได้สูงสุด 50 ฉบับต่อคำขอเป็นชุดและประมวลผลแบบอะซิงโครนัส ใช้พารามิเตอร์ webhook_url หรือตรวจสอบ GET /bl/{id} endpoint เพื่อดูผลลัพธ์ เหมาะสำหรับการประมวลผลใบรายการสินค้าหรือการแปลงเอกสาร B/L ที่เก็บถาวรเป็นดิจิทัล

POST /v1/bl/batch

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

เนื้อหาคำขอ

ParameterTypeDescription
documents จำเป็นarrayอาร์เรย์ของออบเจกต์เอกสาร (สูงสุด 50) แต่ละออบเจกต์มีฟิลด์ document และ format
webhook_url ไม่บังคับstringURL สำหรับรับ POST callback เมื่อชุดทั้งหมดประมวลผลเสร็จสิ้น
priority ไม่บังคับstringnormal (ค่าเริ่มต้น) หรือ high (เฉพาะแผน Professional/Enterprise)
validate_containers ไม่บังคับbooleanตรวจสอบหมายเลขตู้คอนเทนเนอร์ทั้งหมดตาม ISO 6346 (ค่าเริ่มต้น: true)
Python — Batch Processing
from kabytech import KabyTechClient
import glob
 
client = KabyTechClient(api_key="kby_live_a1b2c3d4...")
 
# Collect all B/L PDFs from a directory
files = glob.glob("./shipping-docs/bl-*.pdf")
 
# Submit batch (max 50 per request)
batch = client.bl.batch(
    files=files,
    webhook_url="https://your-app.com/webhooks/kabytech",
    priority="high",
    validate_containers=True
)
 
print(f"Batch ID: {batch.batch_id}")
print(f"Documents submitted: {batch.total_documents}")
 
# Or poll for results
results = batch.wait() # Blocks until complete
for r in results:
    print(f"{r.bl_number}: {len(r.containers)} containers, {r.confidence}%")

GET /v1/status

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

GET /v1/status

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

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

ส่วนต่าง ๆ ของ B/L อ้างอิง

KabyTech API วิเคราะห์ส่วนมาตรฐานทั้งหมดของใบตราส่งสินค้าทางทะเล ด้านล่างนี้คือกลุ่มส่วนหลักที่ส่งคืนในการตอบกลับ โดยแต่ละส่วนมีฟิลด์ที่มีโครงสร้างหลายรายการ

#กลุ่มส่วนคีย์คำอธิบาย
1ส่วนหัวheaderหมายเลข B/L วันที่ออก ชนิด B/L (ต้นฉบับ สำเนา telex release) จำนวนต้นฉบับ ชื่อสายเรือและรหัส SCAC
2ผู้ส่งสินค้าshipperชื่อผู้ส่งสินค้า/ผู้ส่งออกเต็ม ที่อยู่จดทะเบียน โทรศัพท์/แฟกซ์ติดต่อ อีเมล เลขประจำตัวผู้เสียภาษี
3ผู้รับสินค้าconsigneeชื่อผู้รับสินค้า ที่อยู่เต็ม รายละเอียดการติดต่อ รองรับข้อความ "To Order" และ "To Order of"
4ผู้รับแจ้งnotify_partyชื่อผู้รับแจ้ง ที่อยู่ การติดต่อ รองรับผู้รับแจ้งหลายรายด้วยฟิลด์ also_notify
5เรือ & เที่ยวเรือvessel_voyageชื่อเรือ หมายเลข IMO ของ Lloyd's หมายเลขเที่ยวเรือ รัฐธง เรือขนส่งล่วงหน้า (หากเป็นเรือ feeder)
6ท่าเรือportsท่าเรือต้นทาง (POL) ท่าเรือปลายทาง (POD) สถานที่รับสินค้า (POR) สถานที่ส่งมอบสินค้า (POD) — ทั้งหมดพร้อม UN/LOCODE
7ตู้คอนเทนเนอร์containersหมายเลขตู้คอนเทนเนอร์ (ตรวจสอบ ISO 6346 แล้ว) หมายเลขซีล ขนาด/ชนิด (20GP, 40HC ฯลฯ) น้ำหนักตู้เปล่า น้ำหนักรวม หีบห่อ เครื่องหมาย & หมายเลข รายละเอียดสินค้าต่อตู้คอนเทนเนอร์
8รายละเอียดสินค้าgoodsรายละเอียดสินค้ารวม รหัส HS เครื่องหมายและหมายเลข หีบห่อทั้งหมด ชนิดหีบห่อ น้ำหนักรวม การวัด (CBM)
9ค่าระวาง & ค่าใช้จ่ายfreightเงื่อนไขค่าระวาง (Prepaid/Collect) จำนวนค่าระวาง สกุลเงิน ค่าใช้จ่ายเพิ่มเติม อัตราแลกเปลี่ยน ค่าใช้จ่ายรวม
10ข้อกำหนด & เงื่อนไขtermsเขตอำนาจศาลที่ใช้บังคับ ข้อกำหนดหลัก ตัวบ่งชี้กฎ Hague-Visby ข้อกำหนดเพิ่มเติม

รายละเอียดฟิลด์ในการตอบกลับ

การตอบกลับ API ทุกครั้งจะรวมฟิลด์ระดับบนสุดเหล่านี้ควบคู่กับข้อมูลส่วนโดยละเอียด ตัววิเคราะห์ B/L ดึงข้อมูล 45+ ฟิลด์จากเอกสารแต่ละฉบับ

bl_number string หมายเลข B/L เต็มตามที่พิมพ์บนเอกสาร (เช่น "EGLV123456789012")
bl_type string ชนิดเอกสาร: original, copy, telex_release, express หรือ switch
carrier string ชื่อสายเรือเต็ม (เช่น "Evergreen Line")
carrier_scac string รหัส Standard Carrier Alpha Code (เช่น "EGLV", "MAEU", "MSCU", "ONEY")
shipper object รายละเอียดผู้ส่งสินค้า/ผู้ส่งออก: name, address, contact, tax_id
consignee object รายละเอียดผู้รับสินค้า: name, address, contact อาจมี flag to_order
notify_party object ผู้รับแจ้ง: name, address, contact
also_notify object ผู้รับแจ้งเพิ่มเติม (หากมีในเอกสาร)
vessel string ชื่อเรือบรรทุก (เช่น "EVER GLORY")
voyage string หมายเลขเที่ยวเรือ (เช่น "0288W")
imo_number string หมายเลขประจำเรือ IMO ของ Lloyd's
port_of_loading object ท่าเรือต้นทางพร้อม name และ UN/LOCODE code
port_of_discharge object ท่าเรือปลายทางพร้อม name และ UN/LOCODE code
place_of_receipt object สถานที่รับสินค้า (ต้นทางภายในประเทศ) พร้อม name และ code
place_of_delivery object สถานที่ส่งมอบสุดท้ายพร้อม name และ code
containers array อาร์เรย์ของออบเจกต์ตู้คอนเทนเนอร์ แต่ละรายการมี: number, iso6346_valid, seal, type, size_type_code, weight_kg, packages, package_type, description
goods_description string ข้อความรายละเอียดสินค้ารวมจากตู้คอนเทนเนอร์ทั้งหมด
hs_codes string[] อาร์เรย์ของรหัสสินค้า HS ที่ดึงออกมา (เช่น ["5007.20", "6214.10"])
marks_and_numbers string เครื่องหมายและหมายเลขการขนส่งตามที่พิมพ์บน B/L
freight_terms string เงื่อนไขการชำระค่าระวาง: Prepaid หรือ Collect
freight_amount object จำนวนค่าระวาง: value (ตัวเลข), currency (ISO 4217)
number_of_originals integer จำนวนสำเนา B/L ต้นฉบับที่ออก (โดยทั่วไป 3 ฉบับ)
date_of_issue string วันที่ออก B/L ในรูปแบบ ISO 8601
shipped_on_board_date string วันที่สินค้าถูกบรรทุกลงเรือ (ISO 8601)
total_containers integer จำนวนตู้คอนเทนเนอร์ทั้งหมดใน B/L นี้
total_packages integer จำนวนหีบห่อทั้งหมดจากทุกตู้คอนเทนเนอร์
total_weight_kg number น้ำหนักรวมทั้งหมดเป็นกิโลกรัม
total_measurement_cbm number ปริมาตรรวมทั้งหมดเป็นลูกบาศก์เมตร
confidence float ความเชื่อมั่นการดึงข้อมูลโดยรวมเป็นเปอร์เซ็นต์ (0–100) คะแนนที่สูงกว่า 95% แสดงถึงความน่าเชื่อถือสูง
processing_ms integer เวลาประมวลผลเป็นมิลลิวินาที เฉลี่ย: 1,400–2,200ms ขึ้นอยู่กับจำนวนตู้คอนเทนเนอร์
validation_errors array อาร์เรย์ของคำเตือนการตรวจสอบ แต่ละรายการมีคุณสมบัติ field, message และ severity
id string ตัวระบุผลลัพธ์เฉพาะสำหรับการดึงข้อมูลผ่าน GET /bl/{id} มีคำนำหน้า "bl_"
created_at string Timestamp ISO 8601 ของเวลาที่เอกสารถูกประมวลผล (UTC)

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

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

สถานะรหัสคำอธิบาย
400invalid_documentไม่สามารถอ่านเอกสารได้ กรุณาตรวจสอบการเข้ารหัสและพารามิเตอร์รูปแบบ
400unsupported_formatรูปแบบเอกสารไม่รองรับ ใช้ pdf, png, jpg หรือ tiff
401invalid_api_keyAPI key หายไป ไม่ถูกต้อง หรือหมดอายุ
403plan_limit_exceededโควตาคำขอรายเดือนเกินแล้ว อัปเกรดแผนของคุณหรือรอการรีเซ็ต
404bl_not_foundไม่พบผลลัพธ์การวิเคราะห์สำหรับ ID ที่ระบุ ผลลัพธ์จะหมดอายุหลัง 90 วัน
422parse_failedอ่านเอกสารได้แต่ไม่สามารถดึงข้อมูล B/L ได้ กรุณาตรวจสอบเนื้อหาเอกสาร
422container_validation_failedหมายเลขตู้คอนเทนเนอร์หนึ่งรายการหรือมากกว่าไม่ผ่านการตรวจสอบเลขตรวจสอบ ISO 6346
429rate_limitedคำขอมากเกินไป กรุณาปฏิบัติตามขีดจำกัดอัตราสำหรับระดับแผนของคุณ
500internal_errorข้อผิดพลาดเซิร์ฟเวอร์ที่ไม่คาดคิด ลองส่งคำขอใหม่ หากยังเกิดขึ้นอยู่ กรุณาติดต่อฝ่ายสนับสนุน
503service_unavailableAPI ไม่พร้อมใช้งานชั่วคราวเนื่องจากการบำรุงรักษา โดยปกติไม่เกิน 5 นาที
ตัวอย่างการตอบกลับข้อผิดพลาด — 401
{
  "error": "invalid_api_key",
  "message": "The API key provided is invalid or has been revoked.",
  "code": 401
}

ขีดจำกัดอัตราการเรียกใช้

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

60

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

300

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

1,000

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

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

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 — B/L Parsing with Container Extraction
const { KabyTech } = require('@kabytech/sdk');
 
const client = new KabyTech({ apiKey: 'kby_live_a1b2c3d4...' });
 
const result = await client.bl.parse({
  file: './evergreen-bl.pdf',
  validateContainers: true
});
 
console.log(result.blNumber); // "EGLV123456789012"
console.log(result.vessel); // "EVER GLORY"
console.log(result.portOfLoading.name); // "Laem Chabang"
 
// Extract container details
for (const ctr of result.containers) {
  console.log(`${ctr.number} | ${ctr.type} | ${ctr.weightKg} kg`);
  console.log(` ISO 6346 valid: ${ctr.iso6346Valid}`);
  console.log(` Seal: ${ctr.seal}`);
  console.log(` ${ctr.packages} ${ctr.packageType}: ${ctr.description}`);
}
PHP — B/L Parsing
use KabyTech\KabyTechClient;
 
$client = new KabyTechClient('kby_live_a1b2c3d4...');
 
$result = $client->bl->parse([
  'file' => './bl-document.pdf',
  'validate_containers' => true,
]);
 
echo "B/L: " . $result->blNumber . "\n";
echo "Vessel: " . $result->vessel . " / " . $result->voyage . "\n";
echo "Containers: " . count($result->containers) . "\n";
 
foreach ($result->containers as $ctr) {
  echo " {$ctr->number} ({$ctr->type}) - {$ctr->weightKg} kg\n";
}

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

ทีมบูรณาการของเราสามารถช่วยคุณเชื่อมต่อ KabyTech B/L API กับ CargoWise, SAP, Oracle TMS หรือระบบจัดการขนส่งสินค้าของคุณเอง

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

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

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