zalo-user-by-noti

n8n community node cho tài khoản Zalo cá nhân (API không chính thức qua zca-js): gửi tin nhắn, quản lý bạn bè/nhóm, đăng nhập QR, trigger sự kiện. Dùng có rủi ro khóa tài khoản.

Documentation

n8n-nodes-zalo-user-by-noti

Node cộng đồng cho n8n giúp điều khiển tài khoản Zalo cá nhân: gửi tin nhắn (kèm định dạng, ảnh, tệp), quản lý bạn bè & nhóm, đăng nhập bằng mã QR, và nhận sự kiện realtime.

✨ Tính năng

Package gồm 3 node:

Node Chức năng
Zalo Đăng Nhập QR Đăng nhập bằng cách quét mã QR, tự tạo credential trong n8n
Zalo User 144 thao tác trên 11 nhóm chức năng (bảng dưới)
Zalo User Trigger Nhận sự kiện realtime (tin nhắn, cảm xúc, thu hồi...)

Zalo User — 144 thao tác / 11 nhóm

Nhóm Các thao tác
Tin Nhắn Gửi văn bản, sticker, video, voice, danh thiếp, thẻ ngân hàng, link; chuyển tiếp, xóa, thu hồi, thả cảm xúc, tải tệp lên, sự kiện đã xem/đã nhận/đang gõ, phân tích link, báo cáo
Hội Thoại Lịch sử chat, lưu trữ, ẩn (+ mã PIN), ghim, tắt thông báo, đánh dấu chưa đọc, tự động xóa, xóa hội thoại
Bạn Bè Gửi/chấp nhận/từ chối/thu hồi lời mời kết bạn, danh sách bạn & bạn online, gợi ý kết bạn, bạn thân, biệt danh, chặn/bỏ chặn
Người Dùng Tìm theo SĐT/username, tra nhiều SĐT, thông tin người dùng, lần online cuối, QR hồ sơ
Nhóm Tạo/giải tán, thành viên, phó nhóm, chủ nhóm, avatar/tên, cài đặt, nâng cấp cộng đồng, duyệt thành viên, chặn thành viên, link mời & hộp mời
Bảng Nhóm Ghi chú, bình chọn (tạo/vote/khóa/chia sẻ), nhắc hẹn
Tài Khoản Hồ sơ, tiểu sử, avatar, cài đặt, ngôn ngữ, trạng thái hoạt động
Sticker Tìm kiếm, chi tiết sticker, chi tiết danh mục
Kinh Doanh Tài khoản business, catalog, sản phẩm, ảnh sản phẩm
Tự Động Hóa Trả lời tự động, tin nhắn nhanh, nhãn
Tiện Ích Lấy cookie phiên, lấy ID của mình, giữ kết nối

Zalo User Trigger — sự kiện realtime

Lắng nghe qua websocket: tin nhắn mới, cảm xúc, thu hồi, đang gõ, đã xem, đã nhận, sự kiện bạn bè, sự kiện nhóm. Lưu ý: mỗi tài khoản chỉ chạy được 1 listener — mở Zalo Web trên trình duyệt sẽ làm trigger ngắt kết nối.

Điểm nổi bật

  • 🔑 Đăng nhập QR + tự tạo credential — không cần thao tác thủ công với cookie.
  • ✍️ Định dạng chữ bằng thẻ — in đậm, đổi màu... bằng cú pháp <b>, <red>...
  • 🔗 Gửi ảnh/tệp bằng URL — dán link, node tự tải và gửi.
  • 📦 Kết quả trả về đầy đủ, không cắt bớt.
  • 🇻🇳 Giao diện tiếng Việt toàn bộ.

📦 Cài đặt

Trên n8n self-host: Settings → Community Nodes → Install → nhập:

n8n-nodes-zalo-user-by-noti

Package có runtime dependency (zca-js) nên không dùng được trên n8n Cloud, chỉ chạy trên bản self-host.

Yêu cầu: n8n chạy trên Node.js ≥ 18 (đã test Node 20+, n8n 1.x).


🔑 Đăng nhập bằng mã QR

Cách dễ nhất để lấy thông tin đăng nhập — dùng node Zalo Đăng Nhập QR:

  1. (Một lần) Vào Settings → n8n API trong n8n, tạo một API key. Sau đó thêm credential "n8n API" (Base URL thường là http://localhost:5678/api/v1, kèm API key).
  2. Kéo node Zalo Đăng Nhập QR vào workflow, chọn credential "n8n API" ở trên, rồi bấm Execute một lần → mã QR hiện ở tab Binary của ô kết quả.
  3. Mở Zalo trên điện thoại → Cá nhân → biểu tượng quét → quét mã QR.
  4. Bấm Execute lần nữa (giữ nguyên Mã Phiên) → node đăng nhập và tự tạo credential "Zalo User API" (tên dạng Tên Zalo dd/MM/yyyy). Chọn credential đó ở các node Zalo là dùng được ngay.

Muốn tự dán giá trị? Tắt "Tự Tạo Credential Trong N8n", node sẽ xuất ra cookie, imei, userAgent để bạn dán vào credential thủ công.


✍️ Định dạng chữ (in đậm, đổi màu)

Ở thao tác Gửi Tin Nhắn, bật "Định Dạng Chữ Bằng Thẻ" rồi bọc chữ bằng thẻ ngay trong ô Tin Nhắn:

Thẻ Hiệu ứng
<b>...</b> In đậm
<i> <u> <s> Nghiêng / gạch chân / gạch ngang
<red> <orange> <yellow> <green> Đổi màu chữ
<big> <small> Cỡ chữ to / nhỏ

Ví dụ: Xin <red>chào</red> <b>bạn</b> → gửi "Xin chào (đỏ) bạn (đậm)". Có thể lồng thẻ.

Lưu ý: Zalo không định dạng được chú thích ảnh — khi vừa định dạng vừa đính kèm tệp, node tự gửi 2 tin: tin chữ (đã định dạng) và tin tệp.


⚠️ Lưu ý khi sử dụng

  • API không chính thức — xem lại cảnh báo ở đầu trang.
  • Cookie gắn với một phiên — đăng xuất trình duyệt/đăng nhập nơi khác có thể làm cookie hết hạn.
  • Node đăng nhập một lần và cache phiên; tránh restart n8n liên tục với đăng nhập mới (dễ bị Zalo gắn cờ).
  • 1 listener / tài khoản cho node Trigger.
  • Dùng thao tác Tiện Ích → Lấy Cookie để lấy cookie mới nhất khi cần cập nhật credential.

🙏 Lời cảm ơn

Node này hoạt động được là nhờ thư viện mã nguồn mở tuyệt vời zca-js — toàn bộ khả năng tương tác với Zalo đến từ đây. Xin chân thành cảm ơn tác giả và cộng đồng đóng góp cho zca-js.

Node được đóng gói và phát hành bởi noti.vn.


🛠️ Phát triển & test bằng Docker

npm install
npm run build          # biên dịch + copy icon vào dist/
npm run lint
npm run validate       # kiểm tra cấu trúc 144 thao tác

# Test nhanh bằng n8n trên Docker Desktop
npm run docker:setup   # build + cài node vào ./n8n-custom
docker compose up -d    # chạy n8n kèm node
# mở http://localhost:5678

[!WARNING]

⚠️ Cảnh báo quan trọng — API KHÔNG chính thức

Node này dùng API Zalo không chính thức (mô phỏng Zalo Web qua zca-js). Việc sử dụng vi phạm điều khoản dịch vụ của Zalo và tài khoản của bạn có thể bị khóa hoặc ban vĩnh viễn.

  • Hãy dùng tài khoản phụ, không dùng tài khoản chính/quan trọng.
  • Giữ tần suất gửi thấp, tránh spam.
  • Tự chịu mọi rủi ro. Tác giả node và thư viện zca-js không chịu trách nhiệm cho bất kỳ thiệt hại nào.
  • Node này không liên kết với Zalo/VNG.

📄 Giấy phép

MIT © noti.vn

Discussion