> For the complete documentation index, see [llms.txt](https://help.zaapi.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.zaapi.com/th/flow-builder/trigger-nodes/webhooks.md).

# จัดการ Webhooks ขาเข้า

### ภาพรวม

การ **จัดการ Webhook ขาเข้า** ทริกเกอร์นี้ช่วยให้เริ่ม Flow ได้เมื่อมีการส่งข้อมูลมายัง Zaapi จากระบบภายนอก เช่น แพลตฟอร์ม eCommerce, CRM หรือเครื่องมือของบุคคลที่สามใดๆ

เมื่อระบบภายนอกส่ง **คำขอ POST** ไปยัง URL webhook ของ Flow, Zaapi จะรับข้อมูลนั้น นำมาใช้เป็นตัวแปรภายใน Flow และดำเนินขั้นตอนถัดไปต่อโดยอัตโนมัติ (เช่น การส่งข้อความหรือค้นหาติดต่อ)

เหมาะอย่างยิ่งสำหรับการทำเวิร์กโฟลว์อัตโนมัติที่อาศัยเหตุการณ์จากภายนอก เช่น เมื่อมีการสั่งซื้อ การชำระเงินได้รับการยืนยัน หรือมีการอัปเดตทิกเก็ตฝ่ายสนับสนุน

***

### วิธีการทำงาน

1. **URL Webhook**\
   ทุก Flow ที่ใช้ทริกเกอร์นี้จะมี URL webhook เฉพาะของตัวเอง\
   ตัวอย่าง:

   ```
   https://webhooks.zaapi.co/triggers/g8Yvbr0paWV9Fi5lWbEQ
   ```

   สามารถส่ง **คำขอ POST** มายัง URL นี้จากระบบภายนอกได้
2. **ข้อมูลตัวอย่าง**\
   สามารถกำหนด payload JSON ตัวอย่างเพื่อระบุว่าควรดึงตัวแปรใดบ้าง\
   ตัวอย่าง:

   ```json
   {
     "customer_name": "Jane Doe",
     "phone_number": "+66912345678",
     "order_number": "ORD12345",
     "total_amount": 2500
   }
   ```

   เมื่อบันทึกแล้ว ฟิลด์เหล่านี้จะแสดงเป็น **ตัวแปร** ที่สามารถอ้างอิงได้ในขั้นตอนถัดไปของ Flow
3. **การจับคู่ตัวแปร**\
   หลังจากกำหนด JSON ตัวอย่างแล้ว Zaapi จะตรวจจับชื่อตัวแปร (keys) โดยอัตโนมัติ และเปิดให้ใช้งานในเวิร์กโฟลว์\
   ตัวอย่างการใช้งาน:
   * `{{customer_name}}`
   * `{{order_number}}`
   * `{{total_amount}}`
4. **โหนด Search ติดต่อ**\
   Zaapi ยังมี **ค้นหาติดต่อ** โหนดที่ช่วยค้นหาลูกค้าที่มีอยู่ในบัญชีจากข้อมูล webhook ขาเข้า (เช่น อีเมลหรือหมายเลขโทรศัพท์)\
   ช่วยเชื่อมเหตุการณ์ภายนอก (เช่น คำสั่งซื้อใหม่) ไปยังลูกค้าที่ถูกต้องใน Zaapi ได้โดยอัตโนมัติ

***

### กรณีใช้งานตัวอย่าง: ส่งข้อความ WhatsApp หลังมีการสั่งซื้อ

ตัวอย่างการใช้งานทริกเกอร์นี้:

1. **ในแพลตฟอร์ม eCommerce**ให้ตั้งค่า webhook เพื่อส่งข้อมูลคำสั่งซื้อไปยัง Zaapi ทุกครั้งที่มีการสั่งซื้อใหม่\
   payload อาจมีลักษณะดังนี้:

   ```json
   {
     "customer_name": "Jane Doe",
     "phone_number": "+66912345678",
     "order_number": "ORD12345",
     "total_amount": 2500
   }
   ```
2. **ใน Flow Builder ของ Zaapi:**
   * เพิ่ม **ได้รับ Webhook** ทริกเกอร์
   * วาง JSON payload ตัวอย่างด้านบนเพื่อกำหนดค่าตัวแปร
   * เพิ่ม **ค้นหาติดต่อ** โหนดเพื่อค้นหาลูกค้าใน Zaapi จาก `phone_number`.
   * จากนั้นเพิ่ม **ส่งข้อความ WhatsApp** โหนด แล้วเลือกข้อความเทมเพลต WhatsApp\
     สามารถปรับแต่งข้อความโดยใช้ตัวแปร เช่น:

     ```
     สวัสดี {{customer_name}} ขอบคุณสำหรับคำสั่งซื้อ 🎉  
     หมายเลขคำสั่งซื้อคือ {{order_number}} ยอดรวม {{total_amount}} THB.  
     จะมีการแจ้งอัปเดตเมื่อจัดส่งแล้ว!
     ```
3. **ทดสอบและเผยแพร่ Flow**\
   ทุกครั้งที่ร้านค้าส่ง order webhook, Zaapi จะทริกเกอร์ Flow นี้โดยอัตโนมัติ และส่งข้อความที่ปรับแต่งแล้วไปยังลูกค้าที่ถูกต้อง

***

### เคล็ดลับ

* ตรวจสอบให้แน่ใจว่า URL webhook ถูกเก็บไว้แบบ **ส่วนตัว** — ใครก็ตามที่มีลิงก์สามารถส่งข้อมูลไปยัง Flow นี้ได้
* สามารถ **ทดสอบ** webhook ได้โดยส่งคำขอ POST จากเครื่องมืออย่าง Postman หรือ cURL
* ควรใช้ข้อมูลตัวอย่างที่เรียบง่ายและสะท้อน payload จริง เพื่อให้การจับคู่ตัวแปรทำงานได้ถูกต้อง
* สามารถเชื่อมขั้นตอนเพิ่มเติมต่อจากการรับ webhook ได้ เช่น อัปเดตระเบียน CRM เพิ่มแท็กให้ติดต่อ หรือแจ้งเจ้าหน้าที่ฝ่ายสนับสนุน
