E-ticaret İçin WhatsApp Sipariş ve Kargo Bildirimi
E-ticarette müşteri deneyimi büyük ölçüde "siparişim ne durumda?" sorusunun etrafında döner. SMS pahalı ve tek yönlü, e-posta ise açılma oranı düşük. WhatsApp bildirimleri hem okunuyor hem de anında geri dönüş imkânı veriyor. Bu rehberde sipariş onayından kargo takibine, iade sürecinden stok uyarısına kadar tüm e-ticaret bildirimlerini WhatsApp'tan otomatik nasıl göndereceğinizi; kritik olan hizmet bildirimi ile pazarlama ayrımını; ve sipariş sisteminizden HTTP API ile tetiklemeyi anlatıyoruz.
1. Neden WhatsApp e-ticaret bildirimi?
Bir çevrimiçi mağaza için sipariş sonrası iletişim, satışın kendisi kadar önemlidir. Müşteri parasını ödedikten sonra sessizlik, en sık gelen destek biletlerinin ("kargom nerede?") ve iade taleplerinin başlıca sebebidir. WhatsApp bildirimleri bu boşluğu doldurur:
- Yüksek okunma: Mesajlar neredeyse anında görülür; e-postanın aksine spam klasörüne düşmez.
- Çift yönlü: Müşteri "adresim yanlış" veya "teslimatı erteleyin" diye aynı kanaldan yanıt verebilir.
- Zengin içerik: Kargo takip linki, fatura PDF'i veya ürün görseli tek mesajda gider.
- Maliyet: QR tabanlı self-hosted sistemde mesaj başına ücret yoktur — SMS'in aksine hacim büyüdükçe fatura artmaz.
WhatsApp'ı SMS ile karşılaştıran detaylı bir analiz için WhatsApp mı SMS mi yazısına bakın. Özet: teslimat bildirimlerinde WhatsApp hem daha ucuz hem daha etkileşimli.
2. E-ticaret bildirim türleri
Bir sipariş yaşam döngüsü boyunca birkaç doğal "tetik" noktası vardır. Her biri için tek amaçlı, kısa bir mesaj en iyisidir:
| Bildirim | Tetik | Kategori |
|---|---|---|
| Sipariş onayı | Ödeme alındı | Hizmet |
| Kargoya verildi + takip no | Sipariş "kargolandı" | Hizmet |
| Dağıtımda / bugün teslim | Kargo firması durumu | Hizmet |
| Teslim edildi | Teslimat onayı | Hizmet |
| İade / değişim durumu | İade talebi güncellemesi | Hizmet |
| "Tekrar stokta" uyarısı | Stok girişi | Pazarlama* |
| Kampanya / indirim | Kampanya başlangıcı | Pazarlama |
* "Tekrar stokta" bildirimi, müşteri o ürün için açıkça haber isteğinde bulunduysa (stok alarmı kurduysa) hizmet-benzeri kabul edilebilir; aksi halde pazarlama tarafındadır. Bu ayrım bir sonraki bölümün konusu.
3. Kritik ayrım: hizmet bildirimi mi, pazarlama mı?
E-ticaret bildirimlerinde en çok karıştırılan ve en çok risk taşıyan konu budur. Türk mevzuatında (6563 sayılı Kanun ve İYS) ticari elektronik ileti için alıcının önceden onayı gerekir. Ancak sözleşmenin ifasıyla ilgili bilgilendirmeler bu kapsamın dışındadır:
- Hizmet bildirimi (onay gerektirmez): Sipariş onayı, kargo takibi, teslimat durumu, iade sürecinin güncellenmesi. Bunlar müşterinin kendi başlattığı işlemin sonucudur.
- Pazarlama (açık rıza + İYS onayı gerektirir): İndirim duyurusu, "sepetinizi unuttunuz", yeni ürün tanıtımı, kampanya. Bunlar müşteriye satış yapmayı amaçlar.
Pratik kural: mesajın amacı müşteriye bir şey satmaksa pazarlamadır ve izin ister; amaç müşterinin zaten yaptığı alışverişi bilgilendirmekse hizmettir. En temiz yaklaşım, iki grubu ayrı listelerde tutmak ve pazarlama mesajlarına daima opt-out satırı ("İPTAL yazın") eklemektir.
Etik ve yasal not: Hizmet bildirimleri izin muafiyetine girse bile, bir siparişin arasına indirim kuponu sıkıştırmak o mesajı pazarlamaya dönüştürür ve şikâyet riskini artırır. Pazarlama mesajları için açık rıza (KVKK 6698), İYS onayı ve opt-out zorunludur; AB'deki müşteriler için GDPR geçerlidir. Ayrıntı için KVKK'ya uygun toplu mesaj ve toplu mesaj yasal mı yazılarına bakın.
4. Sipariş sisteminden otomatik tetikleme (HTTP API)
E-ticaret bildirimlerinin gerçek gücü otomasyonda. Müşteri hizmetlerinin tek tek mesaj yazması yerine, sipariş sisteminiz durum değiştikçe bildirimi kendisi tetiklemelidir. Sistem bunun için gizli bir anahtarla (WA_CONTROL_SECRET) korunan bir HTTP uç noktası sunar:
| Adım | Ne olur |
|---|---|
| 1. Sipariş durumu değişir | Örn. "kargolandı" olur; e-ticaret altyapısı webhook fırlatır |
| 2. POST isteği | Numara + şablon metni, auth secret ile server'a gönderilir |
| 3. Kuyruğa ekleme | Server doğrular ve BullMQ kuyruğuna yazar; kendisi göndermez |
| 4. Worker gönderir | Anti-ban zamanlamasıyla mesaj müşteriye ulaşır |
Örnek bir tetikleme isteği şuna benzer:
curl -X POST https://sunucunuz/api/send \
-H "Authorization: Bearer $WA_CONTROL_SECRET" \
-H "Content-Type: application/json" \
-d '{
"to": "905551112233",
"message": "Merhaba Ayşe, #10482 numaralı siparişiniz kargoya verildi. Takip: https://kargo.example/AB123"
}'
Bu sayede Shopify, WooCommerce, Ticimax gibi altyapıların "sipariş durumu değişti" webhook'unu doğrudan bu uç noktaya bağlayabilir; forma, CRM'e veya kendi sipariş panelinize entegre edebilirsiniz. Entegrasyonun tüm detayları için WhatsApp HTTP API entegrasyonu yazısına bakın. Zamanlanmış hatırlatmalar (örneğin teslimat günü sabahı) için ise otomatik mesaj gönderme mantığı devreye girer.
5. Hazır e-ticaret şablonları
İyi bir bildirim mesajı kısa, kişiselleştirilmiş ve tek amaçlıdır. Sipariş numarası, isim ve takip linki gibi değişkenleri her müşteri için doldurun. Aşağıdaki şablonları başlangıç olarak kullanabilirsiniz:
Sipariş onayı
Merhaba [Ad], #[Sipariş No] numaralı siparişinizi aldık ✅ Toplam: [Tutar] ₺. Kargoya verildiğinde sizi bilgilendireceğiz. Teşekkürler!
Kargo bildirimi
Merhaba [Ad], #[Sipariş No] numaralı siparişiniz [Kargo Firması] ile yola çıktı 🚚 Takip no: [Takip No] — [Takip Linki]. Tahmini teslim: [Tarih].
Teslim edildi
Merhaba [Ad], #[Sipariş No] numaralı siparişiniz teslim edildi 📦 Umarız beğenirsiniz! Bir sorun olursa bu mesaja yanıt vermeniz yeterli.
İade / değişim durumu
Merhaba [Ad], [Ürün] için iade talebinizi aldık. Durum: [Durum]. İadeniz onaylandığında ücret 1-3 iş günü içinde iade edilir.
Tekrar stokta (pazarlama — izinli listeye)
Merhaba [Ad], beklediğiniz [Ürün] tekrar stokta! Buradan inceleyebilirsiniz: [Link]. Bu bildirimleri istemiyorsanız İPTAL yazın.
Daha fazla kategori ve yazım kuralı için hazır mesaj şablonları yazısına göz atın. Randevu/teslimat günü hatırlatmaları için randevu hatırlatma mantığı benzerdir.
6. Yoğun sezonda ban güvenliği
Kampanya günlerinde yüzlerce sipariş aynı dakikada düşebilir. Bu bildirimleri arka arkaya hızla gönderirseniz WhatsApp'ın spam algoritması numaranızı işaretler. Sistem bunu önlemek için tüm bildirimleri kuyruğa alır ve insan hızında gönderir:
| Kural | Değer |
|---|---|
| Mesajlar arası bekleme | 45–90 sn (medyada 67–135 sn) |
| Burst molası | Her 15 mesajda 8–12 dk |
| Gönderim penceresi | 05:00–23:00 (yerel saat) |
| Efektif hız | ~25–30 mesaj/saat, günde ~450–500 |
Yani 800 siparişlik bir kampanya, aynı anda değil birkaç güne yayılarak bildirilir. Sipariş onayı gibi zaman-kritik mesajlarda bu gecikmeyi göz önünde bulundurun; öncelik sırasını doğru kurgulamak için gönderimleri kategoriye göre ayırın (onaylar önce, pazarlama sonra). Anti-ban kurallarının tam listesi ve gerekçesi için ban yememek için kurallar yazısına bakın; yeni bir numarayla başlıyorsanız numara ısıtma adımını atlamayın.
Sık sorulan sorular
Sipariş ve kargo bildirimi için müşteriden ayrı izin almam gerekir mi?
Sipariş onayı, kargo ve iade gibi bildirimler siparişin ifasıyla ilgili hizmet bildirimleridir; pazarlama iznine tabi değildir. Ancak indirim/kampanya veya "tekrar stokta" mesajları pazarlamadır ve açık rıza + İYS onayı gerektirir. İki grubu ayrı listelerde tutun.
Sipariş sistemim bildirimi otomatik tetikleyebilir mi?
Evet. HTTP API üzerinden, gizli bir anahtarla korunan uç noktaya POST isteği gönderin. Sipariş "kargolandı" durumuna geçtiğinde webhook otomatik takip mesajını kuyruğa ekler.
Yüzlerce siparişe aynı anda bildirim gönderirsem numaram banlanır mı?
Hayır, çünkü sistem bildirimleri kuyruğa alır ve mesajlar arası 45–90 sn bekleme, her 15 mesajda mola gibi anti-ban kurallarını uygular. Büyük hacim güvenli tempoda birkaç güne yayılır.
Mesaj başına ücret öder miyim?
Hayır. Sistem QR tabanlı whatsapp-web.js kullanır, resmi Business API değildir. Şablon onayı ve konuşma ücreti yoktur; tek maliyet sunucudur (~5–10 USD/ay).
Sipariş ve kargo bildirimlerini otomatikleştirin
Kendi sunucunuzda, mesaj başına ücret ödemeden. Sipariş sisteminizi HTTP API ile bağlayın, müşterileriniz her aşamada haberdar olsun.
Panele Git →