Đăng nhập portal bằng Zalo

Thông tin bài hướng dẫn

Đối tượng: Portal Admin (cấu hình), Khách hàng (sử dụng)
Thời gian: 2-5 phút (cấu hình), dưới 1 phút (đăng nhập)
Kết quả: Nút đăng nhập Zalo xuất hiện trên portal, khách đăng nhập bằng tài khoản Zalo mà không cần password

Khi nào dùng tính năng này

Khách hàng của công ty thường không nhớ mật khẩu portal — đặc biệt nếu họ chỉ đăng nhập vài lần mỗi tháng để xem đơn hàng hoặc hóa đơn. Mỗi lần quên mật khẩu là một lần khách phải chờ email đặt lại, và đội chăm sóc khách hàng nhận thêm một ticket không cần thiết.

Ví dụ xuyên suốt hướng dẫn này: Chị Phạm Thị Mai — một khách hàng mỗi tháng đăng nhập portal hai ba lần để xem hóa đơn — nhấn Đăng nhập bằng Zalo, xác nhận trên ứng dụng Zalo, và vào được portal trong chưa đầy 30 giây. Chị không còn phải nhớ mật khẩu portal hay chờ email đặt lại mật khẩu — bớt cho đội hỗ trợ một ticket đặt lại mật khẩu cho mỗi lần đăng nhập như vậy.

Tính năng Đăng nhập bằng Zalo giải quyết vấn đề này: khách nhấn một nút, xác nhận trên ứng dụng Zalo đang cài sẵn trên điện thoại, và vào thẳng portal. Không cần nhớ mật khẩu. Không cần tạo tài khoản mới.

Tính năng này phù hợp khi:

  • Công ty đã dùng Zalo OA để chăm sóc khách hàng (khách đã từng nhắn tin qua Zalo OA).

  • Đội ngũ muốn giảm ticket "quên mật khẩu portal" từ bộ phận hỗ trợ.

  • Khách hàng chủ yếu dùng điện thoại để xem đơn hàng, hóa đơn, theo dõi vận đơn.

Điều kiện trước khi bắt đầu

Phải đủ cả ba điều kiện — thiếu một thì nút sẽ không xuất hiện:

  1. Module ``viin_zalo`` đã cài, OA đang ở trạng thái Connected — xem Cấu hình Zalo OA.

  2. OA có đủ App ID và App Secret (kiểm tra trong bản ghi OA).

  3. Module ``viin_zalo_auth_oauth`` đã cài đặt.

Cấu hình đăng nhập Zalo cho portal

(Portal Admin)

Sau khi 3 điều kiện trên đã sẵn sàng, toàn bộ việc kích hoạt chỉ cần 1 bước:

Ghi chú

Nếu công ty vận hành nhiều OA (ví dụ: OA bán hàng và OA hỗ trợ riêng biệt), chỉ được chọn 1 OA cho portal đăng nhập. Nên chọn OA mà khách hàng thường xuyên nhắn tin — vì hệ thống dùng lịch sử nhắn tin để tự nhận diện khách khi họ đăng nhập lần đầu.

Vào Zalo ‣ Cấu hình ‣ Cài đặt, tìm trường Tài khoản OA trong phần cài đặt Zalo.

Cài đặt Zalo — phần Xác thực OAuth Zalo với trường Tài khoản OA để chọn OA cho portal đăng nhập

Chọn đúng OA đang kết nối với company hiện tại, sau đó nhấn Save.

Sau khi lưu, hệ thống tự tạo kết nối xác thực nội bộ cho company — admin không cần cấu hình thêm gì.

Checkpoint — Kiểm tra nút Zalo trên portal

Mẹo

Dấu hiệu cấu hình thành công:

  • Nút "Đăng nhập bằng Zalo" xuất hiện trên trang đăng nhập portal, cạnh ô nhập email/password.

  • Nhấn nút → trình duyệt chuyển sang màn hình xác thực của Zalo (không bị báo lỗi, không bị điều hướng vòng lại portal).

  • Sau khi khách đồng ý trên Zalo → portal tự đăng nhập, không yêu cầu nhập password.

Trang đăng nhập portal với nút "Đăng nhập bằng Zalo" hiển thị cạnh ô Email và Password

Để kiểm tra nhanh: mở cửa sổ ẩn danh trình duyệt, truy cập địa chỉ portal của công ty, kiểm tra nút Zalo có hiển thị không.

Nếu nút không xuất hiện, xem phần Nút "Đăng nhập bằng Zalo" không xuất hiện bên dưới.

Luồng khách đăng nhập lần đầu

(Khách hàng)

  1. Khách mở trang đăng nhập portal trên trình duyệt điện thoại hoặc máy tính.

  2. Khách thấy nút "Đăng nhập bằng Zalo" với biểu tượng Zalo, nhấn vào nút đó.

  3. Trình duyệt chuyển sang trang xác thực của Zalo. Nếu khách đã đăng nhập Zalo trên trình duyệt, trang hiển thị yêu cầu xác nhận quyền truy cập thông tin hồ sơ. Nếu chưa, khách cần nhập số điện thoại Zalo trước.

  4. Khách nhấn "Đồng ý" trên màn hình xác nhận của Zalo.

  5. Zalo chuyển khách trở lại portal. Portal tự nhận diện và đăng nhập vào đúng tài khoản.

  6. Khách vào portal — thấy ngay danh sách đơn hàng, hóa đơn, và các thông tin liên quan mà không cần nhập password.

Ghi chú

Màn hình xác nhận ở bước 3-4 do Zalo hiển thị (không phải Viindoo). Trên đó khách thấy tên ứng dụng, danh sách thông tin hồ sơ mà ứng dụng xin truy cập (tên hiển thị, ảnh đại diện) và hai nút Đồng ý / Từ chối. Nếu khách chưa đăng nhập Zalo trên trình duyệt, Zalo yêu cầu nhập số điện thoại và mã xác thực trước khi tới màn hình này.

Toàn bộ quá trình từ bước 2 đến bước 6 thường dưới 30 giây nếu khách đã đăng nhập sẵn trên Zalo.

Ghi chú

Nếu đăng nhập xong mà không thấy đơn hàng, hóa đơn cũ — xem Khách đăng nhập xong nhưng không thấy dữ liệu cũ bên dưới.

Lỗi thường gặp và cách xử lý

Nút "Đăng nhập bằng Zalo" không xuất hiện

Triệu chứng: Trang đăng nhập portal chỉ hiện ô nhập email/password, không có nút Zalo.

Nguyên nhân thường gặp:

  1. Module viin_zalo_auth_oauth chưa được cài đặt.

  2. Trường Tài khoản OA trong Zalo ‣ Cấu hình ‣ Cài đặt chưa được chọn, hoặc chưa nhấn Lưu.

  3. OA được chọn chưa ở trạng thái Đã kết nối (thiếu App ID hoặc App Secret).

  4. Đang kiểm tra trên company sai (môi trường multi-company).

Cách xử lý:

  1. Vào Apps, tìm "Zalo OAuth", và xác nhận module Zalo OAuth for Portal (viin_zalo_auth_oauth) hiển thị Installed.

  2. Vào Zalo ‣ Cấu hình ‣ Cài đặt, kiểm tra trường Tài khoản OA đã chọn OA chưa. Nếu chưa, chọn OA và nhấn Lưu.

  3. Mở bản ghi OA vừa chọn, kiểm tra trạng thái là Đã kết nối. Nếu chưa, thực hiện xác thực theo Cấu hình Zalo OA.

  4. Nếu đang dùng multi-company, đảm bảo đang thao tác đúng company và OA thuộc company đó.

Lỗi xác thực khi chuyển từ Zalo về portal

Triệu chứng: Khách nhấn "Đồng ý" trên Zalo nhưng bị trả về trang lỗi thay vì vào được portal. Trình duyệt có thể hiển thị thông báo "invalid state", "redirect mismatch", hoặc lỗi trắng không rõ nội dung.

Nguyên nhân thường gặp:

  1. Địa chỉ chuyển tiếp khai báo trong Viindoo chưa khớp với địa chỉ đã đăng ký tại Zalo OA Console.

  2. App Secret của OA đã bị đổi trên Zalo nhưng chưa cập nhật lại trong Viindoo.

Cách xử lý:

  1. Vào Zalo ‣ Cấu hình ‣ Cài đặt, mở bản ghi OA đang dùng cho portal.

  2. Tìm trường OAuth Callback URL, copy toàn bộ địa chỉ này.

  3. Đăng nhập Zalo OA Console → mở App tương ứng → mục Redirect URI → đảm bảo địa chỉ vừa copy có trong danh sách. Nếu chưa, thêm vào và lưu lại.

  4. Nếu App Secret đã bị đổi: cập nhật trường App Secret trong bản ghi OA → nhấn Save → thực hiện lại xác thực kết nối.

Màn hình Zalo OA Console nơi cập nhật Official Account Callback Url để đồng bộ callback với cấu hình trong Viindoo

Cảnh báo

Địa chỉ chuyển tiếp phải khớp chính xác từng ký tự — kể cả http:// hay https://, có dấu / ở cuối hay không. Sai 1 ký tự là Zalo từ chối toàn bộ luồng xác thực.

Khách đăng nhập xong nhưng không thấy dữ liệu cũ

Triệu chứng: Khách đăng nhập thành công bằng Zalo nhưng vào tài khoản trống — không thấy đơn hàng, hóa đơn, hay thông tin đã có trước đó.

Nguyên nhân thường gặp: Tài khoản Zalo của khách chưa được liên kết với hồ sơ khách hàng có sẵn trong Viindoo — hệ thống tạo hồ sơ mới thay vì khớp với hồ sơ cũ.

Cách xử lý (Portal Admin):

  1. Xử lý theo hướng dẫn tại Quản lý liên kết đối tác Zalo.

  2. Sau khi xử lý xong, khách đăng xuất và đăng nhập lại bằng Zalo — lần này hệ thống sẽ nhận diện đúng và vào tài khoản cũ.

Với các khách hàng mới chưa nhắn tin qua Zalo OA, Admin nên xử lý ngay sau lần đăng nhập đầu tiên — thay vì đợi khách báo lỗi.