Lewati ke konten utama

Widget dan Embedded Apps

Tujuan

Menanamkan pengalaman CRM secara terbatas tanpa mengekspos kredensial tenant.

Prasyarat

  • Origin aplikasi terdaftar dan menggunakan HTTPS.
  • Administrator membuat production Embed Key dari Website widget setelah memilih inbox; Workspace API Key generik tidak diperlukan untuk widget.
  • Token sesi dibuat server-side dengan scope minimum.

Widget

  1. Daftarkan origin yang tepat; wildcard origin tidak aman.
  2. Muat widget.js dengan data-inbox-id dan production data-widget-key; key tersebut dibuat khusus untuk inbox tujuan.
  3. Jangan menaruh API secret, signing secret, atau token admin di JavaScript. Embed Key adalah token bootstrap publik, bukan kredensial CRM.
  4. Batasi data dan aksi sesuai tenant, conversation, dan consent. Lihat Widget Situs Web untuk cuplikan sematan dan langkah rotasi key.

Embedded app

  1. Konfigurasikan URL app dan origin allowlist.
  2. Gunakan iframe/context token berumur pendek dan scope minimum.
  3. Validasi token serta tenant di server setiap request.
  4. Hapus token saat sesi berakhir atau origin berubah.

Public key bukan authorization. Jangan menaruh API secret, signing secret, atau token admin di bundle, query string, localStorage publik, atau iframe URL. Jangan menonaktifkan origin check, TLS, atau access control untuk mengatasi error.

Tanda berhasil

Widget hanya memuat pada origin terdaftar; embedded app menerima context terbatas dan request lintas tenant ditolak.

Jika terjadi masalah

401 token invalid/expired: minta token baru melalui server. 403 origin/scope ditolak: perbaiki allowlist atau role. 404 app/key salah: cek konfigurasi tenant. 429: kurangi polling dan gunakan backoff.

Batasan

Widget dan embedded apps masih experimental; parity Dashboard Apps dan integrasi provider belum penuh. Jangan membuat klaim production-ready.

Tugas terkait