Kanal Anahtarı

Kanal anahtarı nedir, nerede kullanılır

Kanal anahtarı, Selwise'in gelen isteğin hangi kanala ait olduğunu anladığı değerdir. Biçimi sk_ ve ardından 24 onaltılık karakterdir (toplam 27 karakter), örneğin sk_3f9c1a27d8b04e65a1c2d3e4.

Kanal anahtarı tek başına bir yetki değildir: kim olduğunuzu söyler, girmenize izin vermez. İzin; web'de doğrulanmış alan adından, uygulamada API anahtarından gelir. Sunucu tarafı çağrılar için ayrı bir kimlik bilgisi olan API anahtarları ile karıştırmayın.

Panelde nerede

  • Kanallar → Kanal Özeti (Channels → Channel Overview) → Channel Key kartı: anahtarın tamamı yazar, yanındaki simge kopyalar.
  • Channels listesinde bir satırın ⋮ menüsü → Copy channel key (Kanal anahtarını kopyala).

Tarayıcı panoya yazmayı reddederse ekran "Could not copy…" der; anahtarı seçip elle kopyalayın.

API'de adı hâlâ siteKey

Panel bu değeri "kanal anahtarı" olarak adlandırır; HTTP yolunda, script özniteliğinde ve SDK seçeneklerinde adı siteKey olarak kalır:

GET /api/v1/public/sites/SITE_KEY/config

Bunun nedeni, bu ismin müşterilerin vitrinlerinde çalışan her yerleştirme kodunda ve yayınlanmış bir npm paketinin public API'sinde bulunmasıdır. Yeniden adlandırmak, dünyadaki her müşteriyle eşzamanlı bir sürüm gerektirir. Kanal ekranındaki hazır kodları kopyalarsanız doğru ismi zaten kullanırsınız.

Nerede kullanılır

Web kanalı — script etiketinde data-site-key olarak:

<link rel="preconnect" href="https://widget.selwise.com" crossorigin>
<link rel="preconnect" href="https://api.selwise.com" crossorigin>
<script>window.Selwise=window.Selwise||{};window.Selwise.q=window.Selwise.q||[];['track','trackOrder','identify','setTraits','pushDataLayer','grantConsent','revokeConsent','showConsentPreferences','withdrawConsent','endJourney'].forEach(function(m){if(!window.Selwise[m])window.Selwise[m]=function(){window.Selwise.q.push([m,arguments])}});</script>
<script async src="https://widget.selwise.com/client.js" data-site-key="SITE_KEY"></script>

Kodu panelden kopyalayın: ortama göre doğru adresleri ve anahtarınızı içerir.

Uygulama kanalı — SDK başlatmasında, bir API anahtarıyla birlikte. Seçenek adı siteKey'dir; channelKey aynı değeri ifade eden bir takma addır:

await selwise.init({
  channelKey: 'CHANNEL_KEY',
  apiKey: 'swpk_live_...',
});

Ayrıntı: Mobil SDK Kurulumu.

Sunucu çağrıları — genel API yolunda SITE_KEY olarak; Origin göndermeyen çağrılar ayrıca x-selwise-api-key başlığı taşır.

Gizli değildir

Kanal anahtarı, web kanalında sayfanızın kaynak kodunda herkese görünür. Bu bir sorun değildir, çünkü tek başına hiçbir yetki vermez:

  • Web kanalında her genel istek ayrıca Origin / Referer başlığına bakılarak kanalın doğrulanmış alan adına karşı kontrol edilir. Başka bir alan adından sizin anahtarınızla istek atılırsa reddedilir. Hiçbiri gelmiyorsa (sunucudan çağrı) bir API anahtarı gerekir.
  • Uygulama kanalında karşılaştırılacak bir alan adı yoktur; her istek ayrıca bir API anahtarı sunmak zorundadır. Kanal anahtarı tek başına hiçbir kapıyı açmaz.

Şifre ile karıştırmayın

Kanal anahtarı genel bir değerdir. Panel şifreniz, API anahtarlarınız (swpk_live_…) ve webhook imza anahtarlarınız değildir — onları hiçbir yerde sayfa kaynağına ya da uygulama paketine yazmayın.

Değişir mi

Kanal anahtarı, kanal oluşturulduğunda üretilir ve kendiliğinden değişmez. Alan adını değiştirseniz bile aynı kalır — bu yüzden kurulumu bir kez yapmanız yeterlidir. Anahtarı elle düzenleyemezsiniz.

Anahtarı yenilemek

Channels listesinde kanalın satırındaki ⋮ menüsü → Rotate key (Anahtarı yenile). Onay penceresi Rotate channel key? der ve ne yapmanız gerektiğini sayar. Onayladığınızda (Rotate Key) yeni anahtar bir kez gösterilir; panelde Channel Key kartından da okunabilir. API karşılığı: POST /api/v1/channels/CHANNEL_ID/rotate-key (admin).

Bu bir sert değişimdir, kademeli geçiş yoktur: eski anahtar hemen iptal edilir ve eski anahtarın önbelleği temizlenir; yine de uçlardaki önbelleklerin sönmesi birkaç dakika sürebilir (genel API anahtarı önbelleği 5 dakikadır). Yenilemeden önce hazır olun:

  1. Her yerleştirme kodunu (data-site-key) ve SDK başlatmasını yeni anahtarla güncelleyin.
  2. Eski anahtarı kullanan entegrasyonları ve API istemcilerini güncelleyin.
  3. Yeni anahtar yayında olana kadar widget'lar çalışmaz, uygulama başlatılamaz.

API anahtarları (swpk_live_…) kanal anahtarına bağlı değildir ve yenileme onları etkilemez.

Yanlış kanal anahtarı belirtileri

BelirtiSebep
config isteği 404 (Site not found) dönüyorAnahtar hatalı, kanal silinmiş ya da anahtar yenilenmiş ve eski anahtar kullanılıyor
config isteği 403 Site not verified dönüyorAnahtar doğru ama web kanalının alan adı doğrulanmamış — bkz. Domain Doğrulama
403 Origin '…' is not authorized for site '…'İstek, kanalın kayıtlı alan adının dışındaki bir kökenden geliyor
403 Invalid API key or insufficient scopeUygulama kanalında ya da Origin'siz çağrıda API anahtarı eksik, iptal edilmiş veya yetkisi yetersiz — bkz. API Anahtarları
Widget hiç görünmüyor, konsol sessizScript etiketinde data-site-key özniteliği hiç yok

Teşhis: Widget Görünmüyor.

Son güncelleme: 22 Ekim 2026