Mesajlaşma Sağlayıcıları
SMTP, SendGrid, Resend, Netgsm, İleti Merkezi, Twilio, sınırlar ve UTM
Bir senaryo e-posta ya da SMS gönderecekse mesajı Selwise hazırlar, ama gönderimi sizin kendi sağlayıcı hesabınız yapar: sizin gönderen adresinizden, sizin kotanızdan. Bu sayfa, sağlayıcıyı bağlamayı, test etmeyi, gönderim sınırlarını, bağlantı takibini (UTM), tarayıcı bildirimlerini ve bastırma listesinin nasıl beslendiğini anlatır.
Panelde nerede
Sol menüde Settings → Messaging Providers (Türkçe arayüzde Ayarlar → Mesajlaşma Sağlayıcıları), adres /dashboard/settings/messaging.
- Ekran Mesajlaşma modülüne bağlıdır. Hesabınızda bu modül yoksa menüde satır görünmez; hesap yöneticinize başvurun.
- Ekranı görmek için mesajlaşma görüntüleme yetkisi, bağlamak, düzenlemek, test etmek ve sınır ayarlamak için mesajlaşma yönetme yetkisi gerekir. Yetkisi olmayan kişi listeyi görür ama düğmeleri göremez.
- Sağlayıcılar kanal başınadır. Üstteki kanal seçicide bir kanal seçili değilse ekran "Choose a channel" (Bir kanal seçin) der.
- Sayfa yukarıdan aşağıya şunları içerir: sağlayıcı listesi, İYS kartı, Browser notifications (Tarayıcı bildirimleri), Link tracking (UTM) (Bağlantı takibi) ve How often one shopper may hear from you (Bir kişi sizden ne sıklıkta haber alsın).
Selwise gönderen taraf değildir
Listeniz spam şikâyeti alırsa bu sizin gönderici itibarınızı etkiler, çünkü gönderen sizsiniz. Selwise alan adı doğrulaması (SPF, DKIM), ısınma ya da İYS üyeliği sağlamaz. Gönderen adresi sağlayıcınızda önceden doğrulanmış olmalıdır; Selwise hiçbir DNS kaydı üretmez.
Sağlayıcı türleri ve alanları
Connect a provider (Sağlayıcı bağla) düğmesi bir pencere açar. Önce Provider (Sağlayıcı) seçilir; alt kısımdaki alanlar seçilen türe göre oluşur. Parola, API anahtarı ve benzeri gizli alanlar bir kez kaydedildikten sonra ekrana geri gelmez; düzenlerken boş bırakırsanız kayıtlı değer korunur.
| Tür | Kanal | Kimlik bilgisi alanları | Gönderen alanları |
|---|---|---|---|
| SMTP | E-posta | Host, Port, TLS on connect (port 465), Username, Password | Gönderen adresi, gönderen adı, yanıt adresi |
| SendGrid | E-posta | API key (SG. ile başlar). Anahtar SendGrid hesabınızda API anahtarları sayfasından alınır | Gönderen adresi, gönderen adı, yanıt adresi |
| Resend | E-posta | API key (re_ ile başlar) | Gönderen adresi, gönderen adı, yanıt adresi |
| Netgsm | SMS | Subscriber number (abone numarası, 850…), parola, Approved sender name (onaylı mesaj başlığı) | Ayrı gönderen alanı yoktur |
| İleti Merkezi | SMS | API key, API hash, Approved sender name | Ayrı gönderen alanı yoktur |
| Twilio | SMS | Account SID (AC…), Auth token, From number (+1… gibi E.164 numara) | Ayrı gönderen alanı yoktur |
Türkçe arayüzde alan adları şöyle basılır: Sunucu, Port, Bağlanırken TLS (port 465), Kullanıcı adı, Parola, API anahtarı, Abone numarası, Onaylı gönderici adı, API hash, Hesap SID, Kimlik jetonu, Gönderen numara.
Netgsm, İleti Merkezi ve Twilio'da gönderen adı bir onaylı başlıktır; sağlayıcınız onaylamadığı bir başlığı reddeder, bu yüzden ortak "gönderen adresi" kutusu yerine kimlik bilgisinin parçası olarak istenir. Her kimlik bilgisi alanının yanında nereden alınacağını gösteren bir "Bunu nereden bulurum?" bağlantısı vardır.
Ortak alanlar
| Alan | Açıklama |
|---|---|
| Name (Ad) | Listede göreceğiniz ad, en çok 120 karakter. Aynı kanalda iki sağlayıcı aynı adı taşıyamaz; çakışırsa kutunun altında "zaten var" uyarısı çıkar |
| Sender address (Gönderen adresi) | Yalnızca e-posta türlerinde zorunlu. Sağlayıcınızda doğrulanmış olmalı |
| Sender name (Gönderen adı) | Alıcının gelen kutusunda gördüğü ad, en çok 120 karakter |
| Reply-to (Yanıt adresi) | Alıcı "yanıtla" dediğinde gidilecek adres; boş bırakılabilir. Düzenlerken boşaltırsanız adres silinir |
| Rate limit (per minute) (Hız sınırı) | 1 ile 6000 arası tam sayı, varsayılan 60. Aşağıdaki "Hız sınırı gerçekte ne yapar" bölümüne bakın |
Tür, sağlayıcı oluşturulduktan sonra değiştirilemez; kimlik bilgisi alanları türe göre farklı olduğu için başka türe geçmek yeniden bağlamak demektir.
Doğrulama ve test
Bir sağlayıcı doğrulanmadan senaryo tarafından kullanılamaz. Satırdaki durum rozeti bunu söyler:
| Rozet | Anlamı |
|---|---|
| Never tested (Hiç test edilmedi) | Her sağlayıcı bu durumda başlar. Bu bir hata değildir; sıradaki adım satırdaki Test connection düğmesidir |
| Verified (Doğrulandı) | Bağlantı testi ya da test gönderimi başarılı oldu |
| Failed (Başarısız) | Son test başarısız. Rozetin üzerine gelince sağlayıcının kendi hata cümlesi görünür |
| Inactive (Pasif) | Sağlayıcı devre dışı bırakılmış. Panelde pasifleştirme düğmesi yoktur; durum yalnızca API ile verilir |
Satırdaki düğmeler:
- Test connection (Bağlantıyı test et): sağlayıcıya kimlik doğrulaması yapar, hiçbir mesaj göndermez. Dakikada en çok 10 kez basılabilir.
- Send me a test (Bana test gönder): e-posta sağlayıcısında oturum açmış kullanıcının e-posta adresine gerçek bir mesaj gönderir; alıcı seçilemez. SMS sağlayıcısında bir telefon numarası sorulur (uluslararası biçimde,
+905321112233) ve test mesajı oraya gider; numara denetim kaydına maskelenerek yazılır. Başarılı olursa sağlayıcı da doğrulanmış sayılır. Dakikada en çok 5 kez basılabilir. - Edit (Düzenle): alanları değiştirir. Kimlik bilgisini değiştirirseniz doğrulama silinir; yeniden test etmeniz gerekir. Çalışan bir anahtar, yerine yazdığınızın çalıştığını kanıtlamaz.
- Yıldız simgesi, Make default (Varsayılan yap): yalnızca doğrulanmış ve henüz varsayılan olmayan sağlayıcıda görünür.
- Çöp kutusu, Disconnect (Bağlantıyı kes): onay sormadan siler.
SMS sağlayıcılarında Bana test gönder güvenilir değildir
Düğme alıcı olarak oturumdaki kullanıcının e-posta adresini kullanır; bir SMS sağlayıcısına bu adres telefon numarası gibi gider. SMS sağlayıcısını doğrulamak için Test connection kullanın.
Varsayılan sağlayıcı
E-posta ve SMS için ayrı birer varsayılan vardır. Bir kanalda bağladığınız ilk sağlayıcı kendiliğinden varsayılan olur. Varsayılanı silerseniz o kanalda kalan en eski sağlayıcı varsayılan olur; böylece "varsayılanı kullan" diyen hiçbir senaryo adımı sağlayıcısız kalmaz. Başka birini varsayılan yapmak için önce onun doğrulanmış olması gerekir.
Hız sınırı gerçekte ne yapar
Ekranda alanın açıklaması "dakikada göndereceğimiz mesaj sayısı"dır. Gönderim işçisi her dakika bir tur çalışır ve bir turda sağlayıcı başına bu sınırın tamamını gönderir; ancak bir tur kanal başına en çok 100 kayıt alır. Yani varsayılan 60 değeri dakikada 60 mesajdır; 100'ün üstündeki değerler pratikte dakikada 100 mesaj demektir. Sınırı aşan kayıtlar atlanmaz, bir sonraki tura kalır ve deneme hakkından düşmez. Büyük bir kuyruğun boşalması bu yüzden beklediğinizden uzun sürebilir.
Mesaj gönderilirken kontrol edilenler
Her mesaj gönderim anında yeniden denetlenir; kuyrukta beklerken biri izni geri çekmiş olabilir. Gönderilmeyen mesaj, senaryo raporunda şu nedenlerden biriyle atlandı sayılır:
| Rapordaki neden | Anlamı |
|---|---|
İzin yok (consent_missing) | Kişinin pazarlama izni yok ya da geri çekildi. Bkz. İletişim Listesi |
Ulaşılamadı (not_reachable) | Kişinin bu kanalda kayıtlı adresi yok |
Bastırma listesinde (suppressed) | Adres bastırma listesinde. Bkz. Bastırma Listesi |
İYS kaydı yok (iys_missing) | İYS kuralı gönderimi durdurdu. Bkz. İYS Entegrasyonu |
Gösterim sınırı (frequency_cap) | Kişi başına günlük ya da haftalık tavan doldu |
Doğrulanmış sağlayıcı yok (provider_unavailable) | Kanalda doğrulanmış, etkin bir sağlayıcı yok |
Abonelikten çıkma bağlantısı kurulamadı (misconfigured) | Sunucu tarafında genel API adresi (API_PUBLIC_URL) tanımlı değil; bkz. aşağıdaki bölüm |
Zamanında geri dönmedi (ttl_expired) | Mesaj, adımın bekleme süresi içinde gönderilemedi ve süresi doldu |
Gönderim sırasında hata olursa:
- Geçici hata (sağlayıcı yanıt vermiyor, hız sınırı): en çok 4 deneme yapılır.
- Kalıcı hata (adres geçersiz): adres bastırma listesine Kullanılabilir bir adres değil nedeniyle eklenir ve mesaj başarısız sayılır.
- Zaman aşımı: sağlayıcıdan cevap gelmemesi gönderilmiş sayılır ve tekrar denenmez; aynı mesajın iki kez gitmesi, hiç gitmemesinden kötü kabul edilir. Rapor bunu "başarısız" olarak gösterir.
Çalışma dışı kalan bir sağlayıcıya art arda istek atmamak için bir devre kesici vardır: sağlayıcı sürekli hata veriyorsa gönderim duraklar ve sağlayıcı düzelince kendiliğinden devam eder.
Gönderim sınırları
Kartın başlığı How often one shopper may hear from you (Bir kişi sizden ne sıklıkta haber alsın). Yalnızca mesajlaşma yönetme yetkisi olanlara görünür ve kanalın tamamı için geçerlidir.
| Alan | Aralık | Anlamı |
|---|---|---|
| Per day (Günde) | 1 ile 100 | Bir kişiye son 24 saatte teslim edilmiş mesaj sayısı bu değere ulaştıysa yenisi atlanır |
| Per week (Haftada) | 1 ile 500 | Aynısı son 7 gün için |
- Boş bırakmak "sınır yok" demektir, sıfır demek değildir. 0 ya da negatif sayı yazarsanız kutunun altında hata görürsünüz; sessizce "sınır yok" olarak kaydedilmez.
- Sayım, teslim edilmiş mesajlar üzerinden, kişi (iletişim kaydı) ve mesaj kanalı başınadır: e-posta ve SMS ayrı sayılır. Tarayıcı bildirimleri kendi sayımını tarayıcı üzerinden yapar. Bu kanaldaki tüm senaryolar birlikte sayılır.
- Sınırı aşan mesaj bekletilmez, atlanır. Pencere ilerlediğinde kişi ya satın almış ya unutmuş olur; geç boşalan bir kuyruk da hepsini birden gönderir.
- E-posta, SMS ve web push adımlarındaki Respect frequency caps (Türkçe arayüzde Gösterim sınırlarına uy) ayarı kapalıysa o adım bu sınıra bakmaz.
- Sayım okunamazsa tur sınırsız gönderime geçmez, bekler.
Bağlantı takibi UTM
Kart, e-posta, SMS ve tarayıcı bildirimlerindeki mağazanıza giden bağlantılara utm_source, utm_medium, utm_campaign ve utm_content ekler; ziyaret kendi analitik aracınızda (Google Analytics gibi) o mesajın altında görünür. Varsayılan açıktır.
| Alan | Varsayılan | Açıklama |
|---|---|---|
| Tag links in outgoing messages | Açık | Kanal genelinde etiketlemeyi açar ya da kapatır. Her mesaj kendi düzenleyicisinde bunu değiştirebilir |
| utm_source | selwise | Boş bırakırsanız selwise kullanılır |
| utm_medium | e-posta email, SMS sms, tarayıcı bildirimi push | Üç kanal için ayrı ayrı |
| utm_campaign | Boş: mesajın adı | Mesajın adı küçük harfli, tireli bir biçime çevrilir (Türkçe harfler sadeleşir); web push için senaryonun adı kullanılır |
| Which links | Yalnızca mağazama giden bağlantılar | Mağaza sayılan adresler kartta yazar (www'lu ya da www'suz, alt alan adları dahil). Every http(s) link seçilirse başka sitelere giden bağlantılar da etiketlenir ve onların analitiği kampanya adlarınızı görür |
Kurallar: kendi yazdığınız bir utm_* parametresinin üzerine yazılmaz; mailto:, tel:, # bağlantıları ve abonelikten çıkma bağlantısı etiketlenmez; kişisel veri (ad gibi) hiçbir zaman utm_content içine girmez. SMS'teki bir bağlantıyı etiketlemek karakter ekler ve sağlayıcı parça başına ücret alır; mesaj önizlemesi bu karakterleri de sayar.
Selwise bu etiketleri raporlamaz
Etiketler sizin kendi analitik aracınız içindir. Selwise etiketlerden ziyaret ya da gelir türetmez; bir mesajın gelire katkısı Selwise raporlarında bu etiketlerle hesaplanmaz.
Selwise'ın kendi ölçümü ayrı bir parametredir: mağazanıza giden her bağlantıya, bu kart kapalı olsa bile, mesajı gönderen senaryonun kimliğini taşıyan sw_sc eklenir. Başka sitelere giden bağlantılara Which links seçiminden bağımsız olarak hiç eklenmez ve alıcı hakkında bilgi taşımaz. Ayrıntı: Mesajlar.
Tarayıcı bildirimleri
Bağlanacak bir sağlayıcı yoktur. Kimlik bilgisi kanalın kendi anahtar çiftidir (VAPID) ve izin, bir sağlayıcıya değil sizin alan adınıza verilir. Bu yalnızca web kanalında vardır; uygulama kanalında kart "Uygulama kanalının bildirim gönderecek tarayıcısı yok" der.
Kurulum iki parçadır ve ikisi de gerekir; anahtar olup service worker yoksa kanal hazır görünür ama hiçbir bildirim ulaşmaz.
- Generate keys (Anahtarları üret): kanalın anahtar çiftini oluşturur. Kart Ready (Hazır) olur, açık anahtar ekranda görünür ve abone sayısı yazar (örn. "12 abone tarayıcı · 3 kayıp").
- Download selwise-sw.js: dosyayı indirip alan adınızın kökünde
/selwise-sw.jsolarak yayınlayın. Bir service worker'ın kapsamı, sunulduğu klasörden geniş olamaz ve bildirim her sayfada çalışmalıdır. - Tarayıcıdan izin isteyin: aşağıdaki kartı açın ya da kendi düğmenizden
Selwise.requestPushPermission()çağırın. Tarayıcının kendi istemi yalnızca bir tıklamadan sonra çıkar, sayfa yüklenirken asla.
| Alan | Açıklama |
|---|---|
| Contact address (İletişim adresi) | mailto: ya da https: ile başlamalı, en çok 255 karakter. Push servisi trafiğiniz hakkında size ulaşabilsin diye gereklidir; boş bırakırsanız Selwise'in kendi adresi kullanılır. Anahtarlar hazırsa değiştirdiğinizde ayrıca bir kaydet düğmesi çıkar |
| Public key (Açık anahtar) | Salt okunur |
| Subscribed browsers (Abone tarayıcı) | Etkin abonelik sayısı; gone (kayıp) olarak yazılan, push servisinin artık bulunmadığını bildirdiği tarayıcılardır |
Yeni anahtar üretmek bütün aboneleri kaybettirir
Eski anahtarla abone olmuş her tarayıcı, yeni anahtarla imzalanmış bildirimi reddeder. Generate new keys (Yeni anahtar üret) bunu abone sayısıyla birlikte onayınıza sunar. Gerçekten sıfırdan başlayacaksanız basın.
Tarayıcıdan önce siz sorun
Tarayıcı bir siteye ömür boyu tek istem hakkı verir ve ikinci reddedişte siteyi kalıcı olarak engeller. Bu kart, tarayıcının isteminden önce sizin kartınızı gösterir; tarayıcının kendi istemi yalnızca alışverişçi kartın izin düğmesine tıkladığında çıkar. Kart kampanya değildir: sayfa hedeflemesi, deney ya da gösterim sınırı onu gizleyemez.
| Alan | Aralık ya da varsayılan | Açıklama |
|---|---|---|
| Show this ask on your storefront | Kapalı | Anahtarlar üretilmeden açılamaz ("Önce anahtarları oluşturun") |
| Title (Başlık) | En çok 80 karakter | Varsayılan: "Hiçbir şeyi kaçırmayın" |
| Message (Mesaj) | En çok 240 karakter | |
| Allow button (İzin düğmesi) | En çok 40 karakter | Varsayılan: "İzin ver" |
| Not now button (Şimdi değil düğmesi) | En çok 40 karakter | Varsayılan: "Şimdi değil" |
| Ask after (page views) | 1 ile 20, varsayılan 2 | Bir tarayıcının sorulmadan önce görmüş olması gereken sayfa sayısı |
| Ask again after (days) | 1 ile 365, varsayılan 30 | "Şimdi değil" cevabına ne kadar süre saygı gösterileceği |
Bütün metinler dolu olmalıdır; metni boş bir kart çizilmez. Kaydettikten sonra mağazalar değişikliği yaklaşık bir dakika içinde alır. Kart şu durumlarda gösterilmez: tarayıcı kararını zaten verdiyse, sayfa sayısı eşiğine ulaşılmadıysa, çerez bildirimi hâlâ yanıt bekliyorsa, kanalın anahtarı yoksa. Ayrıntı: Ulaşılabilirlik.
Abonelik yaşam döngüsü
- Alışverişçi izin verince tarayıcısı kanalınıza abone olur; bir alışverişçinin birden çok tarayıcısı (dizüstü, telefon) olabilir. Mesaj, herhangi bir tarayıcı kabul ederse "teslim edildi" sayılır; üç tarayıcı tek mesajı üç kez saymaz.
- Push servisi bir tarayıcı için "yok" (404 ya da 410 Gone) derse abonelik süresi dolmuş işaretlenir ve kartta kayıp sayısına eklenir. Bu bir arıza değil, listenin doğal erimesidir; teslimat hata olarak değil, "Ulaşılamadı" nedeniyle atlandı sayılır. Tarayıcı geri dönerse yeni bir abonelik olarak gelir.
- Alışverişçi izni geri alırsa abonelik silinir.
- Geçici push hatalarında en çok 3 deneme yapılır.
Abonelikten çıkma bağlantısı
Her e-posta mesajı alt bilgisinde ve List-Unsubscribe başlığında (tek tıkla çıkış, RFC 8058) bir bağlantı taşır. Bağlantı bir önceki mesajdan haftalar sonra da çalışır, çünkü kişiye özel ve türetilmiş bir anahtar kullanır. Alışverişçi bağlantıya tıklayınca izin geri çekilir; açılan sayfada Changed your mind? Resubscribe düğmesi vardır. Aynı kişinin bastırma listesinde ayrıca bir kaydı varsa (geri dönüş, spam) yeniden abone olmak onu kaldırmaz.
SMS mesajlarında Selwise abonelikten çıkma bağlantısı eklemez; "çıkış" satırını sağlayıcınız İYS yükümlülüğü kapsamında ekler. Bu yüzden metne kendiniz yazmayın, alışverişçi iki kez görür.
Genel API adresi tanımlı değilse e-posta gitmez
Bağlantı mutlak bir adres gerektirir. Selwise sunucusunda API_PUBLIC_URL ayarı yoksa e-posta, ölü bir bağlantıyla gönderilmek yerine Abonelikten çıkma bağlantısı kurulamadı nedeniyle atlanır. Bu, sizin panelden düzeltebileceğiniz bir ayar değildir; raporda bu nedeni görürseniz hesap yöneticinize bildirin.
Teslimat olayları
Sağlayıcının bildirdiği geri dönüşler ve spam şikâyetleri bastırma listesini besler. Selwise bu olayları sağlayıcıdan bir webhook ile alır ve imzayı doğrulayamazsa olayı çöpe atar; böylece adresi bilen biri listenizi bastıramaz.
| Sağlayıcı | Olaylar | Durum |
|---|---|---|
| SendGrid | teslim edildi, açıldı, tıklandı, geri döndü (sert, engellendi, ertelendi), spam şikâyeti | İmza anahtarı sunucuda tanımlıysa |
| Resend | teslim edildi, açıldı, tıklandı, geri döndü, geç teslim, şikâyet | İmza sırrı sunucuda tanımlıysa |
| SMTP | Yok | Geri dönüşler iade adresine posta olarak gelir; Selwise bunu işlemez |
| Netgsm, İleti Merkezi, Twilio | Yok | Teslim raporları geri çağrı değil sorgudur; bastırma listesi yalnızca gönderimin kendi bildirdiği kalıcı hatalarla dolar |
Panelde webhook adresi gösterilmez ve imza anahtarı panelden girilmez; bunu Selwise ekibi sunucu tarafında yapılandırır. Geliştirici notu: olaylar POST /api/v1/public/messaging/SITE_KEY/PROVIDER_ID/events adresine gelir, imza yoksa ya da geçersizse sessizce düşürülür, cevap her zaman 200'dür.
Geri dönüşlerin liste üzerindeki sonucu, adresin bastırılma nedenleri ve listeden çıkarma kuralları için bkz. Bastırma Listesi.
İYS kartı
Kart, bu kanalın İYS bağlantısını Open İYS settings (İYS ayarlarını aç) düğmesiyle açar. Alanların tamamı İYS Entegrasyonu sayfasında anlatılır.
Neden boş, neden gri
| Gördüğünüz | Neden |
|---|---|
| Sol menüde satır yok | Hesapta Mesajlaşma modülü yok |
| "Choose a channel" | Üstte kanal seçili değil |
| "No provider connected" | Kanalda henüz sağlayıcı yok; senaryo yine de sayfa üstü teslimat bırakabilir ya da kendi uç noktanızı çağırabilir, ama e-posta ya da SMS gönderemez |
| Make default yıldızı yok | Sağlayıcı zaten varsayılan ya da henüz doğrulanmamış |
| Düğmeler yok | Mesajlaşma yönetme yetkiniz yok |
| Sending limits kartı yok | Aynı yetki; kart yalnızca yönetme yetkisi olanlara çizilir |
| Tarayıcı bildirimi kartında "Uygulama kanalının bildirim gönderecek tarayıcısı yok" | Seçili kanal bir uygulama kanalı |
Son güncelleme: 10 Ekim 2026