เอกสารประกอบสำหรับ node ตอบสนองต่อ Webhook ใน n8n ซึ่งเป็นแพลตฟอร์มอัตโนมัติของ workflow รวมถึงคำแนะนำในการใช้งาน และลิงก์ไปยังตัวอย่าง
ใช้ node ตอบสนองต่อ Webhook เพื่อควบคุมการตอบสนองต่อ Webhook ที่เข้ามา node นี้ทำงานร่วมกับ Webhook node
รันหนึ่งครั้งสำหรับรายการข้อมูลแรก (Runs once for the first data item)
node ตอบสนองต่อ Webhook ทำงานหนึ่งครั้ง โดยใช้รายการข้อมูลขาเข้ารายการแรก อ้างถึง ส่งคืนรายการข้อมูลมากกว่าหนึ่งรายการ สำหรับข้อมูลเพิ่มเติม
วิธีใช้การตอบสนองต่อ Webhook
หากต้องการใช้ node ตอบสนองต่อ Webhook ให้ทำดังนี้
- เพิ่มก Webhook node เป็น trigger node สำหรับ workflow
- ใน node Webhook ให้ตั้งค่า Respond ถึง การใช้ node 'ตอบสนองต่อ Webhook' (Using 'Respond to Webhook' node).
- เพิ่ม node ตอบสนองต่อ Webhook ที่ใดก็ได้ใน workflow ของคุณ หากคุณต้องการให้ส่งคืนข้อมูลจาก node อื่น ให้วางไว้หลัง node เหล่านั้น
parameter node
กำหนดค่าลักษณะการทำงานของ node โดยใช้ parameter เหล่านี้
Respond With
เลือกข้อมูลที่จะส่งในการตอบกลับ webhook
- All Incoming Items : ตอบกลับด้วยรายการ JSON ทั้งหมดจาก input
- Binary File : ตอบกลับด้วยไฟล์ไบนารี่ที่กำหนดไว้ Response Data Source.
- First Incoming Item : ตอบกลับด้วย JSON ของรายการที่เข้ามารายการแรก
- JSON : ตอบสนองด้วยวัตถุ JSON ที่กำหนดไว้ใน Response Body.
- JWT Token : ตอบกลับด้วย JSON Web Token (JWT)
- No Data : ไม่มี payload การตอบกลับ
- Redirect : เปลี่ยนเส้นทางไปยัง URL ที่ตั้งไว้ Redirect URL.
- Text : ตอบกลับด้วยข้อความที่ตั้งไว้ Response Body . สิ่งนี้จะส่ง HTML ตามค่าเริ่มต้น (
Content-Type: text/html).
ตัวเลือก node
เลือก Add Option เพื่อดูและตั้งค่าตัวเลือก
- Response Code : ตั้งค่า รหัสตอบกลับ ที่จะใช้
- Response Headers : กำหนดส่วนหัวการตอบกลับที่จะส่ง
- Put Response in Field : ใช้ได้เมื่อคุณตอบกลับด้วย All Incoming Items หรือ First Incoming Item . ตั้งชื่อฟิลด์สำหรับฟิลด์ที่มีข้อมูลการตอบกลับ
- Enable Streaming : เมื่อเปิดใช้งาน จะส่งข้อมูลกลับไปยังผู้ใช้โดยใช้การสตรีม ต้องมี trigger ที่กำหนดค่าด้วย โหมดตอบสนอง (Response mode) Streaming.
n8n รักษาความปลอดภัยการตอบสนอง HTML อย่างไร
ความพร้อมใช้งานของคุณสมบัติ (Feature availability)
การห่อคำตอบ HTML อัตโนมัติสำหรับ webhooks <iframe> แท็กถูกนำมาใช้ใน n8n 1.103.0
เริ่มต้นด้วย n8n 1.103.0, n8n จะล้อมการตอบสนอง HTML ไปยัง webhooks โดยอัตโนมัติ <iframe> แท็ก นี่คือกลไกการรักษาความปลอดภัยเพื่อปกป้องผู้ใช้อินสแตนซ์
สิ่งนี้มีผลกระทบดังต่อไปนี้:
- HTML แสดงผลใน iframe แบบแซนด์บ็อกซ์แทนที่จะแสดงผลโดยตรงในเอกสารหลัก
- รหัส JavaScript ที่พยายามเข้าถึงหน้าต่างระดับบนสุดหรือที่เก็บข้อมูลในเครื่องจะล้มเหลว
- ส่วนหัวการตรวจสอบสิทธิ์ไม่พร้อมใช้งานใน iframe แบบแซนด์บ็อกซ์ (เช่น การตรวจสอบสิทธิ์พื้นฐาน) คุณต้องใช้วิธีการอื่น เช่น การฝัง token การเข้าถึงที่มีอายุสั้นภายใน HTML
- URL ที่เกี่ยวข้อง (เช่น
<form action="/">) จะไม่ทำงาน ใช้ URL ที่สมบูรณ์แทน
เทมเพลตและตัวอย่าง
เรียกดูเทมเพลตการตอบสนองต่อเทมเพลตการรวม Webhook หรือ ค้นหาเทมเพลตทั้งหมด
พฤติกรรม workflow
เมื่อใช้ node ตอบสนองต่อ Webhook workflow จะทำงานดังนี้:
- workflow เสร็จสิ้นโดยไม่ต้องดำเนินการ node ตอบสนองต่อ Webhook โดยจะส่งคืนข้อความมาตรฐานที่มีสถานะ 200
- ข้อผิดพลาดของ workflow ก่อนที่ node ตอบสนองต่อ Webhook แรกจะดำเนินการ: workflow ส่งคืนข้อความแสดงข้อผิดพลาดที่มีสถานะ 500
- node ตอบสนองต่อ Webhook ครั้งที่สองจะดำเนินการหลังจาก node แรก: workflow จะละเว้น
- node ตอบสนองต่อ Webhook ดำเนินการ แต่ไม่มี webhook: workflow จะละเว้น node ตอบสนองต่อ Webhook
เอาท์พุตการตอบกลับที่ส่งไปยัง webhook
ตามค่าเริ่มต้น node ตอบสนองต่อ Webhook มีสาขา output เดี่ยวที่มีข้อมูล input ของ node
คุณสามารถเลือกเปิดใช้งานสาขา output ที่สองซึ่งมีการตอบกลับที่ส่งไปยัง webhook ได้ หากต้องการเปิดใช้งาน output รองนี้ ให้เปิด node ตอบสนองต่อ Webhook บนแคนวาสแล้วเลือก Settings แท็บ เปิดใช้งาน Enable Response Output Branch ตัวเลือก
ตอนนี้ node จะมี output สองรายการ:
- Input Data : output ดั้งเดิมผ่าน input ของ node
- Response : object ตอบกลับที่ส่งไปยัง webhook
ส่งคืนรายการข้อมูลมากกว่าหนึ่งรายการ (เลิกใช้แล้ว)
ความพร้อมใช้งานของคุณสมบัติ (Feature availability)
การส่งคืนรายการข้อมูลมากกว่าหนึ่งรายการผ่านทางวิธีแก้ปัญหาในส่วนนี้เลิกใช้แล้วจาก n8n 1.22.0 ในเวอร์ชันที่ใหม่กว่า n8n ได้เพิ่มการสนับสนุนสำหรับการส่งคืนรายการข้อมูลทั้งหมดโดยใช้ All Incoming Items ตัวเลือก
node ตอบสนองต่อ Webhook ทำงานหนึ่งครั้ง โดยใช้รายการข้อมูลขาเข้ารายการแรก รวมถึงเมื่อใช้ด้วย การแสดงออก . คุณไม่สามารถบังคับให้วนซ้ำโดยใช้ node วนซ้ำได้: workflow จะทำงาน แต่การตอบสนองของ webhook จะยังคงมีเฉพาะผลลัพธ์ของการดำเนินการครั้งแรกเท่านั้น
หากคุณต้องการส่งคืนรายการข้อมูลมากกว่าหนึ่งรายการ ให้เลือกหนึ่งในตัวเลือกเหล่านี้:
- แทนที่จะใช้ node ตอบสนองต่อ Webhook ให้ใช้ When Last Node Finishes ตัวเลือกใน Respond ใน node Webhook ใช้สิ่งนี้เมื่อคุณต้องการส่งคืนข้อมูลสุดท้ายที่ workflow ส่งออก
- ใช้ Aggregate node เพื่อเปลี่ยนหลายรายการให้เป็นรายการเดียวก่อนที่จะส่งข้อมูลไปยัง node ตอบสนองต่อ Webhook ชุด Aggregate ถึง All Item Data (Into a Single List).

