Send a Webhook

Send a Webhook – Gửi Webhook từ Chat Flow

Tính năng Send a Webhook cho phép bạn truyền dữ liệu từ Chat Flow của ChatBox AI Muathemewpgiare đến một URL bên ngoài. Đây là cách để chatbot có thể:

  • Gửi dữ liệu sang CRM, ERP, Google Sheets API hoặc bất kỳ hệ thống backend nào

  • Lấy dữ liệu từ API bên thứ ba

  • Kiểm tra trạng thái đơn hàng, tính phí vận chuyển, kiểm tra tồn kho,…

  • Xử lý logic tùy chỉnh mà Chat Flow không hỗ trợ trực tiếp

Webhook là một trong những công cụ mạnh nhất để mở rộng khả năng của chatbot.


Bật Webhook trong Chat Flow

Để gửi webhook từ một action trong flow, làm theo các bước:

  1. Double-click vào action bạn muốn gửi webhook

  2. Chuyển đến mục Actions

  3. Bật tùy chọn:

    Send data to URL

  4. Khi bật thành công, phần cài đặt webhook sẽ xuất hiện để bạn cấu hình.


1. Webhook URL

Đây là URL mà dữ liệu sẽ được gửi đến. Lưu ý:

  • URL phải public, không yêu cầu đăng nhập

  • Server phải trả về HTTP 200 để được coi là hợp lệ

  • ChatBox chỉ chấp nhận JSON làm định dạng phản hồi

Ví dụ URL:

https://api.yourserver.com/submit-data

2. HTTP Method

Bạn có thể chọn:

  • POST – thường dùng khi gửi dữ liệu

  • GET – khi bạn muốn truy vấn đơn giản


3. Webhook Data – Nội dung gửi đi

Có 2 cách tạo JSON body:


Cách 1: Dùng Data Builder (giao diện đơn giản)

Thích hợp cho body đơn giản:

{
"key": "value",
"key2": "value 2"
}

Cách 2: Plain JSON (viết JSON thủ công)

Khi cần JSON phức tạp, dùng:

Enable Plain JSON → Edit JSON Data

Bạn có thể viết JSON với nested objects:

{
"action": "submit",
"user": {
"name": "{name}",
"email": "{email}"
}
}

Trong đó {name}{email}variables trong Chat Flow.

⚠️ Lưu ý: Bạn phải đảm bảo biến tồn tại và đã có giá trị trước khi request được gửi.


4. Sử dụng Variables trong Webhook

Bạn có thể dùng biến trong JSON body:

Ví dụ:

{
"action": "submit",
"name": "{name}",
"email": "{email}"
}

Chat Flow sẽ tự động thay thế {name} bằng giá trị thực tế mà người dùng đã nhập.


5. Webhook Headers

Bạn có thể thêm các headers tùy chỉnh:

  • Authorization

  • Content-Type

  • API keys

  • Token

Ví dụ:

Authorization: Bearer 123456
Content-Type: application/json

Nếu dùng Plain JSON, header Content-Type sẽ tự động là:
application/json; charset=UTF-8


6. Nhận và xử lý Webhook Response

Sau khi gửi request, webhook có thể trả về JSON. Chat Flow sẽ xử lý trước khi gửi message ra màn hình.

Ví dụ phản hồi:

{
"responseData": {
"content": "Hello John",
"object": {
"ts": 1738579649
}
},
"cache": true
}

Trong cùng action gửi webhook, bạn có thể dùng:

{webhook._response.data}

→ Truy cập toàn bộ JSON phản hồi

{webhook._response.status}

→ HTTP status code

Ví dụ, hiển thị “content”:

Your message: {webhook._response.data.responseData.content}

❗ Cú pháp này chỉ hoạt động trong cùng action đã gửi webhook.


7. Lưu Webhook Response vào Variable

Nếu bạn muốn dùng phản hồi ở các bước sau:

  1. Bật Save webhook response to variable

  2. Chọn biến lưu trữ

  3. Từ đó bạn có thể truy cập JSON bằng {yourVariableName}

Ví dụ:

{orderResponse.data.orderId}

Bạn có thể lưu toàn bộ JSON, rồi xử lý ở nhiều action khác nhau.


8. Xử lý lỗi Webhook – Request Failed

Webhook có thể thất bại vì:

  • URL không hợp lệ

  • Server lỗi

  • Timeout

  • JSON không đúng format

Bạn có thể xử lý lỗi bằng cách gắn flow vào cổng:

Request Failed

Các hành động nên dùng:

  • Thông báo lỗi cho người dùng

  • Thử lại sau vài giây

  • Gửi message: “Hệ thống đang quá tải, vui lòng thử lại.”

  • Chuyển sang phương án dự phòng (fallback)

Điều này giúp chatbot hoạt động ổn định và không bị gián đoạn.


Tóm tắt tính năng Send Webhook

Tính năngMô tả
Gửi dữ liệu đến serverTích hợp CRM, API, automation
Hỗ trợ GET & POSTLinh hoạt cho nhiều loại API
JSON bodyHỗ trợ builder & plain JSON
Hỗ trợ variablesTự động nhúng dữ liệu người dùng
Nhận responseTruy cập bằng {webhook._response}
Lưu vào biếnDùng lại JSON nhiều bước
Xử lý lỗiNhánh Request Failed

Was this article helpful?

Last updated 4 ngày ago

Danh sách hướng dẫn