WooCommerce'ten WhatsApp sipariş güncellemeleri gönderin
Sipariş olayları için bir alıcıya işaret eden WooCommerce webhook'u oluşturun. Alıcı bir n8n iş akışı ya da küçük bir PHP rotası olabilir. Alıcı WooCommerce imzasını doğrular, müşterinin WhatsApp mesajlarına onay verdiğini kontrol eder ve bağlı numaranın phone number id ile token'ını kullanarak Cloud API üzerinden onaylı bir şablon gönderir.
WooCommerce, art arda beşten fazla teslimat hatasından sonra bir webhook'u devre dışı bırakır.
Başlıkta, payload'un webhook'un gizli anahtarıyla üretilmiş base64 kodlu HMAC-SHA256 değeri bulunur.
Müşteri hizmetleri penceresinin dışında yalnızca önceden onaylı şablon mesajları gönderilebilir.
Bir WooCommerce siparişi WhatsApp mesajını nasıl tetikler?
Bir WooCommerce webhook'u ve bir alıcı aracılığıyla. WooCommerce'te Ayarlar, Gelişmiş, Webhook'lar yolundan; sipariş oluşturuldu ya da sipariş güncellendi gibi bir sipariş konusu, bir teslimat URL'si ve bir gizli anahtar içeren webhook ekleyin. WooCommerce, olay her gerçekleştiğinde siparişi JSON olarak bu URL'ye gönderir.
Payload sabittir, bu yüzden doğrudan Cloud API'ye yönlendirilemez. Araya bir alıcı girer: bir n8n Webhook düğümü, mağazanın kendi PHP kodundaki bir rota ya da herhangi bir küçük hizmet. Alıcı siparişi okur, müşterinin telefon numarasını ve mesajın ihtiyaç duyduğu ayrıntıları seçer, ardından bağlı numara için Cloud API mesaj uç noktasına, numaranın erişim token'ını bearer token olarak kullanarak tek bir HTTPS isteği yapar.
order.updated konusu tek bir duruma bağlı değildir. Bu yüzden alıcı siparişin status alanını okumalı ve ilgilendiği her geçiş için yalnızca bir kez mesaj göndermelidir. WooCommerce teslimatı varsayılan olarak wp-cron ile arka planda yapar, dolayısıyla mesaj siparişten kısa bir gecikmeyle gelebilir.
Alıcı isteğin mağazadan geldiğini nasıl bilir?
WooCommerce imzasından. Her teslimat, webhook'ta belirlediğiniz gizli anahtarla ham payload üzerinden hesaplanmış, base64 kodlu bir HMAC-SHA256 değeri taşıyan X-WC-Webhook-Signature başlığıyla gelir. Alıcı aldığı gövde üzerinden aynı hash'i hesaplar, karşılaştırır ve eşleşmeyen her şeyi reddeder.
Bu, mağazanın kendi gizli anahtarıdır; bu yüzden Meta'nın gelen WhatsApp mesajlarındaki imzasının aksine doğrulanabilir. Karşılaştırmayı sabit sürede yapın ve hash'i, herhangi bir framework gövdeyi ayrıştırmadan önce ham gövde üzerinden alın. Yeniden kodlanmış JSON farklı bir hash üretir.
Hızlıca 2xx ile yanıt verin. WooCommerce, 2xx, 301 ya da 302 olmayan her yanıtı hata sayar ve art arda beşten fazla hatadan sonra webhook'u devre dışı bırakır. Dağıtım nedeniyle kapalı kalan ya da yanıt vermeden önce Meta'yı beklediği için yavaşlayan bir alıcı, kimse fark etmeden mağazanın mesajlarını durdurabilir.
Mağaza ne gönderebilir ve ne zaman?
Mağaza ilk yazdığında her seferinde onaylı bir şablon. Meta'nın 24 saatlik müşteri hizmetleri penceresi yalnızca müşteri numaraya mesaj yazdığında açılır. Bu yüzden sipariş onayı ya da kargo güncellemesi işletme tarafından başlatılır ve serbest metin reddedilir. Her güncelleme için bir yardımcı (utility) şablonu oluşturun, onayı bekleyin ve şablonu adı ve diliyle, sipariş numarası ile diğer ayrıntıları parametre olarak ekleyerek gönderin.
Meta ayrıca açık izin (opt-in) ister: müşteri numarasını vermiş ve bu işletmeden WhatsApp'ta mesaj almayı kabul etmiş olmalıdır. Siparişte saklanan bir ödeme sayfası onay kutusu bunun en basit kaydıdır ve alıcı göndermeden önce bunu kontrol etmelidir.
Müşteri yanıt verdiğinde konuşma sıradan bir Coexistence konuşmasına dönüşür. Yanıt, mağazanın telefonundaki WhatsApp Business uygulamasında görünür, pencere serbest metin için açıktır ve ekip her zamanki gibi uygulamadan yanıt verir.
Yaygın hatalar
- WooCommerce'e yanıt vermeden önce Cloud API çağrısını yapmak. Yavaş ya da başarısız bir gönderim webhook'un hata sayısına eklenir ve beşten fazla hatadan sonra webhook devre dışı kalır.
- Ham gövde yerine ayrıştırılmış JSON'un hash'ini almak. İmza hiçbir zaman eşleşmez ve gerçek teslimatların hepsi reddedilir.
- Her order.updated teslimatında mesaj göndermek. Konu tek bir duruma bağlı olmadığından, hangi geçişin zaten mesajlandığı takip edilmezse müşteriler mükerrer mesaj alır.
Mağazanın numarasını easycoexistence.com üzerinden bağlayın ve phone number id ile token'ı panelden alıp alıcıya verin. Numara başına aylık US$ 9'dan başlar, numara ekledikçe US$ 1'e düşer; ilk 3 gün ücretsizdir.
Sık sorulan sorular
Bunun için bir WordPress eklentisine ihtiyacım var mı?
Hayır. WooCommerce'in yerleşik webhook'ları ve bir alıcı yeterlidir. Alıcı, aynı PHP uygulamasındaki bir rota da olabilir.
Sipariş mesajlarının ücretini kim öder?
Meta, mesajlaşma ücretini doğrudan işletmeye, kendi WhatsApp Business hesabı üzerinden faturalandırır. EasyCoexistence bunun üzerine hiçbir zaman ek ücret koymaz.
Ekip telefonu yine de kullanabilir mi?
Evet. Coexistence, mağazanın numarasında WhatsApp Business uygulamasının çalışmasını sürdürür ve mağazanın gönderdiği şablon konuşmada görünür.
Bir webhook devre dışı kaldıysa ne yapmalıyım?
Alıcıyı düzeltin, ardından WooCommerce'te webhook'un durumunu yeniden etkin yapın. Webhook kapalıyken oluşturulan siparişler mesaj tetiklemedi.
Okumaya devam edin
Başlamaya hazır mısınız?
WhatsApp Coexistence'ı aylar değil, dakikalar içinde kurun. Uygulama telefonda çalışmaya devam eder.
Ücretsiz denemeyi başlatınDoğrulama tarihi