บริการสร้างงานส่งสินค้า
หน้านี้อธิบายวิธีสร้างงานส่งสินค้าด้วย Fleet API และวิธียืนยันผลว่ารายการงานที่ส่งเข้ามาถูกสร้างสำเร็จหรือไม่
Acronyms and Terms
- API: Application Programming Interface
- ERP: Enterprise Resource Planning
- HTTP: Hypertext Transfer Protocol
ควรใช้ Endpoint ใด?
เลือกใช้งานตามปริมาณงานและรูปแบบการรับผลลัพธ์ที่ต้องการ:
- สร้างงานจำนวนมาก (ส่งแบบชุด):
- สร้างงานเดี่ยวหรือปริมาณน้อย (รับผลทันที):
1) Bulk Upload Delivery Jobs
What It Means
ส่งงานหลายรายการในคำขอเดียว เหมาะเมื่อคุณต้อง push งานส่งสินค้าจำนวนมากจากระบบ ERP หรือระบบ dispatch
Confirmation and Notifications
บริการ bulk upload รองรับฟิลด์ webhooks_url
เมื่อประมวลผลเสร็จ Cartrack จะส่ง webhook callback กลับมายังระบบของคุณ เพื่อใช้ยืนยันผลและกระทบยอดว่ารายการใดถูกสร้างแล้ว
สำหรับการตั้งค่า webhook การตรวจสอบลายเซ็น และแนวทางด้านความปลอดภัย โปรดดู Webhooks
Purpose
- เหมาะสำหรับการนำเข้างานส่งสินค้าแบบรอบเวลา หรือปริมาณงานจำนวนมาก
- ช่วยให้ทีมปฏิบัติการมีขั้นตอนยืนยันผลที่ชัดเจน แทนการสมมติว่างานทั้งหมดถูกสร้า งสำเร็จ
- ช่วยตรวจพบกรณีสร้างงานได้บางส่วน (partial creation) ได้รวดเร็ว
Developer Considerations
- ควรมองคำขอนี้เป็น asynchronous flow
- ใช้ผล callback จาก webhook เป็นแหล่งข้อมูลหลักสำหรับสถานะการประมวลผลเสร็จสิ้น
- เปรียบเทียบรายการที่ส่งเข้าไปกับผล callback และทำ retry/escalation สำหรับงานที่ยังไม่ถูกสร้าง
2) Create a Delivery Job
What It Means
สร้างงานส่งสินค้าแบบหนึ่งงานต่อหนึ่งคำขอ โดยรับผลตอบกลับจาก API ได้ทันที
Confirmation and Errors
หากไม่สามารถสร้างงานได้ API จะตอบกลับด้วย HTTP status code ที่ไม่ใช่ 200 พร้อมข้อความ error ที่อธิบายสาเหตุ
Purpose
- เหมาะกับ workflow แบบโต้ตอบที่ผู้ใช้งานสร้างงานทีละรายการ
- เมื่อเกิดความล้มเหลว สามารถแสดงผลให้ทีม support หรือ dispatch เห็นได้ทันที
Developer Considerations
- ตรวจสอบ HTTP response status สำหรับทุกคำขอ
- จัดการทุก response ที่ไม่ใช่
200เป็นการสร้างงานไม่สำเร็จ - บันทึกและส่งต่อข้อความ error จาก API เพื่อช่วยให้ทีมปฏิบัติการแก้ไขปัญหาได้เร็วขึ้น
Recommended Integration Pattern
- จัดเก็บ client-side reference ของงานทุกงานที่ส่งมาจาก ERP/dispatch
- ใช้ bulk upload พร้อม
webhooks_urlสำหรับการนำเข้างานจำนวนมาก - ติดตามผล callback และทำ reconciliation ระหว่างงานที่คาดหวังกับงานที่ถูกสร้างจริง
- จัดการทุก response ที่ไม่ใช่
200จากการสร้างงานเดี่ยวเป็นความล้มเหลว - ทำ retry หรือ escalate งานที่ล้มเหลวตาม workflow ภายในของคุณ