npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

n8n-nodes-tran-minh-long-zalo

v1.1.9

Published

Bo node Zalo tieng Viet cho n8n: trigger, gui tin nhan, anh, video, mention, nhom, nguoi dung va health check.

Readme

n8n-nodes-tran-minh-long-zalo

Bộ community node Zalo tiếng Việt cho n8n, dùng Zalo Web session qua cookie, IMEI và userAgent. Package này được tối ưu cho workflow báo cáo công trình, gửi tin nhắn kèm nhiều ảnh, video, mention từng người và mention @All.

Cài đặt

Trong n8n, vào Settings → Community nodes → Install và nhập:

n8n-nodes-tran-minh-long-zalo

Sau khi cài xong, tạo credential Zalo API Credentials gồm:

  • cookie: cookie JSON lấy từ Zalo Web.
  • imei: IMEI của phiên Zalo Web.
  • userAgent: userAgent cùng phiên đăng nhập.
  • proxy: tùy chọn, chỉ dùng khi hạ tầng của bạn cần proxy.

Node có trong package

  • Zalo Message Trigger: lắng nghe tin nhắn cá nhân/nhóm, chuẩn hóa text, ảnh, sender, group, event id để dùng trong workflow.
  • Zalo Send Message: gửi text, ảnh, video, text kèm ảnh, mention từng người, mention @All, ảnh URL, ảnh binary, base64 và local path.
  • Zalo Health Check: kiểm tra session còn đăng nhập được không, cảnh báo cookie hết hạn hoặc sắp hết hạn.
  • Zalo Login Via QR Code: tạo QR để refresh credential khi Zalo bắt đăng nhập lại.
  • Zalo Group: lấy thông tin nhóm, tìm group id.
  • Zalo User: lấy thông tin user, tìm UID để mention hoặc gửi tin nhắn cá nhân.

Tính năng chính

  • Gửi nhiều ảnh không giới hạn tổng số ảnh. Node tự chia batch theo Image Batch Size và nghỉ giữa batch theo Image Batch Delay MS.
  • Hỗ trợ ảnh từ URL, chuỗi URL ngăn bởi dấu |, mỗi URL một dòng, fixed collection, JSON array, binary n8n, base64 data URL và local file path.
  • Tự tải ảnh Zalo photo-stal-*.zdn.vn bằng cookie/userAgent trong credential, kèm header Referer phù hợp để giảm lỗi 403 khi gửi lại ảnh lấy từ Zalo.
  • Không bao giờ gọi Zalo với file path null. Nếu ảnh lỗi, node trả mã lỗi rõ như ZALO_IMAGE_DOWNLOAD_FAILED, ZALO_IMAGE_UNSUPPORTED_MIME, ZALO_IMAGE_PATH_INVALID.
  • Khi workflow bật Continue On Fail, output vẫn có success=false, error_code, error_details, cookie_status để dễ debug execution.
  • Mention hỗ trợ:
    • UID đơn.
    • Danh sách UID.
    • JSON object có uid, name, label, pos, len.
    • all, @all, -1 để mention @All.
    • Tự thêm label @Tên hoặc @All vào nội dung nếu thiếu, giúp Zalo nhận đúng poslen.
  • Gửi video bằng URL public, kèm thumbnail URL và duration nếu có.

Ví dụ gửi báo cáo kèm ảnh

Message:

Kính gửi: @All @Quản lý 1 @Quản lý 2

BÁO CÁO NGÀY: 01/01/2026
...
Em xin gửi hình ảnh đính kèm theo tin này.

Image URLs có thể là:

https://example.com/images/site-photo-01.jpg
https://example.com/images/site-photo-02.jpg

Hoặc truyền từ JSON:

{
  "imageUrls": [
    "https://example.com/images/site-photo-01.jpg",
    "https://example.com/images/site-photo-02.jpg"
  ],
  "zaloMentions": [
    { "uid": "-1", "name": "All" },
    { "uid": "1000000000000000001", "name": "Quản lý 1" },
    { "uid": "1000000000000000002", "name": "Quản lý 2" }
  ]
}

Lưu ý vận hành

Package dùng API Zalo Web không chính thức thông qua zca-js. Nếu Zalo bắt CAPTCHA, xác minh bảo mật, đăng nhập lại hoặc chặn session trùng, bạn vẫn cần quét QR để refresh credential. Node sẽ báo lỗi rõ ràng thay vì âm thầm bỏ qua.

Không commit cookie, IMEI, userAgent hoặc npm token vào git. Hãy lưu credential trong n8n hoặc secret manager của hạ tầng.

Cập nhật 1.1.8

  • Zalo Send Message có thêm tuỳ chọn Skip Failed Images, mặc định bật.
  • Khi gửi nhiều ảnh, nếu một số URL Zalo hết hạn, bị 404, 403 hoặc không đọc được, node vẫn gửi các ảnh hợp lệ còn lại.
  • Output trả thêm skipped_image_countskipped_images để xem ảnh nào bị bỏ qua.
  • Nếu tất cả ảnh được yêu cầu đều lỗi, node trả ZALO_IMAGE_ALL_FAILED để workflow giữ dữ liệu retry thay vì gửi thiếu toàn bộ ảnh.
  • Mentions được sắp xếp theo pos tăng dần trước khi gửi sang Zalo. Điều này giúp @All hoạt động ổn định hơn khi workflow truyền danh sách mention không đúng thứ tự.