Webhook คือช่องทางที่ทำให้แอปพลิเคชันหรือระบบสองตัวสามารถสื่อสารและส่งข้อมูลหากันได้โดยอัตโนมัติทันทีที่มีเหตุการณ์ (Event) เกิดขึ้น โดยที่ระบบปลายทางไม่ต้องเสียเวลาส่งคำถามไปเช็คเรื่อยๆ เปรียบเสมือนการ “ผลัก” (Push) ข้อมูลไปให้ทันที ซึ่งเป็นหัวใจหลักที่ทำให้ระบบ Automation ทำงานได้อย่างรวดเร็วและไร้รอยต่อ
ทำไมต้องใช้ Webhook? (เปรียบเทียบกับ API แบบเดิม)
หากเราใช้การดึงข้อมูลแบบดั้งเดิมที่เรียกว่า API Polling ระบบจะต้องคอยเขียนลูป (Loop) ส่งคำถามไปถามเซิร์ฟเวอร์ทุกๆ 1 นาทีว่า “มีข้อมูลใหม่หรือยัง?” ซึ่งทำให้เปลืองทรัพยากรเซิร์ฟเวอร์ และข้อมูลที่ได้ก็อาจไม่เรียลไทม์
แต่เมื่อเปลี่ยนมาใช้ Webhook ระบบจะเปลี่ยนมาใช้วิธี “รอรับฟัง” เมื่อมีเหตุการณ์เกิดขึ้นที่ต้นทาง (เช่น มีคนกดส่งฟอร์ม) ระบบต้นทางจะยิงข้อมูล (มักจะอยู่ในรูปแบบ JSON) ผ่าน HTTP POST ไปยัง URL (Endpoint) ที่เราตั้งค่าไว้เพื่อรับข้อมูลโดยทันที
| คุณสมบัติ | API Polling (การดึงข้อมูล) | Webhook (การผลักข้อมูล) |
| การไหลของข้อมูล | ปลายทางร้องขอ -> ต้นทางตอบกลับ | ต้นทางเกิดเหตุการณ์ -> ผลักไปหาปลายทาง |
| การใช้ทรัพยากร | สูง (เพราะต้องคอยส่งคำขอบ่อยๆ) | ต่ำ (ทำงานเฉพาะตอนมีข้อมูลใหม่) |
| ความรวดเร็ว | ล่าช้าตามรอบเวลาที่ตั้งไว้เช็คข้อมูล | เรียลไทม์ (Real-time) ทันทีที่เกิดเหตุการณ์ |
ตัวอย่างการนำ Webhook ไปประยุกต์ใช้ในการพัฒนาระบบ
ในการพัฒนาระบบบริหารจัดการภายในองค์กรหรือโรงเรียน Webhook คือกุญแจสำคัญที่เชื่อมต่อเครื่องมือต่างๆ เข้าด้วยกัน:
- ระบบแจ้งเตือนผ่าน Messaging App: เมื่อมีผู้ใช้งานลงทะเบียน หรือนักเรียนส่งงานผ่าน Google Forms ข้อมูลจะถูกบันทึกลง Google Sheets จากนั้น Google Apps Script จะใช้ Webhook ยิงข้อมูล (Push Notification) เพื่อแจ้งเตือนไปยัง LINE Official Account (LINE Messaging API) หรือ Telegram Bot ทันที ทำให้ครูหรือแอดมินทราบความเคลื่อนไหวโดยไม่ต้องเปิดหน้าจอทิ้งไว้
- ระบบลางานหรือขออนุญาต (E-Permission): เมื่อบุคลากรกรอกคำขอลางานผ่านระบบหลังบ้านที่เขียนด้วย PHP/MySQL ทันทีที่กดปุ่ม Submit ระบบต้นทางจะยิง Webhook นำข้อมูลสรุปไปแจ้งเตือนในไลน์กลุ่มผู้บริหาร เพื่อให้รับทราบหรือกดอนุมัติได้แบบทันท่วงที
- การเชื่อมต่อระบบภายนอก (Third-Party): เช่น เมื่อมีการรับชำระเงิน หรือการสแกนใบหน้าเช็คชื่อสำเร็จ Webhook จากระบบสแกนจะส่งข้อมูลสถานะกลับมาที่ฐานข้อมูลส่วนกลางเพื่ออัปเดตเวลาเข้าเรียนอัตโนมัติ
การเข้าใจสถาปัตยกรรมของ Webhook จะช่วยให้นักพัฒนาสามารถเชื่อมต่อระบบเก่าเข้ากับเทคโนโลยีใหม่ๆ ได้อย่างอิสระ ไม่จำกัดว่าจะเป็นการเชื่อมต่อระหว่าง Google Workspace, โซเชียลมีเดีย หรือเซิร์ฟเวอร์ส่วนตัว



