Xác thực và đăng nhập Zalo trong n8n bằng QR Code

@Nguyễn Ngô Thượng//~6 phút đọc0
Chia sẻ:
Xác thực và đăng nhập Zalo trong n8n bằng QR Code

Tổng quan

n8n-nodes-zalo-nnt sử dụng QR Code Login thay vì Zalo API key. Đây là ưu điểm lớn vì:

  • Không cần đăng ký Zalo Developer Account
  • Không cần API key phức tạp
  • Hoạt động ngay lập tức sau khi scan QR
  • Tự động tạo credential trong n8n

Cách hoạt động

1. Bạn chạy ZaloLoginByQr node
   ↓
2. Node tạo QR code
   ↓
3. Bạn scan QR bằng Zalo app
   ↓
4. Zalo xác thực & trả về cookie
   ↓
5. Node tự động tạo credential "zaloApi" trong n8n
   ↓
6. Các node khác sử dụng credential này để gọi Zalo

Prerequisites

Trước khi bắt đầu, chuẩn bị:

  1. n8n instance đang chạy
  2. n8n-nodes-zalo-nnt đã cài đặt
  3. Điện thoại có app Zalo
  4. n8n API key (sẽ tạo ở bước tiếp theo)

Bước 1: Tạo n8n API Key

Node ZaloLoginByQr cần n8n API key để tự động tạo credential sau khi đăng nhập.

1.1. Mở Settings

  1. Vào n8n editor
  2. Click Settings (⚙️ góc trái)
  3. Chọn API

1.2. Tạo API Key

  1. Nhấn Create API Key
  2. Nhập label: Zalo Login (hoặc tùy ý)
  3. Click Create

1.3. Copy API Key & URL

Sau khi tạo, bạn sẽ thấy:

  • API Key: n8n_api_abc123xyz...
  • API Base URL: http://localhost:5678/api/v1
!

Quan trọng: Copy ngay API key! Bạn sẽ không thể xem lại sau này.


Bước 2: Tạo n8nApiZaloApi Credential

2.1. Tạo Credential mới

  1. Vào Credentials (menu trái)
  2. Nhấn Add Credential
  3. Tìm kiếm: n8nApiZaloApi
  4. Chọn n8n API for Zalo API

2.2. Điền thông tin

FieldGiá trịVí dụ
API KeyAPI key vừa tạon8n_api_abc123...
Base URLURL của n8n instancehttp://localhost:5678

2.3. Save Credential

  1. Nhấn Save
  2. Đặt tên: n8n API - Zalo Login (hoặc tùy ý)

Hoàn tất! Credential n8n API đã sẵn sàng.


Bước 3: Đăng nhập Zalo bằng QR Code

3.1. Tạo Workflow mới

  1. Tạo workflow mới
  2. Đặt tên: Zalo Login Setup

3.2. Thêm ZaloLoginByQr Node

  1. Click Add Node (hoặc nhấn Tab)
  2. Tìm kiếm: ZaloLoginByQr
  3. Drag vào canvas

3.3. Config Node

ParameterGiá trịMô tả
CredentialChọn n8n API - Zalo LoginCredential vừa tạo ở Bước 2
Credential NameZalo Main AccountTên cho credential Zalo (tùy ý)
Proxy(Optional)Để trống nếu không dùng proxy

3.4. Execute Node

  1. Nhấn Execute Node (hoặc Test step)
  2. Đợi 3-5 giây
  3. QR code sẽ xuất hiện trong Output panel

3.5. Scan QR Code

  1. Mở Zalo app trên điện thoại
  2. Vào Menu (3 gạch ngang) > QR Code > Scan QR
  3. Scan QR code từ n8n output

3.6. Xác nhận trên Zalo app

  1. Zalo sẽ hỏi: "Đăng nhập Zalo Web?"
  2. Nhấn Xác nhận

3.7. Đợi Credential được tạo

Sau khi xác nhận trên Zalo:

  1. Quay lại n8n
  2. Node sẽ output: ✅ Credential created successfully
  3. Một credential mới "Zalo Main Account" được tạo tự động

Hoàn tất! Bạn đã đăng nhập Zalo thành công.


Bước 4: Verify Credential

4.1. Kiểm tra Credential

  1. Vào Credentials (menu trái)
  2. Tìm credential: Zalo Main Account
  3. Click để xem

Bạn sẽ thấy:

FieldMô tả
cookieJSON array of cookies (auto-generated)
imeiDevice IMEI (auto-generated)
userAgentBrowser user agent
proxy(Optional)
!

Lưu ý: Không sửa thủ công các field này! Chúng được tạo tự động và cần chính xác.

4.2. Test Connection

Tạo workflow test đơn giản:

  1. Thêm node ZaloSendMessage
  2. Chọn credential: Zalo Main Account
  3. Gửi tin nhắn test cho chính bạn:
    {
      "message": "Test connection ✅",
      "toId": "YOUR_ZALO_ID"
    }
    
  4. Execute node

Kết quả: Nếu nhận được tin nhắn → Success! 🎉


Chi tiết Credentials

zaloApi Credential

Credential chính để các node Zalo sử dụng.

FieldTypeMô tảGenerated?
cookieJSON ArrayCookies từ Zalo Web session✅ Auto
imeiStringDevice IMEI (unique ID)✅ Auto
userAgentStringBrowser user agent✅ Auto
proxyStringProxy URL (http://host:port)❌ Manual
supportCodeStringSupport code (optional)❌ Manual
licenseKeyStringLicense key (future use)❌ Manual

n8nApiZaloApi Credential

Credential cho ZaloLoginByQr node để tự động tạo zaloApi credential.

FieldTypeMô tả
API KeyStringn8n API key
Base URLStringn8n instance URL

Re-authentication (Đăng nhập lại)

Cookie Zalo sẽ expire sau một thời gian (thường 30-60 ngày). Khi đó bạn cần đăng nhập lại.

Dấu hiệu cần đăng nhập lại

  • ❌ Nodes báo lỗi: Invalid cookie or session expired
  • ❌ Không thể gửi tin nhắn
  • ❌ Không nhận được events từ ZaloMessageTrigger

Cách đăng nhập lại

Option 1: Xóa & tạo mới (khuyến nghị)

  1. Xóa credential cũ: Credentials > Zalo Main Account > Delete
  2. Chạy lại workflow Zalo Login Setup
  3. Scan QR code mới

Option 2: Update credential

  1. Chạy lại ZaloLoginByQr node
  2. Scan QR code
  3. Node sẽ update credential hiện có (nếu tên trùng)

Security Best Practices

1. Sử dụng Tài khoản Riêng

!

Khuyến nghị: Tạo tài khoản Zalo riêng cho automation, không dùng tài khoản chính.

Lý do:

  • Tránh mất quyền truy cập tài khoản chính nếu bị block
  • Dễ quản lý & monitor
  • Tách biệt dữ liệu cá nhân

2. Bảo vệ Credentials

  • ✅ Không share credentials với người khác
  • ✅ Backup credentials an toàn
  • ✅ Sử dụng n8n credential encryption
  • ✅ Regenerate cookie định kỳ (monthly)

3. Monitor Login Sessions

Kiểm tra sessions trên Zalo app:

  1. Zalo app > Cài đặt > Tài khoản & Bảo mật > Quản lý thiết bị
  2. Xem sessions đang active
  3. Logout sessions không dùng

4. Proxy Support (Optional)

Nếu cần bảo mật cao hơn, sử dụng proxy:

{
  "proxy": "http://proxy.example.com:8080"
}

Hoặc SOCKS5:

{
  "proxy": "socks5://proxy.example.com:1080"
}

Troubleshooting

❌ QR Code không hiển thị

Nguyên nhân:

  • n8nApiZaloApi credential sai
  • n8n API key invalid
  • Network issues

Giải pháp:

  1. Kiểm tra lại n8n API key
  2. Verify Base URL (phải trùng với n8n instance)
  3. Check n8n logs: n8n start --log-level debug

❌ Scan QR nhưng không tạo credential

Nguyên nhân:

  • n8n API không có quyền tạo credential
  • Credential name trùng lặp

Giải pháp:

  1. Đổi Credential Name sang tên khác
  2. Xóa credential trùng tên (nếu có)
  3. Kiểm tra n8n API permissions

Nguyên nhân: Cookie đã hết hạn

Giải pháp: Xem phần Đăng nhập lại

❌ Lỗi: "Zalo account blocked"

Nguyên nhân: Zalo phát hiện hoạt động bất thường

Giải pháp:

  • Sử dụng tài khoản khác
  • Giảm tần suất requests (rate limiting)
  • Enable proxy

Tips

Pro Tips

  • Tạo nhiều credentials cho các tài khoản Zalo khác nhau
  • Đặt tên credentials có ý nghĩa: Zalo Marketing, Zalo Support, etc.
  • Backup credentials định kỳ (export từ n8n)
  • Monitor cookie expiration (30-60 ngày)

Bước tiếp theo

Sau khi đăng nhập thành công, bạn có thể bắt đầu sử dụng các nodes Zalo. Bài tiếp theo sẽ hướng dẫn chi tiết về ZaloSendMessage - node gửi tin nhắn đa năng.

Bài viết hữu ích?

Chia sẻ để nhiều người biết đến!

Chia sẻ:

>_ LLM-Friendly Copy

Copy as Markdown to use with ChatGPT, Claude, or other AI tools

1,364 words|7,931 characters

Bài viết liên quan

Khám phá thêm những bài viết cùng chủ đề với Xác thực và đăng nhập Zalo trong n8n bằng QR Code

Bài viết hữu ích? Hãy kết nối với Diginno!

Chúng tôi giúp doanh nghiệp SME ứng dụng AI và automation vào quy trình làm việc - từ tư vấn chiến lược đến triển khai thực tế.