İçindekiler
- Sizi bölmeye değer topic'leri seçin
- Adım 1 — Kanalı oluşturun
- Adım 2 — Shopify'da webhook'u ekleyin
- Adım 3 — Yalnızca gerçekten okuduğunuz alanları şablona koyun
- Adım 4 — Bir koşulla topic'e göre yönlendirin
- Beni yalnızca büyük siparişler için uyandırın
- Bunun yapmadıkları
- Sık sorulan sorular
- Bunun için bir Shopify uygulamasına ihtiyacım var mı?
- Deponun, Shopify yönetim panelimi görmeden siparişleri görmesi mümkün mü?
- Bildirime müşteri adı koymalı mıyım?
- Ters ibrazda telefon araması alabilir miyim?
- Toparlarsak
- İlgili içerik
Shopify'ın kendi sipariş e-postaları, posta uygulamanız senkronize olmaya karar verdiğinde gelir, filtrelediğiniz bir klasöre düşer ve sipariş 12 € de olsa 1.200 € de olsa birebir aynı görünür. Dükkânı kendiniz çeviriyorsanız bu, yanlış biçimde bir sinyaldir.
Bir webhook bunu düzeltir. Shopify her siparişi seçtiğiniz bir URL'ye POST eder, Echobell de o POST'u, ne kadar yüksek sesle geleceğine sizin karar verdiğiniz bir bildirime dönüştürür.
Sizi bölmeye değer topic'leri seçin
Shopify webhook olay türlerine topic der. Şu dördü, tek kişilik dükkânların çoğunu karşılar:
| Topic | Ne anlama gelir | Aciliyet |
|---|---|---|
orders/create | Bir sipariş verildi. | Normal |
orders/paid | Ödeme geçti. Yalnızca gerçekten gelen parayla ilgileniyorsanız bunu kullanın. | Normal |
orders/cancelled | Müşteri iptal etti. Paketlemeden önce bilmekte fayda var. | Zaman duyarlı |
refunds/create | Bir iade yapıldı. | Zaman duyarlı |
orders/create ya da orders/paid'e abone olun, ikisine birden değil — gerçekten satış başına iki bildirim istemiyorsanız. Çoğu dükkân için dürüst olanı orders/paid.
Adım 1 — Kanalı oluşturun
Echobell'de "Shopify siparişleri" gibi bir kanal oluşturun, webhook URL'sini kopyalayın ve Yalnızca POST'u açın. Shopify her zaman POST ile gönderir.
İptaller ve iadeler için ayrı, daha yüksek sesli bir kanal istiyorsanız onu da şimdi oluşturup zaman duyarlıya alın.
Adım 2 — Shopify'da webhook'u ekleyin
Shopify yönetim panelinde Ayarlar → Bildirimler → Webhook'lar → Webhook oluştur'a gidin. Topic'i seçin, biçimi JSON yapın ve kanal URL'nizi yapıştırın.
Shopify kaydettiğinizde bir test payload'ı gönderir. Telefonunuz titriyorsa yol çalışıyordur.
Adım 3 — Yalnızca gerçekten okuduğunuz alanları şablona koyun
Shopify sipariş payload'ları uzundur — sipariş başına yüzden fazla alan. Size yalnızca birkaçı lazım:
Başlık
Yeni sipariş #{{order_number}} · {{total_price}} {{currency}}
Gövde
{{customer.first_name}} {{customer.last_name}}
{{line_items[0].title}}
line_items bir dizidir, yani line_items[0] ilk kalemdir. Echobell şablonları indeksle erişimi destekler ama döngü yoktur: üç kalemlik bir sipariş yalnızca ilkini gösterir. Bu önemliyse sayıyı yanına koyun:
{{line_items[0].title}} · toplam {{line_items.length}} kalem
Stripe'ın aksine Shopify total_price'ı ondalık bir metin olarak gönderir — 4900 değil "49.00" — yani hiçbir hesap yapmadan doğru okunur.
Adım 4 — Bir koşulla topic'e göre yönlendirin
Birden fazla topic'i tek bir kanala yönlendirdiyseniz, Shopify hangisinin geldiğini bir başlıkta söyler:
header["x-shopify-topic"] == "orders/paid"
Yönetim panelinde kanal başına webhook oluşturmadan davranışı ayırmanın en temiz yolu budur.
Beni yalnızca büyük siparişler için uyandırın
Dükkân sahiplerinin çoğunun aslında istediği düzen şu: bütün siparişler sessiz bir kanala, yalnızca belirli bir eşiğin üstündekiler yüksek sesli bir kanala.
İkinci bir kanal oluşturun, zaman duyarlıya alın, ona başka bir orders/paid webhook'u yönlendirin ve bir koşul verin:
total_price > 500
Artık normal bir gün arka planda bir uğultu, 900 €'luk bir sipariş ise hissettiğiniz bir şeydir.
Bunun yapmadıkları
HMAC doğrulaması yok. Shopify her webhook'u bir X-Shopify-Hmac-Sha256 başlığıyla imzalar. Echobell bunu doğrulamaz, dolayısıyla yabancıları dışarıda tutan tek şey kanal URL'nizdir. Gizli tutun, Yalnızca POST'u açık bırakın; sahte bir sipariş bildirimi gerçek bir zarara yol açacaksa önüne kendi uç noktanızı koyup HMAC'i orada doğrulayın ve Echobell'i oradan çağırın.
Shopify aynı webhook'u iki kez teslim edebilir. Başarısızlıkta yeniden dener ve denemeler tekilleştirilmez. Bildirimi siparişe bakmak için bir dürtme sayın, sipariş sayacı olarak değil. Doğrunun kaynağı Shopify yönetim panelinizdir.
Envanter topic'leri çok hızlı gürültüye döner. inventory_levels/update, kendi düzenlemeleriniz dahil her stok hareketinde tetiklenir. Düşük stok uyarısı istiyorsanız sert filtreleyin, yoksa öğle olmadan pişman olursunuz.
Sık sorulan sorular
Bunun için bir Shopify uygulamasına ihtiyacım var mı?
Hayır. Ayarlar → Bildirimler altındaki webhook'lar yönetim paneline gömülüdür; uygulama, iş ortağı hesabı veya kod gerektirmez.
Deponun, Shopify yönetim panelimi görmeden siparişleri görmesi mümkün mü?
Evet. Kanalı onlarla paylaşın. Yalnızca bildirimleri alırlar, başka bir şey değil — yönetim erişimi yok, şablonunuzun içerdiğinin ötesinde müşteri verisi yok.
Bildirime müşteri adı koymalı mıyım?
Bu size kalmış ve bilinçli verilmeye değer bir karar. Şablondaki her şey kilit ekranında görünür. Harekete geçmek için genelde sipariş numarası ve tutar yeter.
Ters ibrazda telefon araması alabilir miyim?
Shopify Payments kullanan mağazalarda itirazlar disputes/create topic'iyle gelir. Bunu bir arama kanalına yönlendirin — sipariş olayları arasında son tarihi olan tek olay budur.
Toparlarsak
Bir webhook, bir şablon ve yüksek sesli sürümü istiyorsanız bir koşul. Yaklaşık beş dakika sürer ve sipariş sayfasını yenileyip durmanın yerini alır.
Echobell'i iPhone için indirin ya da Google Play'den alın, sonra bir test siparişi verin ve onun onay e-postasından önce geldiğini görün.