คู่มือการใช้งาน Webhook In Cancel (ระบบแจ้งเตือนคำขอยกเลิกจากผู้ซื้อ)
เอกสารฉบับนี้อธิบายวิธีการใช้งานและความสำคัญของ Webhook In Cancel สำหรับนักพัฒนาที่เชื่อมต่อกับระบบ BentoWeb เพื่อจัดการคำสั่งซื้อจาก Marketplace (Shopee, Lazada, TikTok Shop)
1. Webhook In Cancel คืออะไร?
ปกติแล้วเวลาลูกค้ากดยกเลิกคำสั่งซื้อ จะมี 2 กรณี:
- ยกเลิกสำเร็จทันที (Instant Cancel): กรณีที่ร้านยังไม่ได้กดเตรียมส่งของ (Arrange Shipment) -> สถานะออเดอร์จะเปลี่ยนเป็น
CANCELLEDเลย - ขอยกเลิก (Cancellation Request): กรณีที่ร้านกดเตรียมส่งของไปแล้ว หรือมีเลขพัสดุแล้ว ลูกค้าจะกด "ขอยกเลิก" ได้ แต่ ต้องรอให้ร้านค้าอนุมัติก่อน
Webhook In Cancel คือระบบแจ้งเตือนที่ BentoWeb จะส่งไปหาคุณทันทีเมื่อเกิดกรณีที่ 2 (ลูกค้าขอยกเลิก และกำลังรอคุณกดอนุมัติ) เพื่อให้ระบบของคุณทราบและตัดสินใจว่าจะ "ยอมรับ" หรือ "ปฏิเสธ" คำขอนั้น
รองรับ Platform: Shopee, Lazada, TikTok Shop
2. วิธีการสมัครรับข้อมูล (Subscribe)
แจ้งความต้องการใช้งานผ่านระบบ Support
3. ข้อมูลที่คุณจะได้รับ (Payload)
เมื่อมีลูกค้าขอยกเลิก ระบบจะส่ง JSON ไปยัง URL ที่คุณระบุไว้ โดยมีโครงสร้างข้อมูลมาตรฐานดังนี้:
{
"status": "...",
"data": {
"platform": "shopee", // shopee, lazada, tiktok
"order": { ... }, // ข้อมูลออเดอร์ปกติใน BentoWeb
"callback": { ... }, // ข้อมูลดิบจาก Marketplace (Raw Data)
// *** ส่วนสำคัญ: ข้อมูลคำขอยกเลิก ***
"request_cancellation_info": {
"request_id": "260202MPR...", // ID ของคำขอยกเลิก (ใช้สำหรับอ้างอิงตอนตอบรับ)
"aggregate_order_id": "26020...", // เลขคำสั่งซื้อ Marketplace
"bentoweb_order_id": 145001, // เลขคำสั่งซื้อ BentoWeb
"reason": "เปลี่ยนใจ", // เหตุผลที่ลูกค้าเลือก
"requested_at": "2026-02-03...", // เวลาที่ลูกค้ากดขอ
"type": "cancel_request",
"items": [ // รายการสินค้าที่ลูกค้าขอยกเลิก
{
"market_item_id": "199...",
"seller_sku": "SKU-001",
"quantity": 1,
"product_name": "เสื้อยืดสีดำ",
"variant_name": "Size L"
}
]
}
}
}
4. สิ่งที่คุณควรทำเมื่อได้รับข้อมูลนี้
- ตรวจสอบสถานะ: ดูว่าออเดอร์นี้แพ็คของไปหรือยัง? ส่งขนส่งไปแล้วหรือยัง?
- ตัดสินใจ:
- ถ้าของยังอยู่ -> กดอนุมัติ (Accept) เพื่อคืนเงินลูกค้า
- ถ้าของส่งไปแล้ว -> กดปฏิเสธ (Reject) เพื่อให้กระบวนการจัดส่งดำเนินต่อ
- ตอบรับ (Action):
- คุณสามารถจัดการผ่านหน้า Admin BentoWeb หรือ Admin ของ Marketplace
- หรือเรียก BentoWeb API เพื่อ Approve/Reject ได้ทันที (ดูรายละเอียด endpoint ได้ที่ [OpenAPI Document])
Webhook Reply Cancel (แจ้งผลการตอบรับ)
มันคืออะไร?
ระบบแจ้งผลลัพธ์สุดท้ายของคำขอยกเลิกนั้นๆ ว่าสรุปแล้ว "สำเร็จ" (อนุมัติคืนเงิน) หรือ "ไม่สำเร็จ" (ปฏิเสธ/ถอนคำขอ) เพื่อให้คุณนำไปตัดสต็อกหรือบันทึกบัญชีต่อได้ถูกต้อง
ข้อมูลที่คุณจะได้รับ (Payload)
โครงสร้างเหมือน Webhook ปกติ แต่เพิ่ม Field reply_status เพื่อบอกผลลัพธ์:
{
"order_id": 12345,
"order_status": "CANCELLED", // สถานะล่าสุด
"items": [ ... ],
// ... ข้อมูลอื่นๆ
"reply_status": "APPROVE" // หรือ "REJECT"
}
สรุป
Webhook In Cancel ช่วยให้คุณไม่พลาด "คำขอยกเลิก" ที่ต้องรีบจัดการ ซึ่งสำคัญมากสำหรับ Rating ร้านค้า เพราะถ้าปล่อยทิ้งไว้นานเกินกำหนด ระบบ Marketplace อาจจะ Auto-accept (อนุมัติคืนเงินอัตโนมัติ) ทำให้เสียของฟรีได้
- In Cancel: ช่วยให้ทีมแอดมินรู้ทันทีว่ามีลูกค้าขอยกเลิก ไม่ต้องคอยกด Refresh หน้า Seller Center
- Reply Cancel: ช่วยให้ระบบบัญชีและสต็อกถูกต้องแม่นยำ (รู้ว่าต้องคืนเงินหรือรับรู้รายได้ต่อ)
อัปเดตเมื่อ: 10/02/2026
ขอบคุณ!