Portal Admin Widget Chat

Portal ini digunakan untuk mengelola konfigurasi widget chatbot multi-tenant, termasuk pengaturan produk, tools, knowledge base, tenant, dan konfigurasi widget.

Fungsi Portal
Konfigurasi di portal ini menentukan perilaku widget yang di-embed ke aplikasi klien, termasuk widget key, sumber knowledge, dan integrasi tools.
Output SDK Widget
Bundle widget berbentuk IIFE tersedia pada path build dist/widget.js. Setelah script termuat, elemen chat-widget otomatis ditambahkan ke document.body dengan isolasi Shadow DOM.

Cara Menggunakan Widget di Klien

1) Sematkan Script

Tambahkan script widget pada halaman host, lalu isi data-widget-key menggunakan widget key yang di-generate dari portal admin.

2) Kontrol Widget dari Global API

SDK menyediakan API global di window.ChatWidget dengan method: init(), open(), close(), resetSession(), dan destroy().

3) Auth Token & User Identity

Setel auth token untuk sesi chat terautentikasi, dan/atau set user identity untuk personalisasi dan tracking.

  • Auth token mengaktifkan tools berbasis role. Identity menghubungkan userId, name, customerId, email, phoneNumber, dan company ke sesi.
  • Keduanya disimpan per widget key di localStorage dan bertahan setelah refresh halaman.

Auth Token

User Identity

4) Cleanup Widget Saat Ganti Route (SPA)

Untuk SPA, panggil window.ChatWidget.destroy() saat komponen unmount agar elemen widget dihapus dari DOM.

Catatan Produksi
  • Gunakan nama file berversi di S3, contoh: widget@1.2.3.js. Simpan widget.js sebagai alias latest/stable.
  • Jangan timpa file berversi (widget@x.y.z.js) agar rollback dan cache tetap aman.
  • Gunakan cache header immutable untuk file berversi. Gunakan TTL pendek atau no-cache untuk widget.js (latest).