Chuyển tới nội dung chính

Cấu hình widget

Phần lớn cài đặt của widget nằm trong dashboard và áp dụng cho mọi trang có đoạn mã. Một vài cài đặt có thể ghi đè theo từng trang bằng window.HATANG_CONFIG. Trang này liệt kê mọi cài đặt, giới hạn của chúng và cách widget dùng chúng.

Trước khi bắt đầu​

  • Bạn đã cài widget và tạo kênh website.
  • Vai trò của bạn có quyền chat:manage.

Cài đặt nằm ở đâu​

Vào Hỗ trợ → Kênh rồi chọn website. Trang site có ba tab:

TabNội dung
Cài đặtĐoạn mã, mọi mục trên trang này, mã bí mật định danh và xoá site.
Tự động hoáNhắc lại, thông báo social proof, đánh giá hài lòng (CSAT) và theo dõi chuyển đổi, cùng các luồng và chiến dịch đang chạy trên site.
Ứng dụngCác ứng dụng di động dùng cài đặt widget của site này. Xem Ứng dụng di động.

Khung Xem trước bên cạnh form chạy đúng widget thật và cập nhật theo các thay đổi chưa lưu. Chuyển giữa Đang mở, Nút chat, Ngoại tuyến, Form trước chat, và giữa Máy tính, Điện thoại.

Bấm Lưu cài đặt khi xong. Widget cập nhật trong vòng một phút.

Chung​

Cài đặtGiá trịGhi chú
Tên miềnMột host, ví dụ shop.vnWidget tải trên host này và các tên miền phụ.
Tiêu đề widgetVăn bảnHiện trên đầu widget. Đây cũng là tên site trong dashboard.
Origin được phép thêmMỗi dòng một originCho môi trường phát triển và bản preview, ví dụ http://localhost:3000. Phải khớp chính xác, kể cả scheme và cổng.
Trạng tháiĐang hoạt động, Đã tắt (ẩn widget)Tắt thì widget ẩn ở mọi nơi, lịch sử vẫn giữ.
MàuMã màu hex, mặc định #111111Màu nút chat, đầu khung và bong bóng tin của khách.
Vị tríGóc dưới phải (mặc định), Góc dưới tráiGhi đè được theo trang bằng position.
Giao diệnSáng (mặc định), Tối, Theo hệ thống của khách"Theo hệ thống của khách" đi theo chế độ sáng/tối của máy khách và đổi ngay khi máy đổi.

Nút mở chat​

Nút tròn ở góc màn hình.

Cài đặtGiá trịGhi chú
Biểu tượngBong bóng chat (mặc định), Tai nghe hỗ trợ, Dấu hỏi, Tin nhắn trònBiểu tượng có sẵn, theo màu của widget.
Chữ trên nút (tiếng Việt) / Chữ trên nút (tiếng Anh)Tối đa 24 ký tự mỗi ô; để trống là chỉ có biểu tượngBiến nút tròn thành nút dài như "Hỗ trợ". Thêm chữ nếu website có tính năng chat riêng, để khách không nhầm hai thứ.
Ảnh riêng (tuỳ chọn)URL https:// của ảnh vuông, tối đa 500 ký tựThay cho biểu tượng, ví dụ logo của bạn.

Khi khung chat đang đóng, nút chat có huy hiệu đỏ ghi số tin trả lời chưa đọc.

Kích thước khung và vị trí nút​

Cài đặtGiá trịGhi chú
Độ rộng khung chatHẹp (340px), Vừa (380px) (mặc định), Rộng (440px)Trên màn hình rộng từ 640px trở xuống, khung chat mở toàn màn hình.
Desktop: dưới / Desktop: cạnh0–400 px; trống là 20pxKhoảng cách từ nút chat tới góc.
Điện thoại: dưới / Điện thoại: cạnh0–400 px; trống là 16pxDùng cho màn hình rộng từ 640px trở xuống. Nếu để trống cả hai ô điện thoại nhưng có đặt giá trị desktop, điện thoại dùng giá trị desktop.

Widget tự cộng thêm vùng an toàn (safe area) của máy, ví dụ thanh home của iPhone, vào khoảng cách dưới. Nếu website có thanh điều hướng dưới cùng trên điện thoại, tăng Điện thoại: dưới để nút nằm trên thanh đó. offset và mobileOffset trong window.HATANG_CONFIG ghi đè từng giá trị này.

Đầu khung chat​

Cài đặtGiá trịGhi chú
Hiển thịẢnh nhân viên đang trực (mặc định), Ảnh nhân viên đang trực, không ai trực thì logo, Ảnh một nhân viên được chọn, Logo doanh nghiệpChế độ nhân viên hiện tối đa ba người đang trực. Lựa chọn thứ hai chuyển sang logo khi không ai trực. Ảnh một nhân viên được chọn luôn hiện người được chọn ở ô Nhân viên hiển thị, dù họ có trực hay không, và hiện logo nếu người đó rời doanh nghiệp. Chế độ logo hiện logo bên dưới, hoặc chữ cái đầu của tiêu đề widget. Mọi SDK đều hiển thị được: server tự quy về ảnh nhân viên hoặc logo.
Logo (URL https, ảnh vuông)URL https://, tối đa 500 ký tựDùng cho Logo doanh nghiệp, và làm ảnh dự phòng cho hai lựa chọn ở trên.
Dòng giới thiệu (Tiếng Việt) / Dòng giới thiệu (English)Tối đa 120 ký tự mỗi ôDòng dưới tiêu đề, ví dụ "Thường trả lời trong vài phút".

Dưới dòng giới thiệu, đầu khung hiện "Chúng tôi đang trực tuyến", hoặc "Hiện chúng tôi vắng mặt" kèm giờ quay lại khi có đặt giờ làm việc.

Tin nhắn​

Cài đặtGiá trịGhi chú
Ngôn ngữ mặc địnhTự động (theo trình duyệt) (mặc định), Tiếng Việt, EnglishXem Ngôn ngữ bên dưới.
Lời chào (vi) / Lời chào (en)Tối đa 300 ký tựBong bóng đầu tiên khách thấy trong khung chat trống.
Tin nhắn vắng mặt (vi) / Tin nhắn vắng mặt (en)Tối đa 300 ký tựThông báo trên đầu khung chat khi không ai trực.
Hiện lời chàoBật mặc địnhTắt để khung chat bắt đầu trống.
Hiện lời chào trên điện thoạiBật mặc địnhTắt để chỉ hiện lời chào trên máy tính.
Ký tên lời chàoKhông ký tên (mặc định), Nhân viên đang trựcKhi chọn nhân viên đang trực, tên người trực đầu tiên hiện dưới lời chào.
Bật lời chào lên trên nút chat sau0–120 giây; 0 = khôngHiện lời chào thành bong bóng phía trên nút chat đang đóng, một lần mỗi phiên trình duyệt, nếu khách chưa có hội thoại.

Ngôn ngữ​

Widget dùng tiếng Việt hoặc tiếng Anh, chọn theo thứ tự:

  1. Ngôn ngữ trang đã đặt trước đó bằng lệnh setLocale (trình duyệt ghi nhớ).
  2. locale trong window.HATANG_CONFIG.
  3. Ngôn ngữ mặc định trong dashboard, trừ khi là Tự động (theo trình duyệt).
  4. Ngôn ngữ trình duyệt: tiếng Việt nếu bắt đầu bằng vi, ngược lại là tiếng Anh.

Kênh liên hệ khác​

Các nút dưới đầu khung để khách liên hệ qua kênh khác.

Cài đặtGhi chú
Nút ZaloMở Zalo Official Account của bạn. Chỉ dùng được khi website đã kết nối Zalo OA; nếu chưa, mục này hiện chưa kết nối. Xem Zalo OA.
Nút MessengerMở Trang Facebook của bạn trong Messenger. Chỉ dùng được khi website đã kết nối Trang. Xem Messenger và Instagram.
Số điện thoại (nút gọi)Số điện thoại, ví dụ 0901 234 567 hoặc +84 901 234 567. Mở trình quay số.
Email (nút gửi email)Địa chỉ email. Mở ứng dụng thư của khách.

Form trước khi chat​

Hỏi thông tin trước tin nhắn đầu tiên của khách.

Cài đặtGiá trịGhi chú
Hỏi thông tin trước tin nhắn đầu tiênTắt mặc địnhBật form.
TênKhông hỏi, Không bắt buộc (mặc định), Bắt buộc
Số điện thoạiKhông hỏi, Không bắt buộc, Bắt buộc (mặc định)Số Việt Nam (bắt đầu bằng 0, 84 hoặc +84) phải là số di động 10 chữ số hợp lệ; số nước khác cần 8–15 chữ số.
EmailKhông hỏi (mặc định), Không bắt buộc, Bắt buộc

Form được bỏ qua với khách đã được nhận diện có chữ ký và khách đã điền trước đó trên trình duyệt này. Widget chỉ hỏi những trường chưa biết. Nếu không còn trường bắt buộc nào cần hỏi, form được bỏ qua. Thông tin khách điền được lưu vào khách truy cập và hồ sơ khách hàng.

Nơi hiện widget​

Cài đặtGiá trịGhi chú
Thiết bịMọi thiết bị (mặc định), Chỉ máy tính, Chỉ điện thoại"Điện thoại" là màn hình rộng từ 640px trở xuống.
Chỉ hiện trên URL chứaTối đa 20 dòng, mỗi dòng 200 ký tự; trống = mọi trangWidget hiện khi URL của trang chứa một trong các dòng.
Ẩn trên URL chứaTối đa 20 dòng, mỗi dòng 200 ký tựWidget ẩn khi URL của trang chứa một trong các dòng, ví dụ /checkout.
Phát âm thanh khi có tin nhắn mớiBật mặc địnhMột tiếng chuông ngắn khi có trả lời lúc khung chat đóng hoặc tab đang ẩn.
Nhấp nháy tiêu đề tab khi khách đang ở tab khácBật mặc địnhTiêu đề tab đổi qua lại với "(1) Tin nhắn mới" cho tới khi khách quay lại.

Việc so khớp là tìm chuỗi con trong toàn bộ URL, và widget kiểm tra lại khi ứng dụng một trang (SPA) đổi URL. Khung chat đang mở thì vẫn hiện.

Thời gian trực​

Cài đặtGiá trịGhi chú
Dùng giờ làm việcTắt mặc địnhKhông đặt giờ làm việc thì widget trực tuyến bất cứ khi nào có ít nhất một nhân viên trực tuyến.
Múi giờTên IANA, mặc định Asia/Ho_Chi_Minh
Ngày và giờMột khung giờ mỗi ngày, mặc định 09:00 đến 18:00Tích những ngày làm việc.
Ngày nghỉNgày dạng YYYY-MM-DD, cách nhau bằng dấu phẩy, tối đa 60Coi như nghỉ cả ngày.
Khi không ai trực tuyếnHỏi email của khách trước tin nhắn đầu tiên (mặc định), Hỏi, nhưng cho phép bỏ qua, Chỉ nhận tin nhắnCách widget xử lý khi khách nhắn lúc bạn ngoại tuyến.
Tự xử lý xong hội thoại không hoạt động sau0–365 ngày, mặc định 3; 0 = không bao giờÁp dụng cho mọi kênh của website này, trừ nhóm Zalo cá nhân. Khách nhắn lại thì hội thoại mở lại và được phân phối theo quy tắc hiện tại.
Ẩn hẳn bong bóng khi ngoại tuyếnTắt mặc địnhKhách đã có hội thoại vẫn thấy widget.
Gửi email bản ghi hội thoại cho khách khi xử lý xongTắt mặc địnhCần email của khách.
Cho phép widget trong iframe khác originTắt mặc địnhMặc định widget không chạy trong iframe khi trang cha có origin khác.
Báo tin nhắn ngoại tuyến mới tới các email nàyTối đa 20 địa chỉ, cách nhau bằng dấu phẩy
Gửi email chat từĐịa chỉ thuộc tên miền đã xác minh trong Email; trống = người gửi của nền tảngĐịa chỉ người gửi của các email chat gửi cho khách.

Widget xác định trực tuyến thế nào​

Widget hiện trực tuyến khi:

  • Trợ lý AI đang trả lời khách (chế độ "khi ngoại tuyến" hoặc "trả lời đầu tiên"), hoặc
  • đang trong giờ làm việc (hoặc không đặt giờ làm việc) và có ít nhất một nhân viên trực tuyến.

Ngoài ra là ngoại tuyến. Tin nhắn vắng mặt hiện trên đầu khung chat, đầu khung báo giờ quay lại, và khách chưa có email (hoặc chưa để lại số điện thoại ở form trước khi chat) được hỏi email theo mục Khi không ai trực tuyến. Với Hỏi, nhưng cho phép bỏ qua, khách bấm được Bỏ qua. Chế độ của trợ lý AI đặt cho cả doanh nghiệp ở Hỗ trợ → Trợ lý AI.

Tab Tự động hoá​

Tab Tự động hoá của site gồm:

  • Nhắc lại khi khách im lặng: câu cố định hoặc câu do AI viết, gửi khi tin nhắn cuối của đội không được trả lời.
  • Thông báo social proof: thông báo kiểu "Hùng N. vừa đặt Áo thun" cạnh nút chat, lấy từ đơn đã thanh toán 14 ngày qua hoặc danh sách tự nhập.
  • Đánh giá hài lòng (CSAT): chấm sao trong widget khi hội thoại được xử lý xong.
  • Theo dõi chuyển đổi: sự kiện bắt đầu chat, khách tiềm năng và mua hàng tới hệ thống phân tích của bạn. Xem JavaScript API.
  • Danh sách luồng và chiến dịch đang chạy trên site.

Các mục này được giải thích ở Tự động hoá.

Mã bí mật định danh và xoá site​

  • Mã bí mật định danh: để backend của bạn ký các lời gọi identify. Xem Nhận diện khách.
  • Xoá site: xoá vĩnh viễn site cùng hội thoại, khách truy cập, kênh mạng xã hội đã kết nối và app key. Muốn giữ lịch sử, chuyển Trạng thái sang Đã tắt (ẩn widget).

Ghi đè theo trang bằng window.HATANG_CONFIG​

Đặt window.HATANG_CONFIG trước thẻ script của widget để đổi một vài thứ trên một trang hoặc một phần website. Cài đặt trong dashboard vẫn áp dụng cho phần còn lại.

<script>
window.$hatang = window.$hatang || [];
window.HATANG_SITE_ID = "site_123...";
window.HATANG_CONFIG = {
position: "left",
locale: "vi",
hideLauncher: false,
offset: { bottom: 24, side: 24 },
mobileOffset: { bottom: 80, side: 16 }
};
</script>
<script src="https://chat.hatang.dev/widget.js" async></script>
KhoáKiểuTác dụng
position"left" hoặc "right"Ghi đè Vị trí.
locale"vi" hoặc "en"Ngôn ngữ ban đầu, trừ khi trang đã gọi setLocale trước đó. Ghi đè Ngôn ngữ mặc định.
hideLauncherbooleanẨn nút chat. Tự mở chat bằng lệnh open hoặc phần tử có data-hatang-open.
offset{ bottom?: number, side?: number }Khoảng cách từ nút chat tới góc, tính bằng px (giới hạn 0–400). Ghi đè từng giá trị Desktop: dưới / Desktop: cạnh.
mobileOffset{ bottom?: number, side?: number }Như trên, cho màn hình rộng từ 640px trở xuống. Ghi đè Điện thoại: dưới / Điện thoại: cạnh. Không có thì điện thoại dùng offset.

Cấu hình này chỉ được đọc một lần khi widget khởi động. Muốn đổi sau đó, dùng JavaScript API (setLocale, hide, show).

ghi chú

Với @hatang/chat-react, truyền cùng object này vào prop config của <HatangChat />. Với plugin WordPress, mục Position và Language trong cài đặt plugin tự ghi position và locale.

Bước tiếp theo​

  • JavaScript API: lệnh và sự kiện cho nút và hệ thống phân tích của bạn.
  • Nhận diện khách: bỏ qua form trước khi chat với người dùng đã đăng nhập và nối lịch sử của họ.
  • Tự động hoá: nhắc lại, chiến dịch và quy tắc phân phối.

Xem trang này dạng Markdown