Standart Webhook’ları Shopify Flow’a nasıl bağlayabilirsiniz?
Standart webhook’ları, her istekte HMAC imza doğrulaması ile Shopify Flow’a bağlayın; böylece yalnızca güvenilir olaylar iş akışlarınızı tetiklesin.
Standard Webhooks, webhook’ları imzalamak için kullanılan açık bir spesifikasyondur; OpenAI, Supabase Auth Hooks ve giderek artan sayıda hizmet tarafından kullanılmaktadır. Tek bir ön ayar hepsini kapsar. Workflow Webhooks, bu çağrıyı bir Shopify Flow tetikleyicisine dönüştürür; böylece mağazanız buna tepki verebilir: bir müşteriye etiket ekleyebilir, sipariş notu ekleyebilir, dahili e-posta gönderebilir, meta alanı güncelleyebilir - kısacası Shopify Flow'un yapabileceği her şeyi yapabilir.
Bu kılavuz, tüm süreci ayrıntılı olarak açıklamaktadır: Standard Webhooks gönderir, Workflow Webhooks alır ve doğrular, Shopify Flow harekete geçer. Her istekte Standard Webhooks’un HMAC imzası kontrol edildiğinden, iş akışınızı yalnızca Standard Webhooks başlatabilir.
Neler yapabileceğiniz
- Bir OpenAI webhook’unu (tamamlanmış bir toplu iş veya sonuçlandırılmış bir yanıt) alın ve Shopify Flow’un mağazanızda bu sonuca göre işlem yapmasını sağlayın.
- Bir Supabase Auth Hook’una yanıt verin; böylece kendi uygulamanızda yapılan bir kayıt işlemi, eşleşen Shopify müşterisini etiketler.
- Özel bir imza yapılandırmaya gerek kalmadan, standardwebhooks.com spesifikasyonuna uyan herhangi bir hizmetten bildirim alın.
Gönderilebilecek tipik olaylar: gönderen hizmetin tanımladığı herhangi bir olay.
Aynı ön ayar, OpenAI ve Supabase Auth Hooks’tan gelen webhook’ları da doğrular.
Başlamadan önce
- Shopify mağazanıza yüklenmiş Workflow Webhooks.
- Shopify Flow, Shopify Uygulama Mağazasından ücretsiz olarak indirilip kuruldu.
- Webhook oluşturma iznine sahip bir Standard Webhooks hesabı.
1. Adım - Workflow Webhooks'ta webhook'u oluşturun
- Workflow Webhooks'u açın -> Webhooks -> Webhook oluştur seçeneğine tıklayın ve Shopify Flow'da kolayca tanıyabileceğiniz bir ad verin; örneğin
Standard Webhooks eventsgibi. - Kimlik Doğrulama bölümünden HMAC'yi seçin.
- İmza sağlayıcısı bölümünden Standart Webhook’lar seçeneğini seçin. Uygulama, başlık, algoritma, imzalı veri yükü ve tekrar oynatma aralığını sizin için otomatik olarak doldurur; yapılandırmanız gereken başka bir şey yoktur.
- Şimdilik gizli alanı boş bırakın ve Kaydet'e tıklayın. Sayfada gösterilen webhook URL'sini kopyalayın.
Diğer kimlik doğrulama modları için Kimlik Doğrulama’a, hangi alanların Shopify Flow’a aktarılacağını seçmek için ise Yük haritalama ve Shopify Flow değişkenleri’a bakın.
2. Adım - Uç noktayı Standart Webhook'lara ekleyin
URL’yi gönderen hizmette uç nokta olarak ekleyin, ardından size gösterilen imzalama gizli anahtarını kopyalayın (whsec_ ile başlar).
Standart Webhooks imzalama gizli anahtarınızı nasıl bulabilirsiniz?
whsec_ ile başlayan imza gizli anahtarı. Tamamını yapıştırın; eğer v1,whsec_... (Supabase) şeklinde gösteriliyorsa, başındaki "v1," kısmını hariç tutun.
Standard Webhooks'un webhook imzalarıyla ilgili kendi belgeleri, hesabınızla ilgili tam metni ve ekran görüntülerini içermektedir.
Bu gizli anahtarı, Workflow Webhooks bölümündeki webhook’un “Secret” alanına yapıştırın ve kaydedin. O andan itibaren, her Standart Webhook iletimi, Shopify Flow’a ulaşmadan önce doğrulanır.
Bu kontrolün amacı
| Ne | Değer |
|---|---|
| İmza başlığı | webhook-signature |
| İmzanın bulunduğu yer | v1, önekinden sonraki başlık değeri, |
| Neyin imzalandığı | {header:webhook-id}.{timestamp}.{body} |
| İmza | HMAC-SHA256, base64 ile kodlanmış |
| Zaman damgası | webhook-timestamp başlığı, Unix saniyesi cinsinden |
| Tekrar oynatma koruması | İmzalı zaman damgası şu andan 5 dakikadan daha uzak olan istekler reddedilir |
| Sır | Kullanımdan önce Base64 kodlaması çözülür. Kod çözme işleminden önce başındaki whsec_ kısmı kaldırılır. Gönderenin gösterdiği şekilde aynen yapıştırın. |
İmzalı yükte, {body}, bayt bayt ham istek gövdesi; {timestamp} ise yukarıdaki zaman damgasıdır; {header:webhook-id} ise webhook-id istek başlığıdır.
Bu şartlardan herhangi birini karşılamayan bir istek, 401 hatasıyla reddedilir, Geçmiş ve sorun giderme bölümüne kaydedilir ve hiçbir zaman bir iş akışını başlatmaz.
3. Adım - Shopify Flow iş akışını oluşturun
- Shopify Flow'da bir iş akışı oluşturun ve Workflow Webhooks tetikleyicisini seçin.
- “Olayları Kaydet” seçeneğine basın, ardından Standart Webhook’lardan bir test olayı gönderin (veya Workflow Webhooks’ta “Test Gönder” seçeneğini kullanın), böylece Shopify Flow verilerinizin yapısını öğrenebilir.
- Sahip olduğunuz her webhook aynı Shopify Flow tetikleyicisini çalıştırır; bu nedenle, bu iş akışını yalnızca Standart Webhook’larla sınırlı tutmak için **webhook **kimliğine ilişkin bir ilk koşul ekleyin. Kimlik, webhook sayfasında gösterilir.
- İşlemlerinizi ekleyin - bir müşteriyi etiketleyin, bir not ekleyin, şirket içi bir e-posta gönderin, bir meta alanı güncelleyin.



4. Adım - Baştan sona test edin
Standard Webhooks'ta gerçek bir olayı tetikleyin. Workflow Webhooks -> Geçmiş bölümünde, durumu Başarılı olan bir çağrı görmelisiniz. İmza yanlışsa, bunun yerine nedeni belirtilen bir hata kaydı alırsınız ve İmzalı webhook'ların doğrulanması, hangi adımın başarısız olduğunu tam olarak gösteren imza denetleyicisini açıklar.

İmza eşleşmiyor
Şu sırayla: gizli anahtar (en yaygın neden - fazladan bir boşluk ya da yanlış ortamdan gelen bir anahtar), gönderenin farklı bir uç noktanın gizli anahtarını kullanıp kullanmadığı ve Standart Webhook’lar ile uygulama arasında gövdeyi yeniden yazan herhangi bir unsur olup olmadığı. İmzalar ham baytları kapsar, bu nedenle JSON'u yeniden biçimlendiren bir proxy imzalara zarar verir. Webhook sayfasındaki imza test aracı, imzalanmış olan metnin tam halini gösterir.
Her istekte 401 hatası alıyorum
Webhook’un kimlik doğrulama yönteminin HMAC olarak ayarlandığını, Standard Webhooks sağlayıcısının seçili olduğunu, gizli anahtarın girildiğini ve “Standard Webhooks”un, sondaki kod da dahil olmak üzere, uygulamanın gösterdiği şekilde tam olarak bu URL’ye veri gönderdiğini kontrol edin.
Geçmiş'te hiçbir şey görünmüyor
İstek hiç ulaşmadı. Standart Webhook'larda URL'yi tekrar kontrol edin ve Standart Webhook'ların kendi teslimat günlüğüne bakarak aldığı yanıtı inceleyin. 404 kodu, webhook'un yanlış veya silinmiş olduğunu; 429 kodu ise planınızın çağrı sınırını aştığınızı gösterir - bkz. Planlar ve kullanım.
İş akışı yanlış olaylar için çalışıyor
Mağazanızdaki her webhook, aynı Shopify Flow tetikleyicisini çalıştırır. İş akışının ilk adımı olarak **webhook **kimliğine bir koşul ekleyin ya da Standart Webhook’lardan gönderdiğiniz olayları daraltın.
İstekler, "zaman damgası tolerans aralığı dışında" hatasıyla başarısız oluyor
Standard Webhooks, bir zaman damgası ekler ve uygulama, 5 dakikadan daha eski olan tüm olayları reddeder. Bu durum genellikle gönderen tarafta bir saat sorunundan kaynaklanır ya da Standard Webhooks’un orijinal zaman damgasıyla çok daha geç bir zamanda yeniden denediği bir iletimden kaynaklanır. Aynı orijinal isteğe ait yeniden denemeler kabul edilmez; Standard Webhooks’tan yeni bir olay göndermesini isteyin.
İlgili
- İmzalı webhook'ların doğrulanması - doğruladığımız her sağlayıcı ve doğrulamadığımız bir sağlayıcıyı nasıl tanımlayacağımız.
- Yük haritalama ve Shopify Flow değişkenleri - yükten doğru alanları alıp Shopify Flow'a aktarma.
- Yinelenen teslimat koruması - Standart Webhook'lar bir teslimatı yeniden denediğinde ne olur?
- Geçmiş ve sorun giderme - her isteğin günlüğü; tekrar oynatma özelliği ile.
