Webhook คืออะไร — กริ่งประตูของระบบ ที่แจ้งเตือนให้อัตโนมัติ
อธิบาย Webhook แบบมือใหม่ เปรียบเป็นกริ่งประตูที่พออะไรเกิดขึ้นก็ยิงแจ้งไปอีกระบบทันที ต่างจาก API แบบถามเองยังไง พร้อมตัวอย่างใช้จริงและวิธีเริ่มกับ no-code
ลองนึกภาพว่าคุณเปิดร้านออนไลน์ แล้วต้องคอยกดรีเฟรชหน้าเว็บทุก 5 นาทีเพื่อเช็กว่ามีออเดอร์เข้าหรือยัง เหนื่อยและพลาดง่ายมาก จะดีกว่าไหมถ้าพอมีคนสั่งซื้อปุ๊บ ระบบเด้งแจ้งเตือนมาหาคุณเองทันที นั่นแหละคือหน้าที่ของ Webhook บทความนี้จะอธิบายว่า Webhook คืออะไรแบบที่มือใหม่เข้าใจได้ทันที
Webhook คืออะไร
Webhook คือกลไกที่ให้ระบบหนึ่ง "ยิงแจ้งเตือน" ไปหาอีกระบบโดยอัตโนมัติ ทันทีที่มีเหตุการณ์บางอย่างเกิดขึ้น
วิธีที่เห็นภาพชัดที่สุดคือ นึกถึง กริ่งประตูบ้าน
เวลามีคนมาที่หน้าบ้าน เขากดกริ่ง แล้วเสียงกริ่งก็ดังเข้ามาในบ้านทันที คุณไม่ต้องเดินไปเปิดประตูดูทุก ๆ นาทีว่ามีคนมาหรือยัง กริ่งมันจะดังบอกคุณเอง
Webhook ก็ทำงานแบบเดียวกัน พอมี เหตุการณ์ เกิดขึ้นในระบบหนึ่ง เช่น มีคนสั่งซื้อ มีคนกรอกฟอร์ม หรือมีการชำระเงิน ระบบนั้นจะ "กดกริ่ง" ส่งข้อมูลวิ่งไปหาอีกระบบให้ทันทีแบบอัตโนมัติ
Webhook ต่างจาก API ยังไง
หลายคนสับสนระหว่าง Webhook กับ API เพราะทั้งคู่คือวิธีให้ระบบคุยกัน แต่ต่างกันตรง ใครเป็นฝ่ายเริ่ม
- API เหมือนเราโทรไปถามเอง เราอยากรู้ข้อมูลตอนไหน ก็ยกหูโทรไปถามระบบนั้นเอง ถ้าอยากรู้ว่ามีออเดอร์ใหม่ไหม ก็ต้องโทรถามซ้ำ ๆ ทุก ๆ ช่วงเวลา
- Webhook เหมือนเราถูกโทรหา เราแค่ให้เบอร์ไว้ แล้วนั่งรอเฉย ๆ พอมีเรื่องเกิดขึ้น อีกฝ่ายจะโทรมาบอกเราเอง
พูดสั้น ๆ คือ API = เราถามไป, Webhook = เขาบอกมา
ข้อดีของ Webhook คือ ประหยัดแรงและได้ข้อมูลแบบเรียลไทม์ เพราะไม่ต้องคอยถามซ้ำให้เปลืองทรัพยากร ข้อมูลมาถึงทันทีที่เหตุการณ์เกิด
Webhook ทำงานยังไง
ขั้นตอนจริง ๆ ง่ายกว่าที่คิด มีแค่ 3 สเต็ป
- ระบบปลายทางสร้าง URL พิเศษ ขึ้นมาหนึ่งเส้น เรียกว่า Webhook URL เปรียบเหมือน "เบอร์โทร" ที่ไว้ให้คนอื่นโทรเข้ามา
- เอา URL นั้นไปวางในระบบต้นทาง บอกว่า "ถ้ามีเหตุการณ์นี้ ให้ยิงมาที่เบอร์นี้นะ"
- พอเหตุการณ์เกิดขึ้น ระบบต้นทางก็ส่งข้อมูลวิ่งไปที่ URL นั้นทันที ปลายทางรับแล้วเอาไปทำงานต่อ
ข้อมูลที่ส่งมาส่วนใหญ่อยู่ในรูปแบบ JSON ซึ่งเป็นวิธีจัดเก็บข้อมูลที่ทั้งคนและเครื่องอ่านเข้าใจง่าย
ตัวอย่างการใช้จริง
Webhook อยู่รอบตัวเรามากกว่าที่คิด ตัวอย่างที่มือใหม่เจอบ่อย
- แจ้งเตือนเข้า LINE พอมีลูกค้าสั่งซื้อ ระบบร้านยิง Webhook ไปสั่งให้ส่งข้อความเด้งเข้า LINE ของเจ้าของร้านทันที
- บันทึกออเดอร์ลง Google Sheet พอมีออเดอร์ใหม่ Webhook ยิงข้อมูลไปเพิ่มแถวใหม่ในชีตให้เองอัตโนมัติ ไม่ต้องพิมพ์เอง (อ่านต่อเรื่องการทำงานกับชีตได้ที่ Google Sheet + Apps Script)
- แจ้งเตือนเมื่อมีคนกรอกฟอร์ม พอมีคนกรอกฟอร์มลงทะเบียน ระบบยิง Webhook ไปส่งอีเมลต้อนรับให้ทันที
- แจ้งเตือนการชำระเงิน พอลูกค้าจ่ายเงินสำเร็จ ระบบชำระเงินยิง Webhook มาบอกร้าน เพื่ออัปเดตสถานะออเดอร์เป็น "จ่ายแล้ว"
มือใหม่เริ่มใช้ยังไง
ข่าวดีคือ ไม่ต้องเขียนโค้ดเป็นก็ใช้ Webhook ได้
- ใช้เครื่องมือ no-code อย่าง Zapier หรือ Make มันมีบล็อก Webhook สำเร็จรูป แค่ก๊อบ URL ที่มันสร้างให้ ไปวางในบริการต้นทางก็เริ่มรับข้อมูลได้เลย (ดูวิธีทำ automation ต่อได้ที่ ทำ Automation ไม่ต้องเขียนโค้ด)
- ทดลองกับเว็บทดสอบก่อน มีเว็บฟรีที่สร้าง Webhook URL ชั่วคราวให้ ไว้ลองยิงข้อมูลเข้าไปดูว่าหน้าตาข้อมูลเป็นยังไง ก่อนใช้งานจริง
- เก็บ URL เป็นความลับ เพราะใครมี URL นี้ก็ยิงข้อมูลเข้ามาได้ อย่าเอาไปโพสต์สาธารณะ
- เริ่มจากเคสง่าย ๆ เช่น "มีฟอร์มใหม่ให้เด้งเข้า LINE" ทำอันเดียวให้เข้าใจก่อนแล้วค่อยต่อยอด
สรุป
Webhook คือกริ่งประตูของโลกซอฟต์แวร์ พอมีเหตุการณ์เกิดขึ้นในระบบหนึ่ง มันจะยิงข้อมูลวิ่งไปบอกอีกระบบให้ทันทีแบบอัตโนมัติ ต่างจาก API ที่เราต้องเป็นฝ่ายถามเอง Webhook คือฝ่ายที่ถูกโทรหา จึงได้ข้อมูลเรียลไทม์และประหยัดแรง มือใหม่เริ่มได้ทันทีผ่านเครื่องมือ no-code โดยไม่ต้องเขียนโค้ด ลองหยิบเคสง่าย ๆ ในงานของคุณมาต่อ Webhook ดู แล้วจะเห็นว่างานซ้ำ ๆ หลายอย่างหายไปเองเลย
คำถามที่พบบ่อย
Webhook ต่างจาก API ยังไง?
API คือเราเป็นฝ่ายโทรไปถามข้อมูลเองเรื่อย ๆ ส่วน Webhook คือเราถูกโทรหา ระบบจะยิงข้อมูลมาให้เองทันทีเมื่อมีเหตุการณ์เกิดขึ้น ไม่ต้องคอยถามซ้ำ ๆ
มือใหม่ที่ไม่เขียนโค้ดใช้ Webhook ได้ไหม?
ได้ เครื่องมือ no-code อย่าง Zapier หรือ Make รองรับ Webhook อยู่แล้ว แค่ก๊อบลิงก์ URL ที่มันสร้างให้ไปวางในบริการต้นทาง ก็รับข้อมูลอัตโนมัติได้โดยไม่ต้องเขียนโค้ดเอง