---
title: "Kết nối một Zalo OA"
description: "Nối một Official Account của Zalo vào workspace: khai app, dán webhook, cấp quyền để lấy cặp token, và biết trước cửa sổ thời gian được phép gửi."
updated: "2026-08-28"
audience: [administrator]
source: "https://helpdesk-docs.svr1.feedapp.click/kenh/ket-noi-zalo"
---

Zalo cần nhiều bước hơn các kênh khác vì hai đầu phải khớp nhau: ứng dụng trên
developers.zalo.me và kênh trong console. Trang này đi theo đúng thứ tự đó.

## Mục tiêu [#mục-tiêu]

Một kênh Zalo có cặp token còn hiệu lực, nhận được tin khách nhắn cho OA và gửi
trả lời ra được.

## Trước khi bắt đầu [#trước-khi-bắt-đầu]

* Tài khoản của bạn phải được ghi trên kênh; [Vai trò và quyền theo tính năng](/khai-niem/vai-tro-va-quyen) nói ai có quyền đó.
* Một ứng dụng của bạn trên developers.zalo.me, là trang của bên thứ ba, cùng **App ID** và **App Secret Key** của nó.
* **OA Secret Key** của Official Account, lấy trong phần cài đặt OA, ngay cạnh ô Webhook URL.
* Người đang giữ quyền admin của OA, vì bước cấp quyền do họ bấm.

## Các bước [#các-bước]

1. Ở cột trái bấm **Kênh**, bấm **Thêm Kênh**, rồi chọn ô **Zalo OA**.
2. Điền **Tên kênh**, **App ID** và **App Secret Key**. Không cần nhập
   **ID Official Account**: hệ thống đọc giá trị đó từ token sau khi kết nối.

   ![Bước Hồ sơ cốt lõi của kênh Zalo OA với ô Tên kênh, ô App ID, ô App Secret Key và hai dòng ghi chú nhỏ bên dưới](https://helpdesk-docs.svr1.feedapp.click/images/docs/kenh/ket-noi-zalo/02-thong-tin-ung-dung-zalo.vi.webp)

   *Bước hai hỏi hai giá trị của ứng dụng, không hỏi thông tin của OA.*
3. Bấm **Tạo tiện ích**. Màn &#x2A;*Thành công!** hiện **URL Webhook**; bấm
   **Sao chép**.
4. Dán URL đó vào phần Webhook của ứng dụng trên developers.zalo.me, rồi bật các
   sự kiện tin nhắn bạn muốn nhận.
5. Quay lại danh sách **Kênh**, mở kênh vừa tạo và chọn tab
   **Cấu hình Zalo OA**.
6. Điền **OA Secret Key** rồi bấm **Lưu cài đặt**. Đây là khoá Zalo dùng để ký mọi
   sự kiện webhook, khác với **App Secret Key** ở trên.
7. Ở mục **Access token**, bấm **Tạo code challenge**. Khai **Callback URL** và
   **Code challenge** vừa hiện vào trang cài đặt ứng dụng.
8. Gửi đường dẫn cấp quyền do Zalo sinh ra cho admin của OA. Họ bấm cho phép thì
   Zalo chuyển hướng về console và cặp token được lưu tự động.
9. Đường thứ hai, khi bạn quản trị cả ứng dụng lẫn OA: lấy refresh token trong API
   Explorer, dán vào ô **Refresh token** ở **Cách 2** rồi bấm **Kết nối**.

> **Lưu ý:** Access token của Zalo sống **25 giờ** và được làm mới tự động trước khi hết
> hạn. Refresh token dùng một lần, xoay vòng sau mỗi lần làm mới, và hết hạn
> sau **ba tháng**. Một OA nào không hoạt động quá ba tháng thì cặp token chết
> hẳn và bạn phải cấp quyền lại từ bước bảy.

> **Cảnh báo:** Zalo giới hạn **cửa sổ thời gian được phép gửi**. Tin tư vấn chỉ gửi được
> trong bảy ngày kể từ lần khách tương tác gần nhất với OA, và không gửi được
> cho người chưa từng tương tác. Ngoài cửa sổ đó, một hội thoại cũ trong hàng
> đợi vẫn mở nhưng nhân viên không trả lời ra ngoài được.

## Kiểm chứng [#kiểm-chứng]

Ở tab **Cấu hình Zalo OA**, thẻ trạng thái dưới **Access token** phải đọc
**Còn hiệu lực**, kèm dòng **Hết hạn** với thời điểm cụ thể. Ô
**ID Official Account** cũng đã tự điền.

Nhắn một câu cho OA từ ứng dụng Zalo. Câu đó phải hiện trong hàng đợi
**Trò chuyện**, và câu trả lời bạn gửi từ console phải về được máy khách.

## Sự cố thường gặp [#sự-cố-thường-gặp]

| Hiện tượng                                              | Nguyên nhân                                                    | Cách xử lý                                                       |
| ------------------------------------------------------- | -------------------------------------------------------------- | ---------------------------------------------------------------- |
| Thẻ trạng thái là **Lỗi**, kèm một câu của Zalo         | Refresh token đã hỏng hoặc đã bị dùng ở nơi khác               | Lấy refresh token mới rồi bấm **Kết nối**                        |
| Thẻ là **Chưa kết nối** dù đã cấp quyền                 | Cấp quyền chưa hoàn tất, hoặc callback trỏ sai chỗ             | Kiểm tra **Callback URL** trên trang ứng dụng, rồi cấp quyền lại |
| Khách nhắn mà hàng đợi không có gì                      | Thiếu **OA Secret Key**, nên sự kiện đến bị loại vì sai chữ ký | Điền khoá đó rồi bấm **Lưu cài đặt**                             |
| Cấp quyền thất bại ngay sau khi tạo challenge mới       | Trang ứng dụng vẫn giữ challenge cũ                            | Khai lại giá trị mới trên developers.zalo.me                     |
| Gửi hỏng: người dùng không tương tác trong bảy ngày qua | Cửa sổ gửi đã đóng                                             | Chờ khách nhắn lại; không có cách mở lại từ console              |
| Gửi hỏng: người dùng chưa quan tâm Official Account     | Khách chưa theo dõi OA                                         | Mời khách quan tâm OA rồi nhắn lại                               |
| Gửi hỏng trong khoảng 22 giờ đến 6 giờ sáng             | Zalo chặn loại tin đó theo khung giờ                           | Gửi lại sau 6 giờ sáng                                           |

## Tiếp theo [#tiếp-theo]

* [Theo dõi và khắc phục kênh mất kết nối](/kenh/suc-khoe-ket-noi)
* [Kết nối một bot Telegram](/kenh/ket-noi-telegram)
* [Hộp thư chung và kênh kết nối](/khai-niem/inbox-va-kenh)
