API Anahtarları

Mobil, sunucu ve izin anahtarları: amaç, yetki, döndürme

API anahtarı, tarayıcıdan gelmeyen bir çağrının (mobil uygulama, sunucu taraflı render, kendi arka ucunuz) kanala kendini tanıtma yoludur. Tarayıcı isteği kanalın alan adına karşı kontrol edilir; sunucu isteğinin kontrol edilecek bir Origin'i yoktur, bu yüzden bir anahtar sunar.

Panelde nerede

İki giriş vardır, ikisi de aynı pencereyi (API keys) açar:

  • Channels → Channel Overview → Channel Key kartı → API keys satırındaki Manage (Yönet). Satır kaç aktif anahtar olduğunu söyler.
  • Channels listesinde bir satırın ⋮ menüsü → API keys.

Anahtarları oluşturmak, yenilemek ve iptal etmek admin rolünün yetkisidir (site:update); marketing rolü listeyi görür ama değiştiremez. Uygulama kanalında Setup bölümünün ilk adımı bu pencereyi açar.

Anahtar nasıl görünür

Anahtar swpk_live_ ve ardından 64 onaltılık karakterden oluşur. Selwise yalnızca bir SHA-256 özetini saklar; bu yüzden anahtarın tamamı yalnızca oluşturma ve yenileme anında, bir kez gösterilir ("Copy this key now"). Listede yalnızca ilk 14 karakter (swpk_live_ab12) ve amacı görünür. Pencere kapanınca anahtar ekrandan silinir. Kaybettiyseniz geri getirilemez — anahtarı Rotate ile yenileyin.

Amaçlar

Pencere bir yetki listesi değil bir amaç seçtirir; doğru yetki çiftini elle kurmak zorunda kalmazsınız ve yanlışını kuramazsınız.

AmaçVerilen yetkiNe için
Mobile app (Mobil uygulama)mobile_read + mobile_write@selwise/react-native SDK'sı. Okuma ve yazma birlikte gerekir: SDK olay ve sipariş de gönderir
Server-side rendering (Sunucu taraflı render)yalnızca ssr_readUygulama sunucunuzdan zenginleştirme içeriğini kendi şablonlarınıza basmak. Salt okunurdur; hiçbir tarayıcıya vermeyin — bkz. SSR API
Consent sync (İzin senkronizasyonu)yalnızca newsletter_subscribeKendi arka ucunuzdan ya da CRM'inizden, ödeme dışında alınmış bir pazarlama iznini (açık rıza ya da çekilme) POST /api/v1/public/sites/SITE_KEY/contacts/consent ile Selwise'e yazmak. Yazma-yalnızdır, geri okuyamaz
Order status sync (Sipariş durumu senkronu)yalnızca orders_writeSipariş sisteminizden, verilmiş bir siparişin iptalini, iadesini ya da geri gönderimini POST /api/v1/public/sites/SITE_KEY/orders/ORDER_ID/status ile bildirmek; Selwise böylece elde kalmayan ciroyu saymayı bırakır — bkz. Sipariş API'si. Yazma-yalnızdır

SSR, izin ve sipariş durumu anahtarları mobil çiftle bilerek birleştirilmez: sunucu anahtarı sizin dağıtım hattınızdan, CI günlüklerinizden ve konteyner imajlarınızdan geçer; sızması hiçbir şey yazamamalı, bir tanesini iptal etmek de mobil uygulamayı düşürmemelidir.

Anahtar oluşturmak

Create a key bölümünde:

AlanKural
Name (Ad)Zorunlu, en fazla 120 karakter. Sonra tanıyacağınız bir ad: "iOS app", "Storefront SSR"
Purpose (Amaç)Yukarıdaki dört seçenek. Seçenek değişince altında ne işe yaradığı yazar

Create key (Anahtar oluştur) sonrası Copy this key now kutusu anahtarı gösterir; Copy key (Anahtarı kopyala) panoya yazar ve tarayıcı reddederse "select the key and copy it by hand" der.

API karşılığı: POST /api/v1/channels/CHANNEL_ID/public-api-keys gövde name (zorunlu) ve scopes (isteğe bağlı; boşsa mobile_read + mobile_write). İzinli yetkiler: mobile_read, mobile_write, ssr_read, newsletter_subscribe, orders_write.

Nasıl sunulur

Anahtar her istekte başlıkta gider:

x-selwise-api-key: swpk_live_...

Hangi yetkinin gerektiği isteğin HTTP yönteminden türetilir:

İstekGereken yetki
GETmobile_read
POST, PUT, DELETE…mobile_write
SSR uçlarıssr_read
contacts/consentnewsletter_subscribe
orders/ORDER_ID/statusorders_write

Bunun bir sonucu: öneri ürünleri uç noktası bir POST'tur (bağlam gövdesi alır), bu yüzden yalnızca okuma yetkisi olan bir anahtar orada 403 alır ve ekranda başka açıklama yoktur. Mobil anahtar her zaman iki yetkiyi birden taşımalıdır.

Listeyi okumak

Her satırda: ad, anahtarın ilk 14 karakteri ve amacı, Last used (Son kullanım — ya da Never used, hiç kullanılmadı) ve Rotate / Revoke düğmeleri. İptal edilmiş anahtarlar Revoked (İptal edildi) olarak listede kalır.

  • Rotate (Döndür): aynı ad ve yetkilerle yeni bir anahtar üretir, eskisi anında iptal edilir. Yeni anahtar bir kez gösterilir; uygulamanızı ve sunucunuzu güncellemeden yenilemeyin.
  • Revoke (İptal et): onaydan sonra anahtarı kullanan her şey hemen çalışmayı bırakır ("Anything still using it stops working immediately"). Geri alınamaz.

Hata kodları

DurumNeden
403 Invalid API key or insufficient scopeAnahtar yanlış, iptal edilmiş, bu kanala ait değil ya da gereken yetkiyi taşımıyor (örneğin POST çağrısında yalnızca mobile_read)
401 … requires an API key in the x-selwise-api-key headerSSR, izin ya da sipariş durumu ucuna başlıksız çağrı
Uygulama kanalından her istek 403Anahtar hiç yok ya da başlık gönderilmiyor — SDK apiKey seçeneği boş
403 Site not verifiedAnahtar doğru ama bir web kanalının alan adı doğrulanmamış — bkz. Domain Doğrulama
Anahtar oluşturma API_KEY_NAME_REQUIREDAd boş

Güvenlik

Bu anahtarlar gizlidir (kanal anahtarından farklı olarak) ve sayfa kaynağına yazılmaz. Bir anahtarın sızdığından şüpheleniyorsanız Rotate edin ya da Revoke edip yenisini oluşturun.

Son güncelleme: 10 Ekim 2026