Webhook คือข้อความที่แอปหนึ่งส่งให้อีกแอปทันทีที่มีเหตุการณ์เกิดขึ้น ดูว่า webhook ทำงานอย่างไร ตรวจสอบอย่างไร และ sona.to ส่งอะไรบ้าง
Webhook คือข้อความที่แอปหนึ่งส่งไปยังอีกแอปทันทีที่มีเหตุการณ์เกิดขึ้น แอปที่สองจึงไม่ต้องคอยถามซ้ำๆ คุณให้ที่อยู่หนึ่งกับแอปแรก แล้วแอปนั้นจะส่งรายละเอียดของแต่ละเหตุการณ์ไปที่นั่นทันทีที่เกิดขึ้น คู่มือนี้อธิบายว่า webhook ทำงานอย่างไร วิธีเช็กว่า webhook เป็นของจริง และ sona.to ส่งอะไรบ้าง ซึ่งสรุปไว้ในหน้า Webhooksด้วย
Webhook คืออะไร?
แอปส่วนใหญ่แลกเปลี่ยนข้อมูลกันได้สองแบบ ถ้าใช้ API ระบบของคุณจะเป็นฝ่ายถามว่า "โพสต์เผยแพร่แล้วหรือยัง" และถ้าคำตอบคือยัง ก็ต้องถามใหม่ทีหลัง ถ้าใช้ webhook แอปจะเป็นฝ่ายบอกคุณ เมื่อโพสต์เผยแพร่แล้ว แอปจะส่งคำขอไปยังที่อยู่ที่คุณเลือก พร้อมรายละเอียดของโพสต์
Webhook จึงเป็นคำขอ HTTP ซึ่งมักเป็น POST ที่มีเนื้อหาเป็น JSON ส่งไปยัง URL ที่คุณควบคุม URL นั้นอาจเป็นเซิร์ฟเวอร์ของคุณเอง หรือที่อยู่ webhook ที่ได้จาก n8n, Zapier, Make, Slack หรือบริการอื่นที่เริ่มเวิร์กโฟลว์เมื่อคำขอมาถึง
Webhook ต่างจาก API อย่างไร
API มีไว้ถามและเปลี่ยนแปลง เช่น ดึงรายการโพสต์ สร้างโพสต์ อ่านตัวเลข ส่วน webhook มีไว้รับแจ้ง การเชื่อมต่อส่วนใหญ่ใช้ทั้งสองอย่าง ใช้ API สร้างโพสต์ และใช้ webhook เพื่อรู้ว่าโพสต์เผยแพร่แล้วหรือล้มเหลว การถาม API ซ้ำไปเรื่อยๆ เปลืองคำขอและยังรู้ช้าอยู่ดี ขณะที่ webhook มาถึงทันทีที่เหตุการณ์เกิดขึ้น
วิธีตรวจสอบ webhook
ใครก็ตามที่รู้ที่อยู่ webhook ของคุณอาจส่งคำขอปลอมมาได้ webhook ที่ทำมาดีจึงมีลายเซ็น ฝั่งผู้ส่งคำนวณลายเซ็นจากเนื้อหาและรหัสลับที่ใช้ร่วมกัน โดยปกติใช้ HMAC SHA-256 แล้วใส่ไว้ในเฮดเดอร์ ฝั่งคุณคำนวณลายเซ็นแบบเดียวกันด้วยรหัสลับเดียวกัน แล้วเทียบทั้งสองค่าด้วยการเปรียบเทียบแบบใช้เวลาคงที่ ถ้าไม่ตรงกัน คำขอนั้นจะถูกเพิกเฉย
การใส่เวลาประทับไว้ในข้อมูลที่ลงลายเซ็นยังป้องกันการส่งซ้ำได้ด้วย คำขอที่ถูกดักไว้ครั้งหนึ่งจะส่งใหม่ทีหลังไม่ได้ เพราะเวลาประทับเก่าเกินไป
Webhook ใน sona.to
sona.to ส่ง webhook สำหรับสี่เหตุการณ์ คือ โพสต์เผยแพร่แล้ว โพสต์ล้มเหลว การตรวจเว็บไซต์เสร็จสิ้น และการตรวจเว็บไซต์ล้มเหลว คุณเลือกได้ว่า webhook แต่ละตัวจะรับเหตุการณ์ไหน ตัวแจ้งเตือนในแชตจึงฟังเฉพาะความล้มเหลวได้ ขณะที่ชีตรายงานรับทุกอย่าง ข้อมูลที่ส่งมาใช้ชื่อฟิลด์เดียวกับ API ของ sona.to
การตั้งค่า ในหน้า API ของแดชบอร์ด วางที่อยู่ ติ๊กเหตุการณ์ แล้วบันทึก รหัสลับสำหรับลงลายเซ็นจะแสดงแค่ครั้งเดียวในตอนนั้น ให้คัดลอกเก็บไว้ทันที
ลายเซ็น การส่งทุกครั้งมีเฮดเดอร์ที่มีเวลาประทับและค่า HMAC SHA-256 ของเวลาประทับกับเนื้อหา ซึ่งสร้างด้วยรหัสลับของคุณ ให้ปฏิเสธคำขอที่มีเวลาประทับเก่าเกินกว่าสองสามนาที
การส่งซ้ำ ถ้าที่อยู่ของคุณล่มหรือตอบกลับเป็นข้อผิดพลาด ระบบจะลองส่งใหม่หลัง 60 วินาที 5 นาที และ 30 นาที ทุกครั้งที่ลองจะถูกบันทึกพร้อมรหัสสถานะและระยะเวลา ที่อยู่ที่ล้มเหลวต่อเนื่องจะถูกปิด และคุณเปิดกลับได้เมื่อแก้ไขแล้ว
ความปลอดภัย ที่อยู่ต้องใช้ https และชี้ไปยังเซิร์ฟเวอร์สาธารณะ ที่อยู่บนเครือข่ายส่วนตัวจะถูกปฏิเสธตอนบันทึกและตอนส่งอีกครั้ง และระบบจะไม่ทำตามการเปลี่ยนเส้นทาง
Webhook กับ n8n, Zapier และ Make
แอป sona.to สำหรับ n8n, Zapier และ Make มีทริกเกอร์สำเร็จรูปสำหรับสี่เหตุการณ์เดียวกันนี้ คุณจึงไม่ต้องวางที่อยู่เอง แค่เพิ่มทริกเกอร์ แล้วแอปจะตั้งค่า webhook ให้ ดูระบบโซเชียลมีเดียอัตโนมัติด้วย n8n, Zapier และ Make
รายละเอียดทั้งหมด พร้อมตัวอย่างการตรวจลายเซ็น อยู่ในเอกสาร API
คำถามที่พบบ่อย
Webhook กับ API เหมือนกันไหม?
ไม่เหมือน API ตอบเมื่อคุณถาม ส่วน webhook ส่งข้อความมาหาคุณเมื่อมีเหตุการณ์เกิดขึ้น
Webhook ของ sona.to ใช้ฟรีไหม?
Webhook รวมอยู่ในทุกแพ็กเกจ พร้อมกับ API
ถ้าเซิร์ฟเวอร์ของฉันล่มจะเกิดอะไรขึ้น?
sona.to จะลองส่งใหม่สามครั้งในเวลาประมาณครึ่งชั่วโมง ถ้ายังส่งไม่สำเร็จต่อเนื่อง webhook จะถูกปิดจนกว่าคุณจะเปิดกลับ
พร้อมลองใช้แล้วหรือยัง?
เริ่มต้นใช้งานฟรี ไม่ต้องใช้บัตรเครดิต