Calendly'yi Shopify Flow'a nasıl bağlayabilirim?

Calendly'yi Shopify Flow'a nasıl bağlayabilirim?

Sayfayı kopyala

Calendly'yi HMAC ile doğrulanmış webhook'larla Shopify Flow'a bağlayın. Randevu alındığında veya iptal edildiğinde müşteri etiketi, not ve e-posta tetikleyin.

Calendly, etkinlik türlerinizden biri aracılığıyla bir toplantı rezerve edildiğinde veya iptal edildiğinde bir webhook gönderir. 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, şirket içi 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: Calendly gönderir, Workflow Webhooks alır ve doğrular, Shopify Flow harekete geçer. Her istekte Calendly’nin HMAC imzası kontrol edildiğinden, iş akışınızı yalnızca Calendly başlatabilir.

Neler yapabileceğiniz

  • Stil danışmanlığı veya danışma görüşmesi için randevu alan bir müşteriyi etiketleyin; böylece daha sonra bu müşterileri segmentlere ayırabilirsiniz.
  • Görüşme gerçekleşmeden önce, görüşme saatini içeren bir müşteri notu ekleyin.
  • Rezervasyon geldiğinde, müşterinin Shopify sipariş geçmişini ilgili personele e-posta ile gönderin.

Gönderilmesi gereken tipik olaylar: invitee.created (rezervasyon yapıldı), invitee.canceled.

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 Calendly hesabı.

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 Calendly events gibi.
  2. Kimlik Doğrulama bölümünden HMAC'yi seçin.
  3. Signature provider (İmza sağlayıcısı) altında Calendly’yi seçin. Uygulama, başlığı, algoritmayı, imzalı yükü ve tekrar oynatma aralığını sizin için 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 - Calendly'ye uç noktayı ekleyin

Kopyaladığınız URL'yi kullanarak Calendly API'si veya geliştirici portalı üzerinden webhook aboneliğini oluşturun. İmza anahtarı, abonelik oluşturulduğunda tek seferlik olarak döndürülür.

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

Webhook aboneliğini oluştururken geri döndürülen imzalama anahtarı.

Calendly'nin 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 Calendly gönderimi, Shopify Flow’a ulaşmadan önce doğrulanır.

Bu kontrolün amacı

Ne Değer
İmza başlığı Calendly-Webhook-Signature
İmzanın bulunduğu yer Virgülle ayrılmış key=value çiftlerini içeren bu başlığın v1 değerinde
Neyin imzalandığı {timestamp}.{body}
İmza HMAC-SHA256, onaltılık kodlanmış
Zaman damgası İmza başlığındaki t değeri, Unix saniyesi cinsinden
Tekrar oynatma koruması İmzalı zaman damgası şu andan 6 dakikadan fazla geriye ait olan istekler reddedilir
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övdesi; {timestamp} ise yukarıdaki zaman damgası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

  1. Shopify Flow'da bir iş akışı oluşturun ve Workflow Webhooks tetikleyicisini seçin.
  2. Etkinlikleri Kaydet seçeneğine basın, ardından Calendly’den bir test etkinliği 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 Calendly 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 - Baştan sona test edin

Calendly'de gerçek bir olayı tetikleyin. Workflow Webhooks → History bölümünde, durumu Success olan çağrıyı 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.

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 gelen bir anahtar), gönderenin farklı bir uç noktanın gizli anahtarını kullanıp kullanmadığı ve Calendly ile uygulama arasında gövde metnini yeniden yazan 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ış metnin tam halini gösterir.

Her istekte 401 hatası alıyorum

Webhook’un kimlik doğrulama yönteminin HMAC olarak ayarlandığını, Calendly sağlayıcısının seçili olduğunu, gizli anahtarın girildiğini ve Calendly’nin, 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ı. Calendly’deki URL’yi tekrar kontrol edin ve Calendly’nin 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 Calendly’den gönderdiğiniz olayları daraltın.

İstekler, "zaman damgası tolerans aralığı dışında" hatasıyla başarısız oluyor

Calendly, bir zaman damgası ekler ve uygulama, 6 dakikadan daha eski olanları reddeder. Bu durum genellikle gönderen tarafta bir saat sorunundan kaynaklanır ya da Calendly’nin orijinal zaman damgasıyla çok daha sonra yeniden denediği bir gönderimden kaynaklanır. Aynı orijinal isteğe ait yeniden denemeler kabul edilmez; Calendly’den yeni bir etkinlik göndermesini isteyin.

İlgili