> For the complete documentation index, see [llms.txt](https://help.acheckin.vn/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.acheckin.vn/mo-rong/webhook.md).

# Webhook - Đồng bộ ACheckin với hệ thống quản lý có sẵn của Doanh nghiệp

## Webhook là gì?

Hiện nay, webhook là khái niệm rất phổ biến ở các hệ thống cho phép đồng bộ dữ liệu liên tục thông qua các hệ thống mà không cần mất công gọi qua gọi lại các API để lấy dữ liệu.

Nhận thấy các doanh nghiệp có nhu cầu cao về việc sử dụng webhook cho việc đồng bộ dữ liệu sang hệ thống của mình khi sử dụng ACheckin. Chính vì vậy, hệ thống ACheckin mở chức năng webhook cho phép các doanh nghiệp đấu nối thông qua việc cấu hình trực tiếp trên CMS vận hành Workspace.

## Mô tả luồng hoạt động của Webhook ACheckin

![](https://lh5.googleusercontent.com/GfeuVIlKP9twe4etRmdqlLNr-we8WcpAgNY2dD4VXk2hQrlTyZxvcfdkMhzymrXMZJEJ3_c2AGgdXSVsOf3s4naJSl16340PNz-kJThFf4zfwzcxfYhP6wJaPDDXoVrHl-xFlZ3T)

## Bật cấu hình Webhook trên CMS ACheckin

{% hint style="info" %}
Vị trí: CMS -> Nhà phát triển -> Webhook -> Chọn Thêm
{% endhint %}

![HÌnh 1: Danh sách Webhook](/files/-MYOeQSlmCpgMUWdhDww)

### Thêm Webhook

![Hình 2: Thêm Webhook](/files/-MYOenqS05tB2NDu_E2S)

* Tên Webhook (bắt buộc): đặt tên webhook&#x20;
* API URL (bắt buộc): địa chỉ API mà hệ thống ACheckin sẽ gọi tới sau khi cấu hình xong
* API Key: chìa khóa mã nguồn để xác thực giữa hệ thống của doanh nghiệp và hệ thống ACheckin
* Permissions:  danh sách các trường dữ liệu sẽ đẩy sang hệ thống doanh nghiệp. Nếu không chọn thì khi truyền sang sẽ là Không xác định
* Triggers: Action mà doanh nghiệp muốn đẩy dữ liệu sang

Chọn "**Đồng ý**" để lưu Webhook

### Sửa/Xóa Webhook

![Hình 3](/files/-MYOksA1qqX7mABiOxEU)

* Chọn button như hình 4 để sửa thông tin Webhook

![Hình 4](/files/-MYOl-VpVcpbR4dhPuGN)

* Chọn button như hình 5 để xóa Webhook đã lưu

![HÌnh 5](/files/-MYOlTxhVVYSP9_kMHK_)

## Mô tả API Webhook

### Webhook Checkin

* **Phương thức: POST**
* **Timeout: 5s**
* **Header**

| **Tham số**        | **Bắt buộc** | **Mô tả**                                                                                                                                                               | **Kiểu dữ liệu** |
| ------------------ | ------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------- |
| **X-API-KEY**      | **không**    | **Là trường API Key khi tạo webhook. Nếu doanh nghiệp có cấu hình API Key thì khi truyền dữ liệu sang vui lòng check API Key trùng trước khi xử lý các bước tiếp theo** | **String**       |
| **X-WEBHOOK-TYPE** | **Có**       | **Kiểu webhook: CHECKIN hoặc JOIN\_EVENT (sự kiện)**                                                                                                                    | **String**       |

* **Tham Số**

| **Tham số**              | **Bắt buộc** | **Mô tả**                                                               | **Kiểu dữ liệu** |
| ------------------------ | ------------ | ----------------------------------------------------------------------- | ---------------- |
| **user\_id**             | **có**       | **Id của nhân viên trong hệ thống ACheckin**                            | **string**       |
| **sex**                  | **có**       | **Giới tính của nhân viên. MALE hoặc FEMALE**                           | **string**       |
| **phone\_number**        | **không**    | **Số điện thoại của nhân viên**                                         | **string**       |
| **email**                | **không**    | **Email của nhân viên**                                                 | **string**       |
| **company\_id**          | **không**    | **Id công ty của nhân viên trong hệ thống ACheckin**                    | **string**       |
| **office\_location**     | **không**    | **Vị trí văn phòng của nhân viên**                                      | **string**       |
| **workspace\_id**        | **có**       | **Id của workspace trong hệ thống ACheckin**                            | **string**       |
| **machine\_id**          | **không**    | **Id của máy checkin khi nhân viên checkin**                            | **string**       |
| **name**                 | **có**       | **Tên nhân viên**                                                       | **string**       |
| **avatar**               | **có**       | **Ảnh đại diện của nhân viên**                                          | **string**       |
| **checkin\_timestamp**   | **có**       | **Thời gian checkin của nhân viên. Dạng: time unix millisecond**        | **number**       |
| **working\_group**       | **không**    |                                                                         | **object**       |
| **working\_group.begin** | **không**    | **Thời gian bắt đầu ca. Chỉ đẩy sang khi lần đầu checkin. Dạng: HHmm**  | **number**       |
| **working\_group.end**   | **không**    | **Thời gian kết thúc ca. Chỉ đẩy sang khi lần đầu checkin. Dạng: HHmm** | **number**       |
