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

### ภาพรวม

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

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

สิ่งนี้มีประโยชน์อย่างยิ่งสำหรับการทำงานอัตโนมัติที่ขึ้นอยู่กับเหตุการณ์ภายนอก เช่น เมื่อมีการสั่งซื้อ, การชำระเงินได้รับการยืนยัน หรือมีการอัปเดตทิกเก็ตซัพพอร์ต

***

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

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

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

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

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

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

***

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

นี่คือตัวอย่างวิธีที่คุณอาจใช้ทริกเกอร์นี้:

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

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

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

***

### เคล็ดลับ

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


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://help.zaapi.com/th/flow-builder/trigger-nodes/webhook.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
