Skip to content

Yapılandırma

Tüm kurulum yolları (window.WebfonConfig, initWebfon(config), Webfon.init(config)) aynı yapılandırma nesnesini alır.

Parametreler

ParametreTipVarsayılanAçıklama
providerIdstring— (zorunlu)Sağlayıcı kimliği.
apiUrlstringhttps://api.webfon.ioAPI kök adresi.
getToken({jkt, providerId}) => Promise<string | null>Widget'ın jkt'siyle çağrılır; self-signed soket token döndürür — üye girişi (bkz. Kimlik Doğrulama).
targetHTMLElementdocument.bodyWidget host elemanının ekleneceği konteyner.
onMessage(message) => voidSoketten gelen bir sohbet mesajı düştüğünde tetiklenir (bkz. Olaylar).
onAgentAvailable(agent) => voidBir temsilci uygun duruma (online/away) geçtiğinde tetiklenir (bkz. Olaylar).

data-* ile verilemez

getToken / on* (fonksiyon) ve target (DOM elemanı) karmaşık değerler taşıdığından CDN data-* öznitelikleriyle verilemez. Bunlar için window.WebfonConfig veya initWebfon() kullanın. on* callback'leri ayrıca çalışma zamanında Webfon.onEvent() ile de kaydedilebilir.

Tam yapılandırma örneği

Tüm parametreleri içeren referans örnek (çoğu opsiyoneldir):

js
import { initWebfon } from 'webfon-client';

const widget = initWebfon({
  // --- Zorunlu ---
  providerId: 'PROVIDER_ID',

  // --- Opsiyonel: bağlantı ---
  apiUrl: 'https://api.webfon.com',          // varsayılan: https://api.webfon.io

  // --- Opsiyonel: üye girişi ---
  getToken: async ({ jkt }) => {             // backend'iniz soket token'ını imzalar
    const res = await fetch('/api/webfon-token', {
      method: 'POST',
      headers: { 'Content-Type': 'application/json' },
      credentials: 'include',
      body: JSON.stringify({ jkt }),
    });
    return res.ok ? (await res.json()).token : null;
  },

  // --- Opsiyonel: yerleşim ---
  target: document.getElementById('webfon-slot'),  // varsayılan: document.body

  // --- Opsiyonel: olaylar ---
  onMessage: (m) => console.log('yeni mesaj', m),
  onAgentAvailable: (a) => console.log('temsilci çevrimiçi', a),
});

Görünüm ayarları burada değil

Renk, köşe konumu, offset, çalışma saatleri, kanal (sohbet/arama) açık-kapalı gibi görünüm ayarları embed kodunda değil, admin panelinde tutulur ve sunucudan gelir. Ayrıntılar için bkz. Admin Paneli.

Webfon canlı destek widget dokümantasyonu