> For the complete documentation index, see [llms.txt](https://docs.verge.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.verge.io/automate-protect-and-extend/vi/tu-dong-hoa/webhooks.md).

# Webhook

Webhook cho phép nhắn tin theo cơ chế đẩy tới các hệ thống bên ngoài khi các sự kiện cụ thể xảy ra. Khi một sự kiện kích hoạt diễn ra, webhook sẽ gửi một yêu cầu HTTP (thường là POST) tới một URL được định sẵn. Cơ chế đẩy này hiệu quả hơn việc thăm dò định kỳ cho cả thông báo lẫn tự động hóa quy trình, vì hệ thống nhận không cần kiểm tra cập nhật theo chu kỳ.

## Ví dụ sử dụng Webhook

Webhook của VergeOS cho phép cấu hình linh hoạt cao cho giao tiếp dựa trên sự kiện với các hệ thống bên thứ ba, cung cấp nhiều cơ hội tinh gọn. Các ví dụ cơ bản sau đây minh họa cảnh báo và tự động hóa quy trình làm việc có thể thực hiện bằng webhooks:

* Gửi thông báo Slack tới kênh quản trị khi một tác vụ đồng bộ phát sinh lỗi
* Gửi đến hệ thống kế toán khi một tenant VergeOS hoạt động, kích hoạt tính phí tự động
* Kích hoạt một quy trình Zapier khi một VM cụ thể bật lên, khởi tạo các hành động xuyên ứng dụng (ví dụ: báo cáo, email, thông báo, v.v.)

## Các bước cấu hình

Để đưa webhook vào hoạt động, hãy làm theo các bước sau:

* [**Tạo một Webhook**](#create-a-webhook): xác định URL đích, phương thức xác thực và mọi header tùy chỉnh mà hệ thống bên ngoài yêu cầu
* [**Tạo một Tác vụ**](#create-a-task): xác định payload cần gửi
* [**Tạo một Sự kiện**](#create-an-event): chỉ định một sự kiện sẽ kích hoạt tác vụ

{% hint style="success" %}
**Thiết kế mô-đun**

Danh sách *Công cụ Tác vụ VergeOS* cho phép điều phối linh hoạt webhooks, tác vụ và sự kiện. Bạn có thể gán nhiều tác vụ hoặc sự kiện cho một webhook duy nhất, và một tác vụ duy nhất có thể được kích hoạt bởi nhiều sự kiện khác nhau. Kiến trúc ghép nối linh hoạt này hỗ trợ các quy trình làm việc có thể mở rộng, tái sử dụng, phù hợp với nhu cầu của hệ thống bạn.
{% endhint %}

## Tạo một Webhook

1. Đi tới **Hệ thống** > **Bảng điều khiển Tác vụ**.
2. Nhấp **Webhook mới** ở menu bên trái.
3. Cấu hình webhook:

* **Tên**: Cung cấp một tên mô tả cho webhook.
* **URL**: Nhập endpoint API do hệ thống đích cung cấp để nhận các yêu cầu HTTP POST.

{% hint style="success" %}
**Thông thường, bạn sẽ cần cấp cho hệ thống VergeOS của mình quyền truy cập rõ ràng vào endpoint này trên hệ thống đích**

**Loại ủy quyền**

* *Mã thông báo Bearer* - Chỉ nhập chuỗi bearer token (Không bao gồm từ "Bearer")
* *Khóa API* - Chỉ nhập chuỗi khóa API thô. (Không bao gồm bất kỳ tiền tố hay từ khóa nào)
* *Cơ bản* - Nhập tên người dùng và mật khẩu vào các trường nhập được cung cấp.
* *Không*

**Header**
{% endhint %}

Theo mặc định, một header được bao gồm để chỉ định payload *content-type: application/json*. Header này có thể được xóa hoặc chỉnh sửa khi cần, và có thể cấu hình thêm các header bổ sung theo yêu cầu hoặc được hệ thống đích hỗ trợ (ví dụ: thay đổi kiểu nội dung, định tuyến sự kiện, giới hạn tốc độ, mức ưu tiên, v.v.) - Để thay đổi thứ tự của các header tùy chỉnh: chọn ô kiểm của (các) header mong muốn và dùng các nút mũi tên Lên/Xuống - Dùng nút Dấu cộng để thêm header bổ sung - Nút bút chì chuyển đổi giữa việc nhập cặp khóa/giá trị header và nhập thủ công cú pháp đầy đủ của header

* **Cho phép chứng chỉ không an toàn**: Tùy chọn này nhằm hỗ trợ chứng chỉ tự ký cho môi trường kiểm thử/phát triển. **Việc sử dụng chứng chỉ không an toàn cho hệ thống và dữ liệu sản xuất (đặc biệt là các URL công khai) là rủi ro và không được khuyến nghị.**
* **Hết thời gian chờ**: Xác định số giây tối đa để chờ phản hồi từ hệ thống đích (phải từ 3 trở lên)
* **Thử lại**: Số lần thử lại khi không có phản hồi hoặc có lỗi trả về từ hệ thống đích

4. Nhấp **Gửi** để lưu webhook.

## Tạo một Tác vụ

1. Đi tới **Hệ thống** > **Bảng điều khiển Tác vụ**.
2. Nhấp **Tác vụ mới** ở menu bên trái.
3. Cấu hình tác vụ:
   * **Tên**: Cung cấp một tên mô tả cho tác vụ.
   * **Mô tả (tùy chọn)**: Có thể lưu trữ thêm thông tin cho tác vụ, ví dụ: mục đích, kết quả mong đợi, v.v.
   * **Xóa tác vụ sau khi chạy**: xác định một lần kích hoạt duy nhất; hệ thống sẽ tự động xóa tác vụ sau khi nó đã chạy một lần.
   * **Loại đối tượng**: *Webhook*
   * **Đối tượng:** Chọn webhook đã tạo ở bước trước.
   * **Hành động**: *Gửi*
   * **Tin nhắn**: Xác định payload sẽ gửi tới hệ thống bên ngoài. - Payload mặc định bao gồm một cặp khóa-giá trị cơ bản với chuỗi "Webhook" làm giá trị; xóa hoặc sửa đổi khi cần để tạo payload mong muốn.

{% hint style="success" %}
**Có thể sử dụng các biến trong payload của tin nhắn:**

* **${DATE}** - ngày/giờ hiện tại ở định dạng chuỗi đầy đủ, ví dụ: *Thu, 16 Oct 2025 11:38:07 EDT*
* **${TIMESTAMP}** - ngày/giờ hiện tại ở dạng giá trị số (thời gian epoch), ví dụ: *1760629087*
* **${RANDOM}** - số nguyên được tạo ngẫu nhiên
* **${NAME}** - tên của đối tượng VergeOS tương ứng
  {% endhint %}

4. Nhấp **Gửi** để lưu tác vụ.

## Tạo một Sự kiện

1. Đi tới **Hệ thống** > **Bảng điều khiển Tác vụ**.
2. Nhấp **Sự kiện mới** ở menu bên trái.
3. Cấu hình sự kiện:
   * **Kiểu**: Chọn khu vực tương ứng của hệ thống VergeOS nơi trình kích hoạt sẽ xảy ra.
   * **Sự kiện**: Danh sách sự kiện sẽ thay đổi tùy theo loại đã chọn ở trên. Chọn sự kiện mong muốn sẽ đóng vai trò là trình kích hoạt.
   * **Chọn một phiên bản đối tượng cụ thể hoặc thẻ** để kích hoạt sự kiện: (Một số loại đã chọn, chẳng hạn như *Cảnh báo* áp dụng ở mức chung và không cung cấp tùy chọn cho thẻ hoặc đối tượng cụ thể.)

     * Chọn một phiên bản cụ thể của loại đối tượng từ danh sách thả xuống (Ví dụ: "Users" là loại đã chọn - chọn một người dùng cụ thể từ *Người dùng* danh sách thả xuống; "Virtual Machines" là loại đã chọn - chọn một VM cụ thể từ *Máy ảo* danh sách thả xuống.)

     **HOẶC**

     * Bật **Dùng thẻ** và chọn một thẻ khả dụng từ danh sách thả xuống để dựa sự kiện trên các đối tượng có thẻ tương ứng đó. (Ví dụ: nếu "Virtual Machines" là loại đã chọn và "production" được chọn trong *Thẻ* danh sách thả xuống, trình kích hoạt sự kiện sẽ tương ứng với bất kỳ VM nào được gán thẻ "production".)
   * **Tác vụ**: Chọn tác vụ đã tạo ở bước trước.
4. Nhấp **Gửi** để lưu sự kiện.

***

**Tương thích phiên bản**: Chức năng này có sẵn trong VergeOS 26.0 trở lên.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.verge.io/automate-protect-and-extend/vi/tu-dong-hoa/webhooks.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
