JavaScript API

Widget API referansi

Script yüklendiğinde (CDN'de otomatik, npm'de exposeGlobal: true ile) tarayıcıda window.Selwise global nesnesi oluşur. Bu bölüm, sunduğu tüm metodları imzalarıyla listeler.

Hazır olma

window.Selwise script yüklendikten sonra tanımlanır. Erken çağrıları güvenli kılmak için opsiyonel zincir kullanın: window.Selwise?.track(...). Veri katmanı push'ları ise script'ten önce bile window.selwiseLayer kuyruğuna eklenebilir.

Yaşam döngüsü

init

Selwise.init(config: {
  siteKey: string;
  apiUrl?: string;
  exposeGlobal?: boolean;
}): Promise<void>

Widget'ı başlatır. CDN kurulumunda otomatik çağrılır. npm kurulumunda siz çağırırsınız. Bkz. Widget Kurulumu.

destroy

Selwise.destroy(): void

Tüm dinleyicileri ve render edilmiş içeriği temizler. Genellikle SPA'larda gerekmez (Selwise geçişleri kendi yönetir); manuel temizlik için kullanılır.

Takip

track

Selwise.track(
  name: string,
  args?: { entityType?: string; entityId?: string; metadata?: Record<string, any> }
): void

Herhangi bir kanonik event'i manuel gönderir. Bkz. Event Referansı.

window.Selwise?.track('add_to_cart', {
  entityType: 'basket',
  productItemCode: 'SKU-123',
  metadata: { quantity: 2, price: 149.9, currency: 'TRY' },
});

trackOrder

Selwise.trackOrder(order: Record<string, any>): Promise<void>

Tamamlanan siparişi bildirir. Tüm alanlar ve örnekler için bkz. Sipariş Takibi.

Kimlik

identify

Selwise.identify(
  userId: string,
  metadata?: Record<string, any>
): Promise<{ success: boolean; merged?: boolean }>

Anonim ziyaretçiyi bilinen bir kullanıcıyla eşleştirir. Kullanıcı giriş yaptığında veya kaydolduğunda çağırın. Anonim geçmiş, kullanıcı profiliyle birleştirilir (merged: true).

window.Selwise?.identify('user-42', { plan: 'pro', segment: 'vip' });

setTraits

Selwise.setTraits(traits: Record<string, any>): Promise<boolean>

Mevcut kullanıcıya/ziyaretçiye özellik (trait) ekler; segmentasyon ve kişiselleştirmede kullanılır.

window.Selwise?.setTraits({ favoriteCategory: 'ayakkabi', lifetimeValue: 1200 });

Kimlik okuyucuları

Selwise.getSiteUserId(): string | undefined  // identify ile atanan kullanıcı
Selwise.getVisitorId(): string               // kalıcı anonim ziyaretçi (localStorage)
Selwise.getSessionId(): string               // oturum kimliği (sessionStorage)

Yolculuk (journey)

Selwise.getJourneyId(): string | null
Selwise.getJourneyState(): { journeyId: string | null; age: number | null; isValid: boolean }
Selwise.endJourney(): void

Yolculuk, oturumlar arası event zincirini ilişkilendirir (varsayılan 30 dk zaman aşımı). endJourney() mevcut yolculuğu sonlandırır (ör. çıkışta).

const journey = window.Selwise?.getJourneyState();
if (journey?.isValid) {
  console.log('Aktif yolculuk:', journey.journeyId);
}

Deneyler (A/B test)

Selwise.getVariant(experimentId: string): any
Selwise.getExperimentVariant(experimentId: string): string | null
Selwise.getActiveExperiments(): any[]

Ziyaretçiye atanan varyantı okur. Atama, siteKey + visitorId hash'iyle tutarlıdır ve localStorage'da saklanır. Kendi arayüzünüzü varyanta göre değiştirmek için kullanın:

const variant = window.Selwise?.getExperimentVariant('exp-homepage-hero');
if (variant === 'b') {
  // B varyantı arayüzünü göster
}

Veri katmanı

Selwise.pushDataLayer(data: SelwiseDataLayer): void
Selwise.getDataLayer(): SelwiseDataLayer[]

pushDataLayer, window.selwiseLayer.push() ile aynı işi yapar. Zarf yapısı ve olay adları için bkz. Veri Katmanı.

Selwise.getConsentState(): ConsentState | null
Selwise.grantConsent(categories?: Partial<ConsentState>): void
Selwise.revokeConsent(categories?: (keyof ConsentState)[]): void

Çerez onayını programatik yönetir. Bkz. Onay Yönetimi.

Depolama anahtarları

Selwise, tarayıcı depolamasında selwise_ önekli anahtarlar kullanır:

AnahtarAmaçDepolama
selwise_vidZiyaretçi kimliğilocalStorage
selwise_sidOturum kimliğisessionStorage
selwise_suidSite kullanıcı kimliği (identify)localStorage
selwise_experimentsDeney atamalarılocalStorage
selwise_journey_stateYolculuk durumulocalStorage
selwise_frequency_capsGösterim sıklığı takibilocalStorage
selwise_consentOnay durumulocalStorage
selwise_test_modeTest modu bayrağılocalStorage
selwise_debugDebug overlay bayrağılocalStorage

Test ve debug modu

Geliştirme sırasında:

// Test modu: yalnızca "test" işaretli widget/kampanyalar gösterilir
localStorage.setItem('selwise_test_mode', 'true');

// Debug overlay: tüm widget'lar ve ayrıntılı konsol logları
localStorage.setItem('selwise_debug', 'true');

location.reload();

Kapatmak için ilgili anahtarı removeItem ile silin. Ayrıntılar: Takip Sorunları.

Son güncelleme: 1 Temmuz 2026

Bu makale yardimci oldu mu?