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ı.
Onay (consent)
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:
| Anahtar | Amaç | Depolama |
|---|---|---|
selwise_vid | Ziyaretçi kimliği | localStorage |
selwise_sid | Oturum kimliği | sessionStorage |
selwise_suid | Site kullanıcı kimliği (identify) | localStorage |
selwise_experiments | Deney atamaları | localStorage |
selwise_journey_state | Yolculuk durumu | localStorage |
selwise_frequency_caps | Gösterim sıklığı takibi | localStorage |
selwise_consent | Onay durumu | localStorage |
selwise_test_mode | Test modu bayrağı | localStorage |
selwise_debug | Debug 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