Panduan Penggunaan Website Tingkat Lanjut

Channel Website mendukung konfigurasi tambahan melalui antarmuka LiveDesk Widget SDK atau dengan menggunakan iframe untuk memenuhi kebutuhan Anda.

Pengaturan Terkait iframe

Lewati Layar Selamat Datang

Dalam mode iframe, Anda dapat menambahkan parameter action=autoStart untuk melewati layar selamat datang yang muncul saat bubble dibuka dan langsung masuk ke jendela chat.

<iframe class="livedesk-widget-iframe" src="https://livedesk-stg.engagelab.com/console/livedesk/widget/?website_token=iTMtGDnzR1tccf3fiikLjL71&action=autoStart" title="LiveDesk" allow="camera;microphone" />
              
              <iframe
  class="livedesk-widget-iframe"
  src="https://livedesk-stg.engagelab.com/console/livedesk/widget/?website_token=iTMtGDnzR1tccf3fiikLjL71&action=autoStart"
  title="LiveDesk"
  allow="camera;microphone"
/>

            
Tampilkan blok kode ini di jendela mengambang

website_token menentukan nilai terkait yang dibuat setelah channel dibuat.

Tetapkan ID Pengguna

Tersedia dua metode konfigurasi.

Metode 1:

Array.from(document.getElementsByTagName('iframe')) .filter((iframe) => iframe.src && iframe.src.includes('livedesk')) .forEach((iframe) => iframe.contentWindow?.postMessage( 'livedesk-widget:' + JSON.stringify({ event: 'set-user', identifier: 'your_user_id', user: { name: 'Display name', email: 'user@example.com' }, }), '*', ), );
              
              Array.from(document.getElementsByTagName('iframe'))
  .filter((iframe) => iframe.src && iframe.src.includes('livedesk'))
  .forEach((iframe) =>
    iframe.contentWindow?.postMessage(
      'livedesk-widget:' +
        JSON.stringify({
          event: 'set-user',
          identifier: 'your_user_id',
          user: { name: 'Display name', email: 'user@example.com' },
        }),
      '*',
    ),
  );

            
Tampilkan blok kode ini di jendela mengambang

Metode 2: Tambahkan parameter user_id=xxxxx ke iframe.

<iframe class="livedesk-widget-iframe" src="https://livedesk-stg.engagelab.com/console/livedesk/widget/?website_token=Etsz4XtvqKi7iqbHf8Ma6ZLR&action=autoStart&user_id=5002" title="LiveDesk" allow="camera;microphone" />
              
              <iframe
  class="livedesk-widget-iframe"
  src="https://livedesk-stg.engagelab.com/console/livedesk/widget/?website_token=Etsz4XtvqKi7iqbHf8Ma6ZLR&action=autoStart&user_id=5002"
  title="LiveDesk"
  allow="camera;microphone"
/>

            
Tampilkan blok kode ini di jendela mengambang

Antarmuka LiveDesk Widget SDK

Tetapkan ID dan Informasi Pengguna (Mode Standar)

window.addEventListener("livedesk:ready", function () { window.$livedesk.setUserId("Unique user ID (such as user_id)", { // Parameter pertama adalah pengenal unik email: "user@example.com", name: "User name", avatar_url: "https://example.com/avatar.jpg", // Opsional phone_number: "+1234567890", // Opsional }); });
              
              window.addEventListener("livedesk:ready", function () {
  window.$livedesk.setUserId("Unique user ID (such as user_id)", {
    // Parameter pertama adalah pengenal unik
    email: "user@example.com",
    name: "User name",
    avatar_url: "https://example.com/avatar.jpg", // Opsional
    phone_number: "+1234567890", // Opsional
  });
});

            
Tampilkan blok kode ini di jendela mengambang
Catatan: Jika ID pengguna ditetapkan melalui tindakan yang dipicu oleh pengguna akhir dalam konfigurasi, Anda dapat menghapus event listener window.addEventListener("livedesk:ready", function ()).

Tetapkan ID dan Informasi Pengguna (Mode Terenkripsi)

Aktifkan autentikasi (disarankan) untuk mencegah pemalsuan dan memastikan persistensi sesi di berbagai browser. Aktifkan HMAC dalam konfigurasi dan gunakan SHA-256 untuk menghasilkan identifier_hash.

Contoh (JavaScript):

const crypto = require("crypto"); const key = "Your HMAC Token"; // Salin dari pengaturan Inboxes const message = "Unique user ID"; const identifier_hash = crypto .createHmac("sha256", key) .update(message) .digest("hex"); // Tambahkan ke setUser window.$livedesk.setUserId("Unique user ID", { ...OtherInformation, identifier_hash: identifier_hash, });
              
              const crypto = require("crypto");
const key = "Your HMAC Token"; // Salin dari pengaturan Inboxes
const message = "Unique user ID";
const identifier_hash = crypto
  .createHmac("sha256", key)
  .update(message)
  .digest("hex");

// Tambahkan ke setUser
window.$livedesk.setUserId("Unique user ID", {
  ...OtherInformation,
  identifier_hash: identifier_hash,
});

            
Tampilkan blok kode ini di jendela mengambang

Tetapkan Atribut Kustom Percakapan

window.$livedesk.setConversationCustomAttributes({ utm_source: "google", // Contoh: UTM tingkat percakapan session_type: "support", });
              
              window.$livedesk.setConversationCustomAttributes({
  utm_source: "google", // Contoh: UTM tingkat percakapan
  session_type: "support",
});

            
Tampilkan blok kode ini di jendela mengambang

Atribut kustom ini ditampilkan di LiveDesk > Conversation > Conversation Information.

Tetapkan Atribut Kustom Pengguna

window.addEventListener("livedesk:ready", function () { window.$livedesk.setCustomAttributes({ pricing_plan: "premium", // Kunci: pengenal unik yang telah ditentukan; nilai: tetapkan sesuai jenisnya, seperti string signup_date: new Date(), // Contoh: jenis tanggal account_id: 123, // Contoh: jenis angka }); });
              
              window.addEventListener("livedesk:ready", function () {
  window.$livedesk.setCustomAttributes({
    pricing_plan: "premium", // Kunci: pengenal unik yang telah ditentukan; nilai: tetapkan sesuai jenisnya, seperti string
    signup_date: new Date(), // Contoh: jenis tanggal
    account_id: 123, // Contoh: jenis angka
  });
});

            
Tampilkan blok kode ini di jendela mengambang

Atribut kustom ini ditampilkan di LiveDesk > Conversation > Contact Attributes.

Hapus Atribut Pengguna

Hapus atribut kustom yang ditentukan.

window.$livedesk.deleteCustomAttribute("pricing_plan"); // Kunci atribut string
              
              window.$livedesk.deleteCustomAttribute("pricing_plan"); // Kunci atribut string

            
Tampilkan blok kode ini di jendela mengambang

Alihkan Status Buka Bubble Chat

Alihkan status widget antara terbuka dan tertutup.

window.$livedesk.toggle(); // Alihkan widget dengan meneruskan status window.$livedesk.toggle("open"); // Buka widget chat window.$livedesk.toggle("close"); // Tutup widget chat
              
              window.$livedesk.toggle();

// Alihkan widget dengan meneruskan status
window.$livedesk.toggle("open"); // Buka widget chat
window.$livedesk.toggle("close"); // Tutup widget chat

            
Tampilkan blok kode ini di jendela mengambang

Tampilkan atau Sembunyikan Bubble Chat

window.$livedesk.toggleBubbleVisibility("hide"); // Tampilkan atau sembunyikan
              
              window.$livedesk.toggleBubbleVisibility("hide"); // Tampilkan atau sembunyikan

            
Tampilkan blok kode ini di jendela mengambang

Mode Pop-up

Buka antarmuka chat di jendela pop-up.

window.$livedesk.popoutChatWindow();
              
              window.$livedesk.popoutChatWindow();

            
Tampilkan blok kode ini di jendela mengambang

Tetapkan Bahasa

Tetapkan bahasa widget.

window.$livedesk.setLocale("en"); // Kode bahasa string, seperti zh-CN
              
              window.$livedesk.setLocale("en"); // Kode bahasa string, seperti zh-CN

            
Tampilkan blok kode ini di jendela mengambang

Tambahkan atau Hapus Label

Tambahkan label ke percakapan saat ini sebelum percakapan dimulai. Label akan diterapkan secara otomatis ke percakapan.

window.$livedesk.setLabel("support-ticket"); // Pengenal label string window.$livedesk.removeLabel("support-ticket");
              
              window.$livedesk.setLabel("support-ticket"); // Pengenal label string
window.$livedesk.removeLabel("support-ticket");

            
Tampilkan blok kode ini di jendela mengambang

Objek Konfigurasi LiveDesk Widget

Objek global ini ditetapkan selama inisialisasi, sebelum SDK dimuat, untuk menyesuaikan perilaku widget. Tentukan objek ini menggunakan window.livedeskSettings, lalu teruskan ke window.livedeskSDK.run().

Properti Objek

Nama Properti Jenis Deskripsi Nilai Default Contoh
hideMessageBubble boolean Sembunyikan bubble pesan. false true
showUnreadMessagesDialog boolean Tampilkan dialog pesan yang belum dibaca. true false
position string Posisi widget. 'right' 'left'
locale string Kode bahasa default. Bahasa Dashboard 'zh-CN'
useBrowserLanguage boolean Gunakan bahasa browser dan abaikan locale. false true
type string Jenis widget. 'standard' 'expanded_bubble'
darkMode boolean Aktifkan mode gelap. false true
baseDomain string Domain dasar, opsional untuk beberapa domain. 'example.com'
launcherTitle string Judul launcher. 'Support'
showPopoutButton boolean Tampilkan tombol pop-up. true false
welcomeTitle string Judul selamat datang. 'Welcome!'
welcomeDescription string Deskripsi selamat datang. 'How can we help you?'
availableMessage string Pesan online. 'We are online.'
unavailableMessage string Pesan offline. 'We will reply later.'
enableFileUpload boolean Aktifkan unggah file. true false
enableEmojiPicker boolean Aktifkan pemilih emoji. true false
enableEndConversation boolean Aktifkan tombol untuk mengakhiri percakapan. true false

Contoh Kode

<script> // 1. Tetapkan konfigurasi global sebelum memuat sdk.js. // Konfigurasi ini harus ditempatkan di awal skrip. window.livedeskSettings = { // Posisi widget: kiri bawah (kanan bawah secara default) position: "left", // Paksa Bahasa Mandarin Sederhana (Bahasa Mandarin akan ditampilkan meskipun browser diatur ke Bahasa Inggris) locale: "zh-CN", // Deteksi bahasa browser secara otomatis. Jika ingin memprioritaskan // bahasa browser pengguna, tetapkan ini ke true dan hapus locale di atas. // useBrowserLanguage: true, // Jenis widget: expanded_bubble = bubble besar dengan pesan selamat datang; // standard = bubble kecil klasik type: "expanded_bubble", // Mode gelap (secara otomatis mengikuti pengaturan sistem atau memaksa mode gelap) darkMode: "auto", // Nilai opsional: true | false | "auto" // Sembunyikan ikon bubble kecil di bagian bawah (sesuai untuk digunakan dengan tombol kustom) hideMessageBubble: false, // Sembunyikan tombol panah jendela pop-up di sudut kanan bawah showPopoutButton: false, // Judul launcher kustom (ditampilkan dalam mode expanded_bubble) launcherTitle: "Online Support", // Pesan selamat datang (berlaku dalam mode expanded_bubble) welcomeTitle: "Hello! How can we help you?", welcomeDescription: "We usually reply within a few minutes.", // Teks prompt yang ditampilkan saat online atau offline availableMessage: "We are online and ready to help", unavailableMessage: "We are currently offline and will reply as soon as possible during business hours", // Pengaturan fitur enableFileUpload: true, // Izinkan unggah file enableEmojiPicker: true, // Izinkan emoji enableEndConversation: true, // Izinkan pengguna mengakhiri percakapan sendiri // Opsi lanjutan lainnya (aktifkan sesuai kebutuhan) // showUnreadMessagesDialog: true, // Tampilkan dialog pengingat saat ada pesan yang belum dibaca (true secara default) // baseDomain: "yourcompany.com", // Gunakan untuk penerapan di beberapa domain }; </script> <!-- 2. Muat LiveDesk Widget SDK (ganti dengan domain dan token Anda sendiri) --> <script> (function (d, t) { var BASE_URL = "https://www.engagelab.com"; // Ubah ke alamat LiveDesk Anda var g = d.createElement(t); var 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.livedeskSDK.run({ websiteToken: "abcdefgh1234567890abcdefgh123456", // Ubah ke Website Token Anda baseUrl: BASE_URL, }); }; })(document, "script"); </script>
              
              <script>
  // 1. Tetapkan konfigurasi global sebelum memuat sdk.js.
  // Konfigurasi ini harus ditempatkan di awal skrip.
  window.livedeskSettings = {
    // Posisi widget: kiri bawah (kanan bawah secara default)
    position: "left",

    // Paksa Bahasa Mandarin Sederhana (Bahasa Mandarin akan ditampilkan meskipun browser diatur ke Bahasa Inggris)
    locale: "zh-CN",

    // Deteksi bahasa browser secara otomatis. Jika ingin memprioritaskan
    // bahasa browser pengguna, tetapkan ini ke true dan hapus locale di atas.
    // useBrowserLanguage: true,

    // Jenis widget: expanded_bubble = bubble besar dengan pesan selamat datang;
    // standard = bubble kecil klasik
    type: "expanded_bubble",

    // Mode gelap (secara otomatis mengikuti pengaturan sistem atau memaksa mode gelap)
    darkMode: "auto", // Nilai opsional: true | false | "auto"

    // Sembunyikan ikon bubble kecil di bagian bawah (sesuai untuk digunakan dengan tombol kustom)
    hideMessageBubble: false,

    // Sembunyikan tombol panah jendela pop-up di sudut kanan bawah
    showPopoutButton: false,

    // Judul launcher kustom (ditampilkan dalam mode expanded_bubble)
    launcherTitle: "Online Support",

    // Pesan selamat datang (berlaku dalam mode expanded_bubble)
    welcomeTitle: "Hello! How can we help you?",
    welcomeDescription: "We usually reply within a few minutes.",

    // Teks prompt yang ditampilkan saat online atau offline
    availableMessage: "We are online and ready to help",
    unavailableMessage:
      "We are currently offline and will reply as soon as possible during business hours",

    // Pengaturan fitur
    enableFileUpload: true, // Izinkan unggah file
    enableEmojiPicker: true, // Izinkan emoji
    enableEndConversation: true, // Izinkan pengguna mengakhiri percakapan sendiri

    // Opsi lanjutan lainnya (aktifkan sesuai kebutuhan)
    // showUnreadMessagesDialog: true, // Tampilkan dialog pengingat saat ada pesan yang belum dibaca (true secara default)
    // baseDomain: "yourcompany.com", // Gunakan untuk penerapan di beberapa domain
  };
</script>

<!-- 2. Muat LiveDesk Widget SDK (ganti dengan domain dan token Anda sendiri) -->
<script>
  (function (d, t) {
    var BASE_URL = "https://www.engagelab.com"; // Ubah ke alamat LiveDesk Anda
    var g = d.createElement(t);
    var 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.livedeskSDK.run({
        websiteToken: "abcdefgh1234567890abcdefgh123456", // Ubah ke Website Token Anda
        baseUrl: BASE_URL,
      });
    };
  })(document, "script");
</script>

            
Tampilkan blok kode ini di jendela mengambang

Listener Peristiwa LiveDesk Widget

Nama Peristiwa Deskripsi Contoh Listener
livedesk:ready Dipicu saat SDK selesai dimuat dan metodenya dapat dipanggil dengan aman. window.addEventListener('livedesk:ready', () => { /* Initialization */ });
livedesk:on-message Dipicu saat pesan baru diterima. window.addEventListener('livedesk:on-message', (data) => { console.log(data); });
livedesk:error Dipicu saat terjadi error pada SDK (v2.3.0+). window.addEventListener('livedesk:error', (error) => { console.error(error); });
Icon Solid Transparent White Qiyu
Hubungi Sales