Skip to main content
หน้าหลักบล็อกการทำให้สถานะการติดตามของผู้ขนส่งเป็นมาตรฐาน: วิธีแมปเหตุการณ์ของผู้ขนส่งเข้าสู่โมเดลสถานะเดียว

การทำให้สถานะการติดตามของผู้ขนส่งเป็นมาตรฐาน: วิธีแมปเหตุการณ์ของผู้ขนส่งเข้าสู่โมเดลสถานะเดียว

17TRACK

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

การทำให้สถานะการติดตามของผู้ให้บริการขนส่งเป็นมาตรฐาน วิธีแมปเหตุการณ์ของผู้ให้บริการขนส่ง

คู่มือนี้จัดทำขึ้นสำหรับนักพัฒนา ทีมปฏิบัติการด้านโลจิสติกส์ และเจ้าของผลิตภัณฑ์ที่กำลังสร้างระบบติดตามในระบบจัดการคำสั่งซื้อ แดชบอร์ดสนับสนุน หรือเวิร์กโฟลว์การแจ้งเตือนลูกค้า โมเดลด้านล่างเป็นรูปแบบการนำไปใช้ที่เสนอ ไม่ใช่มาตรฐานอย่างเป็นทางการของผู้ให้บริการขนส่งหรือการจำลองอนุกรมวิธานสถานะของผู้ให้บริการติดตามรายใด

แยกเหตุการณ์ของผู้ให้บริการขนส่งออกจากสถานะการจัดส่ง

เหตุการณ์การติดตามอธิบายสิ่งที่มีการรายงานเกี่ยวกับการจัดส่ง เช่น มีการสร้างฉลาก พัสดุไปถึงศูนย์คัดแยก หรือความพยายามจัดส่งไม่สำเร็จ ส่วนสถานะการจัดส่งคือการตีความหลักฐานที่เกี่ยวข้องของแอปพลิเคชัน ณ ช่วงเวลาหนึ่ง แนวคิดทั้งสองควรจัดเก็บแยกกัน

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

สถาปัตยกรรมเชิงปฏิบัติมี 3 ชั้น:

  1. หลักฐานดิบ: เพย์โหลดต้นฉบับจากผู้ให้บริการขนส่งหรือผู้ให้บริการระบบ รวมถึงรหัส ข้อความ เวลา และตัวระบุ
  2. เหตุการณ์ที่ทำให้เป็นมาตรฐาน: การตีความเหตุการณ์แต่ละรายการโดยใช้กฎการแมปที่มีเวอร์ชัน
  3. ภาพสถานะปัจจุบันของการจัดส่ง: สถานะที่เลือกจากประวัติเหตุการณ์ รวมถึงเงื่อนไขที่ยังใช้งานอยู่และการดำเนินการของลูกค้า

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

กำหนดโมเดลสถานะขนาดกะทัดรัดพร้อมเงื่อนไขที่แยกจากกัน

ฟิลด์สถานะเดียวจะดูแลรักษาได้ยากเมื่อจำเป็นต้องแทนการเคลื่อนย้ายทางกายภาพ การดำเนินพิธีการศุลกากร ปัญหาการจัดส่ง และการคืนสินค้าพร้อมกัน ให้ใช้โมเดลวงจรชีวิตขนาดเล็ก แล้วแนบเงื่อนไขและเหตุผลที่เฉพาะเจาะจงเพิ่มเติม

สถานะมาตรฐานความหมายที่แนะนำขอบเขตที่ต้องรักษาไว้
UNKNOWNไม่สามารถแมปหลักฐานได้อย่างมั่นใจไม่เทียบเท่ากับสูญหายหรือล่าช้า
PRE_TRANSITมีข้อมูลการจัดส่งทางอิเล็กทรอนิกส์ แต่ยังไม่มีการยืนยันการรับพัสดุทางกายภาพการสร้างฉลากไม่ใช่หลักฐานว่าผู้ให้บริการขนส่งครอบครองพัสดุ
IN_TRANSITการจัดส่งกำลังเคลื่อนผ่านหรืออยู่ระหว่างการดำเนินการภายในเครือข่ายจัดส่งไม่ได้หมายความว่าจะจัดส่งถึงในวันนั้น
OUT_FOR_DELIVERYแหล่งข้อมูลรายงานอย่างชัดเจนว่ามีการนำพัสดุออกไปเพื่อพยายามจัดส่งการมาถึงศูนย์คัดแยกในพื้นที่ยังไม่เพียงพอ
READY_FOR_PICKUPการจัดส่งพร้อมให้ผู้รับมารับด้วยตนเองอย่างชัดเจนการมาถึงจุดรับสินค้าเพียงอย่างเดียวอาจยังไม่ยืนยันความพร้อม
DELIVEREDมีการยืนยันการจัดส่งสำหรับช่วงการจัดส่งที่เกี่ยวข้องอย่างชัดเจนการส่งต่อระหว่างผู้ให้บริการขนส่งไม่จำเป็นต้องหมายถึงการส่งถึงผู้รับ
CANCELEDแหล่งข้อมูลยืนยันอย่างชัดเจนว่าบันทึกการจัดส่งถูกยกเลิกการยกเลิกคำสั่งซื้อไม่ได้พิสูจน์ว่าพัสดุหยุดเคลื่อนที่

เก็บเงื่อนไขต่าง ๆ เช่น CUSTOMS_PROCESSING, DELIVERY_ATTEMPT_FAILED, ADDRESS_ISSUE หรือ DELAY_REPORTED ไว้นอกฟิลด์วงจรชีวิตหลัก การจัดส่งอาจยังคงเป็น IN_TRANSIT ขณะที่ปัญหาที่อยู่ต้องได้รับการแก้ไข อย่าระบุว่าการดำเนินพิธีการศุลกากรตามปกติเป็นข้อยกเว้น เว้นแต่แหล่งข้อมูลจะรายงานว่ามีการกักไว้ ปัญหา หรือจำเป็นต้องดำเนินการ

ให้แสดงทิศทางแยกต่างหากด้วยฟิลด์ เช่น journey_type การคืนสินค้าสามารถมีสถานะกำลังขนส่งและจัดส่งสำเร็จของตนเองได้ วิธีนี้ช่วยป้องกันการตีความว่าการจัดส่งคืนไปยังผู้ส่งคือการจัดส่งสำเร็จถึงผู้ซื้อ

สร้างระเบียนเหตุการณ์ก่อนเขียนกฎการแมป

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

  • ข้อมูลระบุตัวตน: ID การจัดส่งภายใน ตัวระบุผู้ให้บริการขนส่ง หมายเลขติดตาม แหล่งที่มา และช่วงการจัดส่ง
  • หลักฐานต้นฉบับ: รหัสเหตุการณ์ดิบ คำอธิบายดิบ ID เหตุการณ์จากแหล่งข้อมูลเมื่อมีการระบุ และข้อมูลอ้างอิงไปยังเพย์โหลดต้นฉบับ
  • เวลา: เวลาที่เกิดเหตุการณ์ ข้อมูลเขตเวลา เวลาที่รับข้อมูล และความละเอียดของเวลา
  • การตีความ: สถานะมาตรฐาน เงื่อนไข รหัสเหตุผล ประเภทเส้นทาง และข้อกำหนดการดำเนินการ
  • การตรวจสอบย้อนกลับ: ID กฎการแมป เวอร์ชันการแมป และหมวดหมู่ความมั่นใจ

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

ใช้รูปแบบเวลาที่มีการบันทึกไว้ เช่น RFC 3339 เมื่อทราบเวลาและออฟเซ็ต หากแหล่งข้อมูลให้เวลาท้องถิ่นโดยไม่มีออฟเซ็ตที่เชื่อถือได้ ให้รักษาข้อจำกัดนั้นไว้แทนการเพิ่มการระบุ UTC ที่ไม่ถูกต้อง เก็บเหตุการณ์ที่มีเฉพาะวันที่เป็นหลักฐานเฉพาะวันที่ แทนการสร้างเวลาสแกนที่แม่นยำขึ้นเอง

จัดเก็บเพย์โหลดดิบภายใต้การควบคุมสิทธิ์การเข้าถึงและกฎการเก็บรักษาที่เหมาะสม เนื่องจากอาจมีรายละเอียดผู้รับหรือข้อมูลอื่นที่ไม่ควรอยู่ในตารางวิเคราะห์ที่เข้าถึงได้อย่างกว้างขวาง

แมปรหัสของผู้ให้บริการขนส่งก่อน แล้วจึงใช้ข้อความอย่างระมัดระวัง

เริ่มจากกฎที่กำหนดขอบเขตตามแหล่งข้อมูลและผู้ให้บริการขนส่งที่เฉพาะเจาะจง รหัสอย่าง 01 ไม่มีความหมายที่เชื่อถือได้นอกบริบทที่มีการบันทึกไว้ หากแหล่งข้อมูลแยกบริการ ภูมิภาค หรือช่วงการจัดส่ง ให้รวมมิติเหล่านั้นเมื่อมีผลต่อการตีความ

ใช้ลำดับการแมปต่อไปนี้เป็นค่าเริ่มต้นในการนำไปใช้:

  1. จับคู่รหัสเหตุการณ์แบบมีโครงสร้างที่มีการบันทึกไว้ รวมถึงตัวระบุเพิ่มเติมที่จำเป็น
  2. ใช้สถานะหรือสถานะย่อยจากแหล่งข้อมูลที่มีการบันทึกไว้ เมื่ออธิบายเหตุการณ์ที่กำลังประมวลผลได้อย่างชัดเจน
  3. ใช้กฎจากข้อความที่มีขอบเขตแคบสำหรับข้อความที่รู้จักและไม่มีฟิลด์แบบมีโครงสร้างเพียงพอ
  4. ปล่อยเหตุการณ์ที่ยังไม่สามารถระบุได้ให้ไม่มีการแมป และส่งกรณีที่เกิดซ้ำให้ตรวจสอบ

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

หลีกเลี่ยงกฎคีย์เวิร์ดทั่วโลก เช่น “มีคำว่า delivered” เนื่องจากวลี “not delivered” ก็จะตรงกันได้ เช่นเดียวกับข้อความที่อธิบายการจัดส่งให้พันธมิตรด้านโลจิสติกส์ กฎจากข้อความต้องรองรับการปฏิเสธ บริบทภาษา และข้อยกเว้น การแปลด้วยเครื่องอาจช่วยให้ผู้ตรวจสอบเข้าใจข้อความ แต่ถ้อยคำที่แปลแล้วไม่ควรกลายเป็นคำนิยามเหตุการณ์ที่เป็นทางการโดยไม่แจ้งให้ทราบ

ตัวอย่างการแมปและข้อจำกัด

ตัวอย่างด้านล่างใช้ข้อความสมมติขึ้นเพื่อสาธิตการออกแบบกฎ ไม่ใช่รหัสหรือข้อความที่ตรวจสอบแล้วจากผู้ให้บริการขนส่งรายใดรายหนึ่ง

  • “Shipment details submitted”: แมปเป็น PRE_TRANSIT เมื่อคำนิยามของแหล่งข้อมูลระบุว่ามีเพียงข้อมูลทางอิเล็กทรอนิกส์
  • “Accepted at origin facility”: แมปเป็น IN_TRANSIT เมื่อเหตุการณ์ยืนยันการรับพัสดุทางกายภาพ
  • “Recipient unavailable; attempt unsuccessful”: บันทึก DELIVERY_ATTEMPT_FAILED และประเมินวงจรชีวิตจากหลักฐานโดยรอบ อย่าสรุปว่าพร้อมให้ไปรับ
  • “Available for collection”: แมปเป็น READY_FOR_PICKUP เมื่อแหล่งข้อมูลยืนยันว่าพร้อมให้ผู้รับมารับ
  • “Transferred to delivery partner”: บันทึกการส่งต่อและคงสถานะกำลังขนส่งที่เหมาะสม แทนการระบุว่าจัดส่งถึงผู้รับแล้ว

แต่ละกฎควรมีเหตุผลสั้น ๆ และผู้รับผิดชอบ เมื่อผู้เชี่ยวชาญด้านปฏิบัติการโต้แย้งการแมป ทีมควรระบุกฎที่แน่นอนได้ แทนการย้อนวิเคราะห์ป้ายกำกับที่แสดงต่อลูกค้า

คำนวณสถานะปัจจุบันด้วยตัวลดที่กำหนดผลลัพธ์แน่นอน

ตัวลดคือฟังก์ชันที่ประเมินเหตุการณ์ที่ทำให้เป็นมาตรฐานและสร้างภาพสถานะปัจจุบันของการจัดส่ง ตัวลดควรคืนผลลัพธ์เดียวกันเมื่อได้รับหลักฐานและเวอร์ชันกฎเดียวกัน ไม่ว่าจะเล่นอินพุตซ้ำกี่ครั้ง

กำจัดรายการซ้ำโดยไม่ลบการสแกนที่มีความหมาย

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

จัดลำดับเหตุการณ์โดยไม่สมมติว่านาฬิกาแม่นยำสมบูรณ์

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

ตรวจสอบการเปลี่ยนสถานะแทนการกำหนดลำดับสากล

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

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

ติดตามเงื่อนไขที่ยังใช้งานอยู่อย่างอิสระ

การสแกนการเคลื่อนย้ายในภายหลังอาจแสดงความคืบหน้า แต่ไม่ได้พิสูจน์ว่าปัญหาการชำระเงินหรือที่อยู่ได้รับการแก้ไข กำหนดกฎการล้างเงื่อนไขเฉพาะ เช่น การแก้ไขอย่างชัดเจน เหตุการณ์ที่แก้ไขปัญหาได้ตามตรรกะ หรือการดำเนินการด้วยตนเองที่ได้รับอนุญาต อย่าล้างทุกเงื่อนไขเพียงเพราะมีเหตุการณ์อื่นเข้ามา

แยกความล่าช้าที่ผู้ให้บริการขนส่งรายงานออกจากการแจ้งเตือนการไม่มีความเคลื่อนไหวของคุณเองด้วย การไม่มีการสแกนใหม่เป็นข้อสังเกตเกี่ยวกับความสดใหม่ของข้อมูล ไม่ใช่หลักฐานว่าพัสดุสูญหาย

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

การติดตามข้ามพรมแดนอาจเกี่ยวข้องกับผู้ให้บริการขนส่งและตัวระบุหลายรายการ เก็บข้อมูลระบุตัวตนการจัดส่งภายใน และแนบข้อมูลอ้างอิงการติดตามเฉพาะผู้ให้บริการไว้กับช่วงการจัดส่งที่เกี่ยวข้อง เชื่อมโยงข้อมูลอ้างอิงโดยใช้ความสัมพันธ์ที่แหล่งข้อมูลจัดให้หรือข้อมูลปฏิบัติการที่ผ่านการตรวจสอบ ไม่ใช่เพียงปลายทางที่คล้ายกันหรือเวลาที่ใกล้เคียงกัน

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

ในทำนองเดียวกัน ให้แยก “ขอคืนสินค้าแล้ว” “เริ่มเคลื่อนย้ายสินค้าคืนแล้ว” และ “คืนให้ผู้ส่งแล้ว” เนื่องจากเป็นเหตุการณ์สำคัญคนละแบบ คำขอคืนสินค้าไม่ได้พิสูจน์ว่าพัสดุกำลังเคลื่อนกลับทางกายภาพ และการยืนยันการจัดส่งของเส้นทางย้อนกลับควรระบุปลายทางการคืนสินค้า

ใช้ API การติดตามโดยไม่ละทิ้งกฎทางธุรกิจของคุณ

การเชื่อมต่อกับผู้ให้บริการขนส่งหลายรายสามารถให้จุดรับข้อมูลร่วมกันได้ แต่รูปแบบการตอบกลับร่วมไม่ได้ขจัดความจำเป็นในการมีสัญญาภายในที่ชัดเจน เมื่อประเมิน 17TRACK Tracking API ให้ใช้เอกสารอย่างเป็นทางการเพื่อตรวจสอบความหมายของฟิลด์และอินเทอร์เฟซที่เกี่ยวข้องกับการนำไปใช้ของคุณ อย่าสมมติว่าสถานะที่เสนอในคู่มือนี้ตรงกับอนุกรมวิธานดั้งเดิมของระบบ

ก่อนเชื่อมต่อ API ใด ๆ กับการแจ้งเตือนลูกค้าหรือระบบอัตโนมัติด้านปฏิบัติการ ให้กำหนดสิ่งต่อไปนี้:

  • ฟิลด์ใดอธิบายเหตุการณ์แต่ละรายการ และฟิลด์ใดอธิบายสรุปสถานะปัจจุบันของการจัดส่ง
  • รายละเอียดต้นฉบับของผู้ให้บริการขนส่งใดที่เปิดเผยและสามารถเก็บรักษาได้
  • การแสดงเวลา ค่าที่หายไป การแก้ไข และการอัปเดตซ้ำเป็นอย่างไร
  • จะแยกเส้นทางการคืนสินค้าและการจัดส่งไปยังพันธมิตรระหว่างทางได้อย่างไร
  • การเชื่อมต่อของคุณจะตอบสนองต่อรหัสที่ไม่รู้จักหรือการเปลี่ยนแปลงสคีมาในอนาคตอย่างไร

คงอะแดปเตอร์แบบบางไว้ระหว่างการตอบกลับจากภายนอกกับโมเดลมาตรฐานของคุณ วิธีนี้ช่วยให้ส่วนที่เหลือของแอปพลิเคชันใช้สัญญาสถานะการติดตามเดียวกันโดยไม่ต้องพึ่งพาชื่อฟิลด์จากต้นทางทุกแห่ง ให้ถือว่ากฎการแจ้งเตือนเป็นอีกชั้นหนึ่ง เหตุการณ์ใหม่ที่ทำให้เป็นมาตรฐานไม่ควรกระตุ้นข้อความถึงลูกค้าโดยอัตโนมัติ

ทดสอบประวัติเหตุการณ์ ไม่ใช่เพียงการแมปแต่ละรายการ

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

  • ประวัติล่าช้า: การยืนยันการจัดส่งมาถึงก่อนการสแกนการขนส่งที่เก่ากว่า การจัดส่งยังคงอยู่ในสถานะจัดส่งแล้ว
  • การรับข้อมูลซ้ำ: ประมวลผลเหตุการณ์เดิมอีกครั้ง จะไม่มีการส่งการแจ้งเตือนลูกค้าซ้ำ
  • ความพยายามจัดส่งล้มเหลว: ความพยายามที่ไม่สำเร็จเกิดขึ้นหลังสถานะกำลังนำจ่าย ภาพสถานะจะไม่สัญญาว่ากำลังจัดส่งอยู่โดยไม่มีหลักฐานสนับสนุน
  • ความพร้อมให้รับสินค้า: พัสดุไปถึงศูนย์รับสินค้าก่อนมีการยืนยันว่าพร้อม จะไม่มีการออกคำแนะนำให้ไปรับก่อนเวลา
  • เหตุการณ์ที่ไม่รู้จัก: มีรหัสใหม่ปรากฏ ระเบียนดิบจะถูกเก็บรักษาไว้ และสถานะการจัดส่งที่มีอยู่เดิมจะไม่ถูกแทนที่ด้วย unknown โดยอัตโนมัติ
  • การเคลื่อนย้ายเพื่อคืนสินค้า: เส้นทางย้อนกลับสิ้นสุดที่ผู้ส่ง การจัดส่งเดิมถึงผู้ซื้อจะไม่ถูกระบุว่าสำเร็จ
  • การแก้ไข: การแก้ไขอย่างชัดเจนจากแหล่งข้อมูลเปลี่ยนผลลัพธ์ผ่านการเปลี่ยนสถานะที่ตรวจสอบย้อนหลังได้

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

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

คำถามที่พบบ่อย

เหตุการณ์การติดตามทุกเหตุการณ์ควรมีสถานะเพียงหนึ่งเดียวหรือไม่

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

เหตุการณ์ที่ไม่รู้จักควรแทนที่สถานะปัจจุบันของการจัดส่งหรือไม่

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

การจัดส่งที่เสร็จสิ้นแล้วสามารถกลับไปเป็นกำลังขนส่งได้หรือไม่

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

ควรแสดงการขาดการอัปเดตการติดตามอย่างไร

ใช้ตัวบ่งชี้ความสดใหม่ภายในหรือการแจ้งเตือนการไม่มีความเคลื่อนไหว แยกสิ่งนี้ออกจากความล่าช้า การสูญหาย หรือสถานะข้อยกเว้นที่ผู้ให้บริการขนส่งรายงาน เกณฑ์การยกระดับควรสะท้อนคำมั่นด้านบริการและนโยบายการดำเนินงานของคุณ ไม่ใช่สมมติฐานสากล

ใครควรอนุมัติการเปลี่ยนแปลงการแมป

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

แหล่งข้อมูล

  • RFC 3339: Date and Time on the Internet: Timestamps — แหล่งอ้างอิงสำหรับการแสดงเวลาและออฟเซ็ตตัวเลข
  • 17TRACK Tracking API — จุดเริ่มต้นอย่างเป็นทางการสำหรับการเชื่อมต่อ API การติดตามที่กล่าวถึงข้างต้น
  • 17TRACK API documentation — แหล่งอ้างอิงการนำไปใช้สำหรับตรวจสอบสัญญาของผู้ให้บริการ โมเดลมาตรฐานและตัวอย่างการแมปในบทความนี้เป็นรูปแบบการออกแบบที่เสนอ ไม่ใช่คำนิยามเฉพาะของผู้ให้บริการ
Loading