✅ ระบบส่ง Webhook ได้จริง

หน้านี้คือ “ระบบปลายทาง” ที่รับข้อมูลจาก WMS Pro — ได้รับและตรวจลายเซ็นผ่านแล้ว 4 เหตุการณ์

4
เหตุการณ์ที่รับจาก WMS
4
คำขอที่ถูกปฏิเสธ
เปิดอยู่
การตรวจลายเซ็น
อ่านหน้านี้อย่างไร — ทุกครั้งที่มีเหตุการณ์เกิดขึ้นใน WMS (สร้างออร์เดอร์ · จ่ายของ · อัปเดตเลขพัสดุ ฯลฯ) ระบบจะยิงข้อมูลมาที่นี่ทันที พร้อมลายเซ็นดิจิทัล
ตัวรับจะ ตรวจลายเซ็นก่อนเสมอ — ผ่านจึงตอบรับ (200) ถ้าไม่ผ่านจะปฏิเสธ (401) ดังนั้นรายการที่ขึ้นว่า “รับแล้ว” คือรายการที่ยืนยันแล้วว่ามาจาก WMS จริงและข้อมูลไม่ถูกแก้ระหว่างทาง
รายการ “ปฏิเสธ” ที่เห็นคือคำขอปลอมที่ชุดทดสอบจงใจยิงมา เพื่อพิสูจน์ว่าตัวรับกันของปลอมได้จริง — ไม่ใช่ความผิดพลาด

ข้อมูลที่ได้รับล่าสุด (8 รายการ)

ปฏิเสธ 22/9/2569 15:07:19
ไม่มีรหัสเหตุการณ์ — ไม่ได้ส่งมาจาก WMS (เป็นคำขอทดสอบที่ยิงมาเพื่อพิสูจน์ว่าตัวรับกันของปลอมได้)
ข้อมูลดิบที่ได้รับทั้งหมด (JSON)
{}
รับแล้ว ยอดสต็อกเปลี่ยนแปลง stock.updated 22/9/2569 11:41:47
รหัสเหตุการณ์ evt_206c0699c93b94498a525009 · ลายเซ็น ถูกต้อง · ขนาด 266 bytes
เลขที่ในคลังSO-S-00012
เจ้าของสินค้าACME
เลขที่รายการสต็อกIVT-202609-000003
เหตุผลorder_fulfilled
ข้อมูลดิบที่ได้รับทั้งหมด (JSON)
{
  "id": "evt_206c0699c93b94498a525009",
  "event": "stock.updated",
  "created_at": "2026-09-22 04:41:46",
  "company_id": 1,
  "client_id": 1,
  "attempt": 1,
  "data": {
    "reason": "order_fulfilled",
    "order_no": "SO-S-00012",
    "client_code": "ACME",
    "transaction_no": "IVT-202609-000003",
    "items": []
  }
}
รับแล้ว สถานะออร์เดอร์เปลี่ยน order.status_changed 22/9/2569 11:41:46
รหัสเหตุการณ์ evt_1c5a9ec9d6981e47f36a8f10 · ลายเซ็น ถูกต้อง · ขนาด 562 bytes
เลขที่ในคลังSO-S-00012
เลขที่ของ OMStestzzzz
เจ้าของสินค้าACME
สถานะfulfilled
เลขที่รายการสต็อกIVT-202609-000003
สินค้าที่จ่ายออกBEV-1001 × 4 (ล็อต LOT-AQ2609 หมดอายุ 2027-07-24)
ข้อมูลดิบที่ได้รับทั้งหมด (JSON)
{
  "id": "evt_1c5a9ec9d6981e47f36a8f10",
  "event": "order.status_changed",
  "created_at": "2026-09-22 04:41:46",
  "company_id": 1,
  "client_id": 1,
  "attempt": 1,
  "data": {
    "order_no": "SO-S-00012",
    "external_ref": "testzzzz",
    "client_code": "ACME",
    "status": "fulfilled",
    "document_type": "online",
    "transaction_no": "IVT-202609-000003",
    "fulfilled_at": "2026-09-22T04:41:46.384Z",
    "lines": [
      {
        "sku": "BEV-1001",
        "product_name": "น้ำดื่มบริสุทธิ์ 600 มล.",
        "quantity": 4,
        "lot_no": "LOT-AQ2609",
        "expiry_date": "2027-07-24",
        "warehouse_code": "BKK",
        "location_code": "BKK-RCV-01"
      }
    ],
    "previous_status": "pending"
  }
}
รับแล้ว จ่ายของครบแล้ว (ตัดสต็อกเรียบร้อย) order.fulfilled 22/9/2569 11:41:46
รหัสเหตุการณ์ evt_9bd8025269d6067f9f6b4373 · ลายเซ็น ถูกต้อง · ขนาด 529 bytes
เลขที่ในคลังSO-S-00012
เลขที่ของ OMStestzzzz
เจ้าของสินค้าACME
สถานะfulfilled
เลขที่รายการสต็อกIVT-202609-000003
สินค้าที่จ่ายออกBEV-1001 × 4 (ล็อต LOT-AQ2609 หมดอายุ 2027-07-24)
ข้อมูลดิบที่ได้รับทั้งหมด (JSON)
{
  "id": "evt_9bd8025269d6067f9f6b4373",
  "event": "order.fulfilled",
  "created_at": "2026-09-22 04:41:46",
  "company_id": 1,
  "client_id": 1,
  "attempt": 1,
  "data": {
    "order_no": "SO-S-00012",
    "external_ref": "testzzzz",
    "client_code": "ACME",
    "status": "fulfilled",
    "document_type": "online",
    "transaction_no": "IVT-202609-000003",
    "fulfilled_at": "2026-09-22T04:41:46.384Z",
    "lines": [
      {
        "sku": "BEV-1001",
        "product_name": "น้ำดื่มบริสุทธิ์ 600 มล.",
        "quantity": 4,
        "lot_no": "LOT-AQ2609",
        "expiry_date": "2027-07-24",
        "warehouse_code": "BKK",
        "location_code": "BKK-RCV-01"
      }
    ]
  }
}
รับแล้ว order.packed order.packed 22/9/2569 11:39:28
รหัสเหตุการณ์ evt_ef929c5d38bef94b9df43386 · ลายเซ็น ถูกต้อง · ขนาด 189 bytes
เลขที่ในคลังSO-S-00012
ข้อมูลดิบที่ได้รับทั้งหมด (JSON)
{
  "id": "evt_ef929c5d38bef94b9df43386",
  "event": "order.packed",
  "created_at": "2026-09-22 04:39:28",
  "company_id": 1,
  "client_id": 1,
  "attempt": 1,
  "data": {
    "order_no": "SO-S-00012",
    "date": "2026-09-22"
  }
}
ปฏิเสธ 19/9/2569 07:52:42
ไม่มีรหัสเหตุการณ์ — ไม่ได้ส่งมาจาก WMS (เป็นคำขอทดสอบที่ยิงมาเพื่อพิสูจน์ว่าตัวรับกันของปลอมได้)
ข้อมูลดิบที่ได้รับทั้งหมด (JSON)
{}
ปฏิเสธ 19/9/2569 06:34:44
ไม่มีรหัสเหตุการณ์ — ไม่ได้ส่งมาจาก WMS (เป็นคำขอทดสอบที่ยิงมาเพื่อพิสูจน์ว่าตัวรับกันของปลอมได้)
ข้อมูลดิบที่ได้รับทั้งหมด (JSON)
{}
ปฏิเสธ 18/9/2569 08:03:49
ไม่มีรหัสเหตุการณ์ — ไม่ได้ส่งมาจาก WMS (เป็นคำขอทดสอบที่ยิงมาเพื่อพิสูจน์ว่าตัวรับกันของปลอมได้)
ข้อมูลดิบที่ได้รับทั้งหมด (JSON)
{}

สำหรับผู้พัฒนา

POST / รับ webhook · ลายเซ็นผ่านตอบ 200 · ไม่ผ่านตอบ 401
GET /events ดูข้อมูลทั้งหมดเป็น JSON
โค้ดตัวรับตัวนี้อยู่ในชุดส่งมอบที่ scripts/demo/webhook-echo/_worker.js — นำไปดัดแปลงใช้กับระบบจริงได้ทันที