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"
/>
website_tokenmenentukan 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' },
}),
'*',
),
);
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"
/>
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 ()).
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,
});
Tetapkan Atribut Kustom Percakapan
window.$livedesk.setConversationCustomAttributes({
utm_source: "google", // Contoh: UTM tingkat percakapan
session_type: "support",
});
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
});
});
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
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
Tampilkan atau Sembunyikan Bubble Chat
window.$livedesk.toggleBubbleVisibility("hide"); // Tampilkan atau sembunyikan
Mode Pop-up
Buka antarmuka chat di jendela pop-up.
window.$livedesk.popoutChatWindow();
Tetapkan Bahasa
Tetapkan bahasa widget.
window.$livedesk.setLocale("en"); // Kode bahasa string, seperti zh-CN
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");
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>
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); }); |










