Skip to content

Chatwoot ​

Chatwoot là nền tảng chăm sóc khách hàng mã nguồn mở, gom tin nhắn từ live chat trên website, email, Facebook, WhatsApp, Telegram... về một giao diện chung. FlashPanel cài Chatwoot thành một website độc lập trên máy chủ của bạn.

Yêu cầu ​

  • Máy chủ thuộc gói trả phí. Mục Chatwoot hiển thị biểu tượng khóa nếu máy chủ chưa nâng cấp.
  • Máy chủ đã cài web server (Nginx hoặc Apache). FlashPanel tự cài thêm PostgreSQL 16 và Redis nếu máy chủ chưa có.
  • Cấu hình tối thiểu: CPU 4 nhân và RAM 4 GB (nên dùng 8 nhân, 8 GB nếu lượng hội thoại lớn).
  • Một website mới dành riêng cho Chatwoot (ví dụ chat.domain.com). Mã nguồn hiện có của website sẽ bị ghi đè.
  • Một cổng còn trống để chạy Chatwoot. Cổng không được trùng với Proxy Port của website khác trên máy chủ và không được là 80, 443, 2022.

Cài đặt ​

  1. Tạo website mới rồi bấm vào tên website trong danh sách để mở trang quản lý.
  2. Bấm menu Cài đặt Mã nguồn, rồi bấm vào biểu tượng Chatwoot.
  3. Nhập Cổng mà Chatwoot sẽ chạy (mặc định là Proxy Port của website hoặc 3000).
  4. Đọc cảnh báo, đánh dấu ô Đúng, làm đi! rồi bấm Cài đặt Chatwoot.

Quá trình cài đặt mất khá nhiều thời gian. Theo dõi tiến trình ở menu Sự kiện của website. Khi cài xong, truy cập website và điền thông tin để tạo tài khoản quản trị viên.

TIP

Cài SSL cho website trước khi nhúng Chatwoot vào website khác, vì đoạn mã nhúng nên dùng địa chỉ https://.

Sử dụng ​

Thêm live chat vào website ​

  1. Trong Chatwoot, mở Settings > Inboxes rồi bấm nút thêm inbox mới.
  2. Chọn kênh Website, nhập thông tin rồi bấm Create Inbox.
  3. Chọn những người được phép trả lời trong inbox rồi bấm Add Agents.
  4. Chatwoot hiển thị đoạn mã nhúng (cũng xem được ở tab Configuration của inbox), có dạng:
html
<script>
  (function(d,t) {
    var BASE_URL="https://chat.domain.com";
    var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
    g.src=BASE_URL+"/packs/js/sdk.js";
    g.defer = true;
    g.async = true;
    s.parentNode.insertBefore(g,s);
    g.onload=function(){
      window.chatwootSDK.run({
        websiteToken: '*****',
        baseUrl: BASE_URL
      })
    }
  })(document,"script");
</script>
  1. Chèn đoạn mã vào website cần dùng live chat, thường đặt trước thẻ </body>.

Gửi thông tin người dùng đã đăng nhập ​

Mặc định, khách gửi tin nhắn hiển thị với tên ngẫu nhiên. Với website có người dùng đăng nhập, thêm đoạn sau (sau đoạn mã nhúng) để Chatwoot hiển thị tên, email... của người gửi:

html
<script>
window.addEventListener("chatwoot:ready", function () {
    window.$chatwoot.setUser("user-id", {
        name: "John Doe", // Tên người dùng
        email: "[email protected]", // Email người dùng
        avatar_url: "", // Ảnh đại diện
        phone_number: "", // Số điện thoại
        identifier_hash: "", // Mã xác thực, xem bên dưới
    });
});
</script>

Trường identifier_hash xác nhận user-id do máy chủ của bạn tạo ra, tránh bị giả mạo. Lấy HMAC token ở mục User Identity Validation trong tab Configuration của inbox, rồi tạo mã ở phía máy chủ, ví dụ với PHP:

php
hash_hmac('sha256', 'user-id', 'chatwoot-inbox-hmac-token');

Bật Enforce User Identity Validation trong cùng tab để Chatwoot từ chối các yêu cầu không xác thực được.

Nâng cấp Chatwoot ​

Khi có phiên bản mới, bảng Hành động ở đầu trang Trang chủ của website hiển thị nút upgrade (ghi chú Nâng cấp chatwoot lên phiên bản ổn định mới nhất kèm số phiên bản). Bấm nút này để nâng cấp.

Quản lý bằng dòng lệnh ​

Các thao tác khác (xem log, khởi động lại, mở Ruby console) thực hiện bằng công cụ dòng lệnh cwctl đi kèm. Kết nối SSH vào máy chủ với user root rồi chạy lệnh. Tên lệnh có dạng cwctl + ID website, ví dụ cwctl123456 với 123456 là ID hiển thị trong thẻ thông tin ở trang Trang chủ của website.

LệnhChức năng
cwctl123456 --restartKhởi động lại toàn bộ Chatwoot
cwctl123456 --logs webXem log của web server Chatwoot
cwctl123456 --logs workerXem log của worker xử lý tác vụ nền
cwctl123456 --consoleMở Ruby console của Chatwoot (dành cho thao tác nâng cao)
cwctl123456 --upgradeNâng cấp lên phiên bản ổn định mới nhất
cwctl123456 --helpXem tất cả tùy chọn

Bấm Ctrl + C để thoát khi đang xem log.

Gỡ cài đặt ​

  1. Bấm menu Trang chủ của website.
  2. Trong nhóm Khu vực nguy hiểm, bấm Xóa code.
  3. Đánh dấu Xóa cơ sở dữ liệu và Xóa người dùng cơ sở dữ liệu nếu muốn xóa luôn toàn bộ dữ liệu Chatwoot (hội thoại, liên hệ, tài khoản).
  4. Đánh dấu Khôi phục về trang mặc định? để xóa tệp Chatwoot và đưa website về trang mặc định.
  5. Đánh dấu Đúng, làm đi! rồi bấm Xóa code.

Chatwoot sẽ được dừng và gỡ khỏi danh sách dịch vụ chạy nền của máy chủ. PostgreSQL và Redis vẫn được giữ lại trên máy chủ.

Lưu ý ​

  • Khi cài Chatwoot, thư mục web của website được đặt thành /public và cấu hình Nginx của website được điều chỉnh tự động cho Chatwoot. Cấu hình này được hoàn tác khi gỡ cài đặt.
  • Lệnh cwctl cần quyền root. Nếu đăng nhập bằng user khác, hãy chuyển sang root trước khi chạy.