Webhook ไม่มาถึง
การแก้ปัญหา
Webhook
การจัดส่ง
อาการ
มี event เกิดขึ้นแน่นอน แต่ Webhook กลับไม่มาถึง endpoint ผู้รับ
มี event เกิดขึ้นแน่นอน แต่ Webhook กลับไม่มาถึง endpoint ผู้รับ
ขั้นตอนการแยกแยะสาเหตุ
ขั้นตอนที่ 1: ดูประวัติการจัดส่งในพอร์ทัลนักพัฒนา
พอร์ทัลนักพัฒนา → แอป → Webhook → endpoint ที่เกี่ยวข้อง →「ประวัติการจัดส่ง」
| สถานะของประวัติการจัดส่ง | สาเหตุ |
|---|---|
| ไม่มีบันทึกเลย | ยังไม่ได้ถูกจัดส่ง (ปัญหาการตั้งค่า) |
มีบันทึกแต่เป็น 5xx | เซิร์ฟเวอร์ฝั่งผู้รับเกิดข้อผิดพลาด |
มีบันทึกแต่เป็น 4xx | ฝั่งผู้รับปฏิเสธ (ไม่มีการส่งซ้ำ) |
| ไทม์เอาต์ | ไม่ตอบกลับภายใน 10 วินาที |
| เชื่อมต่อล้มเหลว | ปัญหา DNS / TLS / เครือข่าย |
ขั้นตอนที่ 2: การตรวจสอบเมื่อ「ไม่มีบันทึกเลย」
- ☐ endpoint ตั้งเป็น「เปิดใช้งาน」อยู่หรือไม่ (ระหว่างปิดใช้งานจะไม่มีการจัดส่งตั้งแต่ต้น)
- ☐ ได้สมัครรับ event ที่เกี่ยวข้องแล้วหรือไม่
- ☐ ตัวเองไม่ได้ถูกคัดออกด้วยฟิลเตอร์ร้านค้าเป้าหมายใช่หรือไม่
- ☐ event นั้นเกิดขึ้นจริงหรือไม่ (มีความล่าช้าปรากฏในหน้าสถานะหรือไม่)
- ☐ ตัวแอปเองไม่ได้ถูกหยุดหรือยกเลิกใช่หรือไม่
ขั้นตอนที่ 3: กรณี「ไทม์เอาต์」หรือ「เชื่อมต่อล้มเหลว」
- ☐ URL ผู้รับเข้าถึงได้จากภายนอกหรือไม่ (ลองเรียกดูผ่านเบราว์เซอร์)
- ☐ ไม่ได้อยู่ภายใน VPN ภายในองค์กรใช่หรือไม่
- ☐ ใบรับรอง TLS ยังใช้งานได้หรือไม่ (self-signed ใช้ไม่ได้)
- ☐ ไฟร์วอลล์อนุญาต IP ต้นทางของ ReceiptRoller ไว้หรือไม่
- ☐ กระบวนการรับส่งคืน 2xx ภายใน 10 วินาทีหรือไม่
ขั้นตอนที่ 4: กรณี「4xx ปฏิเสธ」
- ☐ การตรวจสอบลายเซ็นล้มเหลวหรือไม่ (ส่งคืน 401 อยู่หรือไม่)
- ☐ URL ที่เกี่ยวข้องกลายเป็น 404 เพราะ routing ผิดหรือไม่
- ☐ มีข้อผิดพลาดจากการ implement ปรากฏใน response body หรือไม่
ตรวจสอบด้วยการจัดส่งแบบทดสอบ
คุณสามารถส่ง event ตัวอย่างเพื่อทดสอบฝั่งผู้รับได้จากปุ่ม「จัดส่งแบบทดสอบ」ในพอร์ทัลนักพัฒนา
- endpoint ที่เกี่ยวข้อง →「จัดส่งแบบทดสอบ」
- เลือกชนิดของ event
- 「ส่ง」
- ตรวจสอบ log และ response code ของฝั่งผู้รับ
การจัดส่งซ้ำ dead letter
หลังจากแก้ไขฝั่งผู้รับแล้ว คุณสามารถจัดส่งซ้ำด้วยตนเองได้จากฟิลเตอร์「dead letter」ในประวัติการจัดส่ง มีอายุการใช้งานภายใน 30 วันนับจากการจัดส่ง
คู่มือที่เกี่ยวข้อง
วันที่เผยแพร่: 2569-04-27
วันที่อัปเดต: 2569-07-06
หมวดหมู่
แท็ก
API (22)
OAuth (15)
Android (10)
iOS (9)
Webhook (8)
api (7)
oauth (5)
getting-started (4)
การลงทะเบียนแอป (4)
การแก้ปัญหา (4)
บทความที่เกี่ยวข้อง
-
พอร์ทัลนักพัฒนาไม่แสดงเมื่อยังใช้แพลนฟรีขั้นตอนการตรวจสอบเมื่อพอร์ทัลนักพัฒนาของ ReceiptRoller ไม่แสดง อธิบายวิธีรับมือเมื่อใช้แพลนฟรี การสลับบัญชีธุรกิจ และช่วงเวลาที่การแสดงผลมีผล
-
ขอโทเคนไม่ได้ (ข้อผิดพลาดการยืนยันตัวตน)การแยกแยะสาเหตุเมื่อขอ access token ไม่ได้ อธิบายข้อผิดพลาดทั่วไป เช่น invalid_client, invalid_grant, redirect_uri_mismatch และวิธีรับมือ
-
สโคปประเภท User ส่งคืน app_not_approvedขั้นตอนการตรวจสอบเมื่อใช้สโคปประเภท User แล้วได้รับข้อผิดพลาด app_not_approved อธิบายขั้นตอนการพัฒนาในโหมด sandbox การยื่นขอตรวจสอบ และการนำ sandbox ขึ้นสู่ production
-
ได้รับ 403/401 (สิทธิ์และสโคป)การแยกแยะสาเหตุเมื่อการเรียก API ส่งคืน 401 หรือ 403 อธิบายกรณีทั่วไป เช่น โทเคนไม่ถูกต้อง สโคปไม่เพียงพอ ไม่มีสิทธิ์เข้าถึงร้านค้า และสโคปประเภท User ที่ยังไม่ผ่านการตรวจสอบ