WooCommerce'i Shopify Flow'a nasıl bağlayabilirim?

WooCommerce'i Shopify Flow'a nasıl bağlayabilirim?

Sayfayı kopyala

WooCommerce'i HMAC ile doğrulanmış webhook'lar aracılığıyla Shopify Flow'a bağlayın. Adım adım kurulum, tetikleyici kontrolleri ve sorun giderme ipuçları.

WooCommerce, bir WordPress mağazasından gelen siparişler, ürünler, müşteriler ve kuponlar için webhook gönderebilir. 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 bir e-posta gönderebilir, bir meta alanı güncelleyebilir - kısacası Shopify Flow’un yapabileceği her şeyi gerçekleştirebilir.

Bu kılavuz, tüm süreci ayrıntılı olarak açıklamaktadır: WooCommerce gönderir, Workflow Webhooks alır ve doğrular, Shopify Flow harekete geçer. Her istekte WooCommerce’in HMAC imzası kontrol edildiğinden, iş akışınızı yalnızca WooCommerce başlatabilir.

Neler yapabileceğiniz

  • Bir WooCommerce mağazasından gelen bir siparişi Shopify Flow’a aktarın: ilgili müşteriye etiket ekleyin veya bir not ekleyin.
  • WooCommerce’ten Shopify’a geçiş yaparken müşteri listenizi güncel tutun.
  • WooCommerce tarafında bir ürünün stoğu bittiğinde Shopify'da buna göre işlem yapın.

Gönderilebilecek tipik olaylar: order.created, order.updated, product.updated, customer.created.

Başlamadan önce

  • Shopify mağazanıza kurulan Workflow Webhooks.
  • Shopify Flow, Shopify Uygulama Mağazasından ücretsiz olarak indirilip kuruldu.
  • WooCommerce'de webhook oluşturma iznine sahip bir hesap.

1. Adım - Workflow Webhooks'ta webhook'u oluşturun

  1. 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 WooCommerce events gibi.
  2. Kimlik Doğrulama bölümünden HMAC'yi seçin.
  3. Signature provider (İmza sağlayıcı) altında WooCommerce’i seçin. Uygulama, başlığı, algoritmayı, imzalı yükü ve tekrar oynatma süresini sizin için otomatik olarak doldurur; yapılandırmanız gereken başka bir şey yoktur.
  4. Ş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 - WooCommerce'e uç noktayı ekleyin

WordPress'te WooCommerce → Ayarlar → Gelişmiş → Webhook'lar bölümünü açın, URL'yi "Teslimat URL'si" olarak belirleyerek bir webhook ekleyin ve Gizli Anahtarı ayarlayın.

WooCommerce imza gizli anahtarınızı nasıl bulabilirsiniz?

Webhook ayarlarında (WooCommerce -> Ayarlar -> Gelişmiş -> Webhook'lar) belirlenen Secret.

WooCommerce'in webhook imzalarıyla ilgili kendi belgeleri, hesabınızla ilgili tam metni ve ekran görüntülerini içeriyor.

Bu gizli anahtarı, Workflow Webhooks bölümündeki webhook’un “Secret” alanına yapıştırın ve kaydedin. O andan itibaren her WooCommerce teslimatı, Shopify Flow’a ulaşmadan önce doğrulanır.

Bu kontrolün amacı

Ne Değer
İmza başlığı X-WC-Webhook-Signature
İmzanın bulunduğu yer Başlığın tamamı
Neyin imzalandığı {body}
İmza HMAC-SHA256, base64 ile kodlanmış
Zaman damgası Bu gönderen tarafından kullanılmamaktadır
Tekrar oynatma koruması Yok - bu gönderen zaman damgasını imzalamamaktadır; dolayısıyla tüm geçerli imzalar geçerliliğini korur
Sır Düz metin olarak kullanılır. Göndericinin gösterdiği şekilde aynen yapıştırın.

İmzalı yükte, {body}, bayt bayt ham istek gövdesidir.

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

  1. Shopify Flow'da bir iş akışı oluşturun ve Workflow Webhooks tetikleyicisini seçin.
  2. Olayları Kaydet seçeneğine basın, ardından WooCommerce’den bir test olayı gönderin (ya da Workflow Webhooks bölümündeki Test Gönder seçeneğini kullanın), böylece Shopify Flow verilerinizin yapısını öğrenebilir.
  3. Sahip olduğunuz her webhook aynı Shopify Flow tetikleyicisini çalıştırır; bu nedenle, bu iş akışını yalnızca WooCommerce ile sınırlı tutmak için webhook kimliğine ilişkin bir ilk koşul ekleyin. Kimlik, webhook sayfasında gösterilir.
  4. İşlemlerinizi ekleyin - bir müşteriyi etiketleyin, bir not ekleyin, şirket içi bir e-posta gönderin, bir meta alanı güncelleyin.
Shopify Flow
Shopify Flow'da “Bir tetikleyici seç” seçeneğini seçin, Workflow Webhooks bölümünü açın ve “Webhook Tetikleyicisi”ni seçin.
Bir Shopify Flow koşulu: Webhook kimliği, bir webhook’un kimliğine eşittir
Her iş akışının ilk adımı: webhook kimliğine ilişkin bir koşul; böylece iş akışı yalnızca bu webhook için çalıştırılır.
Tamamlanmış iş akışı: Webhook Tetikleyicisi, webhook kimliğine ilişkin bir koşul, ardından “Doğru” dalında dahili e-posta gönderme
Tamamlanmış iş akışı: tetikleyici, webhook kimliğine dayalı koşul ve ardından “True” dalında gerçekleştirilecek eyleminiz.

4. Adım - Uçtan uca test edin

WooCommerce'de gerçek bir olayı tetikleyin. Workflow Webhooks → Geçmiş bölümünde, Başarılı durumuna sahip bir çağrı görmelisiniz. İmza yanlışsa, bunun yerine nedeni belirtilen bir hata kaydı alırsınız; İmzalı webhook'ların doğrulanması, hangi adımın başarısız olduğunu tam olarak gösteren imza denetleyicisini açıklar.

Tarih bölümünde, istek başlıkları, veri yükü, durum, süre ve tanımlayıcılarıyla birlikte bir çağrı açıldı
Tarih bölümünde gerçekleştirilmiş bir olay: “Başarılı” durumu, Shopify Flow’un bunu kabul ettiği anlamına gelir.
İmza eşleşmiyor

Şu sırayla: gizli anahtar (en yaygın neden - fazladan bir boşluk ya da yanlış ortamdan alınan bir anahtar), gönderenin farklı bir uç noktanın gizli anahtarını kullanıp kullanmadığı ve WooCommerce ile uygulama arasında gövdeyi yeniden yazan herhangi bir unsur olup olmadığı. İmzalar ham baytları kapsadığından, JSON’u yeniden biçimlendiren bir proxy bunları bozar. Webhook sayfasındaki imza test aracı, imzalanmış olan metnin tam halini gösterir.

Her istekte 401 hatası alıyorum

Webhook'un kimlik doğrulama ayarının HMAC olarak ayarlandığını ve WooCommerce sağlayıcısının seçili olduğunu, gizli anahtarın girildiğini ve WooCommerce'in, sondaki kod da dahil olmak üzere, uygulamanın gösterdiği URL'ye tam olarak bu şekilde veri gönderdiğini kontrol edin.

Geçmiş'te hiçbir şey görünmüyor

İstek hiç ulaşmadı. WooCommerce’deki URL’yi tekrar kontrol edin ve WooCommerce’in kendi teslimat günlüğüne bakarak aldığı yanıtı inceleyin. 404 kodu, hatalı veya silinmiş bir webhook anlamına gelir; 429 kodu ise planınızın çağrı sınırını aştığınız anlamına gelir - 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 WooCommerce’ten gönderdiğiniz olayları daraltın.

İlgili