WordPress SMS Entegrasyonu
Sanal Santral SMS eklentisi ile WordPress sitenizden ve WooCommerce mağazanızdan SMS gönderebilirsiniz: sipariş durumu ve kargo bildirimleri müşterinize kendiliğinden gider, onay veren müşterilerinize kampanya SMS'i gönderirsiniz, her gönderimin sonucu kayıt altında kalır.
Gereksinimler
- WordPress 7.0 veya 7.1, PHP 7.4 ya da üstü
- Sanal Santral SMS hesabı: API kullanıcı adı, API anahtarı ve onaylı en az bir SMS başlığı
- Sipariş ve kargo SMS'leri için WooCommerce
Not: SMS yalnızca Türkiye cep numaralarına gönderilir. Sabit hat ve yurt dışı numaralar gönderilmeden ayıklanır ve nedeniyle kayda geçer.
Kurulum
1. Eklenti dosyasını (sanalsantral-sms.zip) buradan indiriniz.
2. WordPress panelinde Eklentiler > Yeni Eklenti Ekle > Eklenti Yükle alanına giderek zip dosyasını seçiniz ve Şimdi Kur butonuna tıklayınız.
3. Eklentiyi Etkinleştir butonuna tıklayınız. Sol menüde Sanal Santral SMS başlığı görünecektir.
Yeni sürümler WordPress'in Eklentiler ekranında gösterilir ve tek tıkla güncellenir.
Hesabın Bağlanması
1. Sanal Santral SMS > Ayarlar sayfasını açınız.
2. API adresi alanı varsayılan olarak https://sms.sanalsantral.com.tr:9588 gelir, değiştirmeyiniz.
3. Kullanıcı adı ve API anahtarı (token) alanlarına Sanal Santral API bilgilerinizi yazarak Değişiklikleri kaydet butonuna tıklayınız.
4. Sayfanın altındaki Göndericileri senkronize et butonuna tıklayınız. Hesabınızdaki onaylı başlıklar listeye gelir; hesapta tek başlık varsa otomatik seçilir.
5. Gönderici başlığı listesinden SMS'lerin gideceği başlığı seçerek tekrar kaydediniz.

Not: Kaydedilen API anahtarı ekranda gösterilmez. Alanı boş bırakmak mevcut anahtarı korur.
Test SMS'i
Ayarlar sayfasının en altındaki Test SMS'i gönder bölümüne kendi cep numaranızı ve bir mesaj yazarak gönderiniz. Sonuç sayfanın üstünde görünür ve SMS Kayıtları ekranına düşer.
Numara 0532 123 45 67, +90 532 123 45 67 ya da 905321234567 şeklinde yazılabilir; hepsi aynı numaraya gider.
Sipariş SMS'leri
1. Sanal Santral SMS > Sipariş SMS'leri sayfasını açınız.
2. Durum SMS'i kutucuğunu işaretleyiniz.
3. SMS gönderilmesini istediğiniz sipariş durumlarını seçip şablonları düzenleyerek kaydediniz.

SMS, siparişteki fatura telefonuna gider. Gönderilen ya da gönderilemeyen her SMS siparişe not olarak eklenir.
Şablonlarda kullanılabilecek değişkenler:
| Değişken | Değer |
|---|---|
| {first_name} {last_name} | Fatura adı ve soyadı |
| {order_number} | Sipariş numarası |
| {order_status} | Siparişin güncel durumu |
| {order_total} | Sipariş tutarı |
| {order_url} | Müşterinin sipariş detay sayfası |
| {carrier} {tracking_number} {tracking_url} | Kargo firması, takip numarası ve takip linki |
| {site} | Site adı |
Sipariş düzenleme ekranının sağındaki SMS kutusundan o siparişin müşterisine ayrıca serbest metin gönderebilirsiniz.

Kargo SMS'i
Kargo SMS'i, takip numarası kargo eklentinizde, ERP sisteminizde ya da kargo firmasının bildiriminde oluştuğu anda gönderilir. Eklenti takip numarasını siparişe kaydeder, Sipariş SMS'leri > Kargo SMS'i şablonunu doldurur, müşteriye gönderir ve siparişe not düşer. Aynı takip numarası için SMS yalnızca bir kez gider.
Sipariş SMS'leri sayfasında kargo mesajını, varsayılan kargo firmasını ve takip adresini (örneğin https://kargotakip.example.com/?no={tracking_number}) ayarlayabilirsiniz.
Takip numarası üç yoldan iletilebilir:
PHP fonksiyonu
ss_sms_wc_send_shipping( $order_id, array(
'tracking_number' => 'KRG1234567890',
'carrier' => 'Örnek Kargo',
) );
WordPress action'ı (kargo eklentisinin bu eklentiye bağımlı olması gerekmez)
do_action( 'ss_sms_wc_shipped', $order_id, array( 'tracking_number' => 'KRG1234567890' ) );
REST API (siparişleri düzenleme yetkisi olan bir kullanıcının uygulama parolasıyla)
curl -X POST "https://magazaniz.com/wp-json/sanalsantral-sms/v1/orders/1234/shipping" \
-u "kullanici:uygulama-parolasi" \
-H "Content-Type: application/json" \
-d '{ "tracking_number": "KRG1234567890", "carrier": "Örnek Kargo" }'

Not: Aynı takip numarası ile tekrar çağrıldığında SMS gönderilmez (REST yanıtı 409). Bilerek yeniden göndermek için force parametresini true olarak gönderiniz.
Kampanya SMS'i
Not: Ticari (kampanya) SMS'ler yalnızca onay veren kişilere gönderilebilir ve gönderenin İYS'ye (İleti Yönetim Sistemi) kayıtlı olması gerekir. Sipariş ve kargo bildirimleri bilgilendirme mesajıdır, onay gerektirmez.
Kampanya SMS onayı ödeme sayfasındaki kutucuktan, Hesabım > Hesap detayları ekranından ve kullanıcı profilinden toplanır. Onayın verildiği zaman kaydedilir.
1. Sanal Santral SMS > Toplu SMS sayfasını açınız.
2. Alıcı olarak onay veren herkesi (isterseniz tek bir rolle sınırlayarak) ya da şu numaralar kutusuna her satıra bir numara gelecek şekilde kendi listenizi seçiniz.
3. Mesajınızı yazınız. {first_name}, {last_name} ve {site} her alıcı için doldurulur.
4. SMS gönder butonuna tıklayıp onaylayınız. Gönderim bitince gönderilen ve başarısız sayısı gösterilir.

Aynı numara listede birden fazla kez geçse de bir kez gönderilir.
SMS Kayıtları
Sanal Santral SMS > SMS Kayıtları ekranında gönderilen ve başarısız her mesaj tarih, numara, durum, mesaj, kaynak, gönderici ve paket numarasıyla listelenir. Duruma göre filtreleyebilir, numara, hata ya da kaynağa göre arama yapabilirsiniz. Tek kullanımlık kodların içeriği kaydedilmez.

| Görünen hata | Yapılması gereken |
|---|---|
| Numara yok | Siparişte ya da profilde telefon bulunmuyor. |
| Hatalı numara biçimi | Numara bir Türkiye cep numarası değil. |
| Ülke desteklenmiyor | Yurt dışı numarası; gönderilmez. |
| Yetersiz kredi | SMS paketinizi yenileyiniz. |
| Hesap veya başlık sorunu | API bilgilerini ve seçili başlığı kontrol ediniz. |
| Servis hatası | Geçici bir sorundur; bir süre sonra tekrar deneyiniz. |
Not: Hata metninde "İletim durumu bilinmiyor" yazıyorsa istek servise ulaşmış ancak yanıt alınamamıştır; mesaj gitmiş olabilir. Tekrar göndermeden önce SMS panelinizden kontrol ediniz.
Sık Karşılaşılan Sorunlar
ERRUNAUTHORIZEDREQUEST hatası: Kullanıcı adı veya API anahtarı hatalı, hesapta API erişimi açık değil ya da servis yalnızca izinli IP adreslerinden istek kabul ediyor olabilir. Destek ekibimizle iletişime geçiniz.
Göndericiler listesi boş: Önce kullanıcı adı ve API anahtarını kaydedip ardından Göndericileri senkronize et butonuna tıklayınız. Hesabınızda onaylı başlık yoksa SMS başlık talebi oluşturmanız gerekir.
Sipariş SMS'i gitmiyor: Sipariş SMS'leri sayfasında Durum SMS'i ve ilgili durumun işaretli olduğunu, siparişteki telefonun Türkiye cep numarası olduğunu kontrol ediniz. Siparişin notlarında gönderilemeyen SMS'in nedeni yazar.
SMS servisine ulaşılamadı: Sunucunuzun sms.sanalsantral.com.tr adresine 9588 portundan çıkışı kapalıdır. Barındırma firmanızdan bu port için izin isteyiniz.
İki adımlı giriş doğrulaması için WordPress 2 Adımlı Giriş Doğrulama Eklentisi sayfasına bakınız.
WordPress®, WordPress Foundation'ın; WooCommerce®, Automattic Inc.'in tescilli markasıdır. Sanal Santral'ın bu kuruluşlarla bir bağlantısı yoktur; adlar yalnızca uyumluluğu belirtmek için kullanılmıştır. Örneklerdeki kargo firması adı ve takip numaraları temsilidir.