Hướng dẫn tích hợp chăm sóc khách hàng đa kênh với Salesmartly

Hướng dẫn chi tiết cách tích hợp và sử dụng API chăm sóc khách hàng đa kênh trên Salesmartly để tối ưu trải nghiệm khách hàng.

1. Giới thiệu

Sau khi chèn mã (ssq là biến toàn cục), bạn có thể thực hiện các thay đổi tin nhắn và gọi cửa sổ trò chuyện bằng các phương thức sau.

2. API

2.1. Thiết lập thông tin đăng nhập

Bạn có thể thiết lập thông tin người dùng sau khi đăng nhập, và tương ứng, bạn có thể xem thông tin đã thiết lập trong hệ thống chăm sóc khách hàng.

ssq.push('setLoginInfo', {
  user_id: 'b58e64cfxs2ym', // Bắt buộc, mã người dùng đã mã hóa
  user_name: 'test_yy', // Bắt buộc, Tên người dùng
  language: 'ru-RU', // Ngôn ngữ plugin
  phone: '861592014xxxx', // Số điện thoại phải được điền đầy đủ bao gồm mã quốc gia; số điện thoại không có mã vùng có thể dẫn đến lỗi khi xác định quốc gia hoặc khu vực hoặc bị xác định là số không hợp lệ.
  email: 'test@test', // Email
  description: 'comboB
Client
Fee-charging customers', // Mô tả
  label_names: ['Label1','Label2'], // Tên giá trị nhãn. Đây là phương thức ghi đè. Chỉ các giá trị nhãn được tạo bởi hệ thống mới có thể được truyền.
  custom_fields_ext: {"1210":"test11","more":["s1","s2"]}, // Trường tùy chỉnh, tìm id và giá trị tương ứng trong các trường tùy chỉnh của cài đặt dự án và điền vào (chọn loại để truyền vào dưới dạng mảng), có thể xem trong thông tin khách hàng
});

2.2. Xóa thông tin đăng nhập người dùng

Bạn có thể thủ công dọn dẹp thông tin đăng nhập người dùng để sử dụng trên các trang web PWA, được thực hiện sau khi đăng xuất và không làm mới trang.

ssq.push('clearUser');

2.3 Mở cửa sổ trò chuyện

Cửa sổ trò chuyện có thể được mở thủ công bằng chương trình cho một số tình huống đặc biệt khi người dùng có thể được hướng dẫn để tư vấn chăm sóc khách hàng, chẳng hạn như thanh toán thất bại.

ssq.push('chatOpen');

2.4 Đóng cửa sổ trò chuyện

Bạn có thể đóng cửa sổ trò chuyện thủ công bằng chương trình.

ssq.push('chatClose');

2.5 Theo dõi tin nhắn chưa đọc

Theo dõi tin nhắn chưa đọc để tùy chỉnh thông báo tin nhắn.

ssq.push('onUnRead', function(obj) {
    console.log(obj.num); // Số lượng tin nhắn chưa đọc
    console.log(obj.list); // Nội dung chưa đọc
});

2.6 Ẩn biểu tượng

Biểu tượng tùy chỉnh có thể được thực hiện bằng cách kết hợp "theo dõi tin nhắn chưa đọc" và "mở cửa sổ trò chuyện".

window.__ssc.setting = { hideIcon: true};

2.7 Theo dõi tin nhắn gửi bởi khách truy cập

Theo dõi tin nhắn của khách truy cập và sau đó thực hiện thống kê dữ liệu hoặc báo cáo, có thể được sử dụng để thống kê hiệu quả quảng cáo hoặc phân bổ.

ssq.push('onSendMessage', function(obj) {
    console.log(obj);
});

2.8 Lắng nghe tin nhắn nhận được bởi khách truy cập

Theo dõi thông tin nhận được bởi khách truy cập và sau đó thực hiện thống kê dữ liệu hoặc báo cáo, có thể được sử dụng để thống kê hiệu quả quảng cáo hoặc phân bổ.

ssq.push('onReceiveMessage', function(obj) {
    console.log(obj);
});

2.9 Theo dõi cửa sổ mở

Theo dõi cửa sổ mở, và sau đó bạn thực hiện thống kê dữ liệu hoặc báo cáo, có thể được sử dụng để thống kê hiệu quả quảng cáo hoặc phân bổ.

ssq.push('onOpenChat', function() {
    // Báo cáo dữ liệu
});

2.10 Theo dõi cửa sổ đóng

Theo dõi cửa sổ đóng và bạn có thể báo cáo dữ liệu để phân tích.

ssq.push('onCloseChat', function() {
    // Thực hiện các sự kiện khác
});

2.11 Lắng nghe mở thu thập thông tin

Lắng nghe mở thu thập thông tin (khảo sát trước trò chuyện và lưu giữ thông tin ngoại tuyến), và báo cáo dữ liệu trong callback.

ssq.push('onOpenCollection', (obj) => {
  // obj.type = 'offline' thông tin ngoại tuyến
  // obj.type = 'survey' khảo sát trước trò chuyện
});

2.12 Theo dõi hoàn tất thu thập thông tin

Sau khi theo dõi hoàn tất thu thập thông tin (khảo sát trước trò chuyện và lưu giữ thông tin ngoại tuyến), dữ liệu có thể được báo cáo để phân tích.

ssq.push('onCollectionInfo', (obj) => {
  // obj chứa dữ liệu do người dùng cung cấp trong quá trình thu thập thông tin
});

2.13 Lắng nghe sự kiện nhấp vào biểu tượng

Thực hiện các hành động tương ứng bằng cách lắng nghe các sự kiện nhấp vào biểu tượng plugin khác nhau. Cách tiếp cận này có thể giúp bạn theo dõi hành vi tương tác của người dùng.

// Lắng nghe nhấp vào Line
ssq.push('onOpenLine', (obj) => {
  
  console.log('Biểu tượng Line được nhấp', obj);
});

// Lắng nghe nhấp vào Messenger
ssq.push('onOpenMessenger', (obj) => {
  
  console.log('Biểu tượng Messenger được nhấp', obj);
});

// Lắng nghe nhấp vào Email
ssq.push('onOpenEmail', (obj) => {
  
  console.log('Biểu tượng Email được nhấp', obj);
});

// Lắng nghe nhấp vào Telegram
ssq.push('onOpenTelegram', (obj) => {
  
  console.log('Biểu tượng Telegram được nhấp', obj);
});

// Lắng nghe nhấp vào Whatsapp
ssq.push('onOpenWhatsapp', (obj) => {
  
  console.log('Biểu tượng Whatsapp được nhấp', obj);
});

// Lắng nghe nhấp vào VKontakte
ssq.push('onOpenVKontakte',  (obj) => { 
  
  console.log('Biểu tượng VKontakte được nhấp', obj); 
}); 

// Lắng nghe nhấp vào TikTok
ssq.push('onOpenTikTok', (obj) => {
  
  console.log('Biểu tượng TikTok được nhấp', obj); 
}); 

// Lắng nghe nhấp vào Tùy chỉnh
ssq.push('onOpenCustom', (obj) => { 
 // obj = {
 //     id, // custom_1、custom_2、custom_3
 //     content,
 // }
    console.log('Biểu tượng Tùy chỉnh được nhấp', obj); 
}); 

// Lắng nghe nhấp vào Zalo
ssq.push('onOpenZalo', (obj) => {

  console.log('Biểu tượng Zalo được nhấp', obj);
});

2.14 Theo dõi hoàn tất tải tài nguyên plugin

Lắng nghe hoàn tất tải tài nguyên bên trong plugin và thực hiện các sự kiện cụ thể sau khi tải tài nguyên hoàn tất.

ssq.push('onReady', () => {
  // Thực hiện các sự kiện khác
});

// Ví dụ sử dụng:
<script id="ss_chat" defer src="https://example.js"></script>

<script>
   const ss_chat = document.getElementById('ss_chat');
   ss_chat.addEventListener('load', (e) => {
      window.ssq && window.ssq.push('onReady', () => {
        // Thực hiện các sự kiện khác
      });
   })
</script>

2.15 Tùy chỉnh văn bản chuyển hướng WhatsApp

Cho phép bạn thiết lập lời chào hoặc tin nhắn tùy chỉnh được hiển thị khi người dùng nhấp vào biểu tượng WhatsApp để chuyển đến trang web chính thức WhatsApp.

ssq.push('createWhatsappGreeting', function(msg){
    // msg mặc định là Hello.
    return msg + 'tony'; // Đầu ra:Hello.tony
    // Nếu bạn cần tùy chỉnh hoàn toàn, bạn có thể trực tiếp trả về văn bản tùy chỉnh

});

2.16 Gửi tin nhắn văn bản từ phía khách hàng

Triển khai tính năng cho phép khách truy cập chủ động khởi tạo thông tin.

ssq.push('sendTextMessage', 'it is an error');

2.17 Tắt chức năng tải lên

Có thể được sử dụng để tắt chức năng tải lên tương ứng từ phía khách truy cập.

ssq.push('hideUpload', ['img', 'video', 'document'])
// 'img' Loại hình ảnh
// 'video' Loại video
// 'document' Loại tài liệu

// Nếu chức năng được thiết lập để đóng và bạn muốn mở lại nó trong một thao tác nào đó, hãy xóa mục tương ứng trong mảng và gọi lại.
// Ví dụ:ssq.push('hideUpload', [])

2.18 Ẩn nút đóng cửa sổ

Ẩn nút đóng cửa sổ ở góc trên bên phải của cửa sổ trò chuyện.

ssq.push('hideCloseIcon');