Shopify API · Webhook

Shopify webhook: konular, HMAC doğrulama, yeniden deneme ve uzlaştırma

Shopify webhook’ları, mağazada bir olay olduğunda belirlediğiniz adrese bildirim gönderir; örneğin sipariş oluştuğunda orders/create. Abonelik shopify.app.toml dosyasında ya da GraphQL’deki webhookSubscriptionCreate mutasyonuyla tanımlanır. Her HTTPS teslimatı X-Shopify-Hmac-Sha256 imzası taşır. Shopify teslimatı garanti etmez; bu yüzden webhook’un yanında düzenli API okumasıyla uzlaştırma yapmanız önerilir.

GRAPHQL/admin/api/2026-10/graphql.jsonwebhookSubscriptionCreate mutasyonu; topic ve webhookSubscription argümanları.

Stok ve sipariş için önemli konular

KonuNe zaman
orders/createSipariş oluştuğunda
orders/updatedSipariş güncellendiğinde
orders/paidSipariş ödendiğinde
orders/cancelledSipariş iptal edildiğinde
orders/fulfilledSipariş gönderildiğinde
refunds/createİade oluştuğunda
products/create, products/updateÜrün açıldığında ya da değiştiğinde
inventory_levels/updateStok seviyesi değiştiğinde
app/uninstalledUygulama mağazadan kaldırıldığında

Teslim adresi bir HTTPS adresi, Google Pub/Sub ya da Amazon EventBridge olabilir. filter ve include_fields ile hangi olayların geleceğini ve gövdede hangi alanların bulunacağını daraltabilirsiniz.

Abonelik nasıl kurulur?

YolNe zamanNot
shopify.app.tomlShopify CLI ile geliştirilen uygulamalarShopify abonelikleri güncel tutar
webhookSubscriptionCreateUygulama kendi aboneliğini API ile yönetiyorsaAdres, filtre ve alan seçimi verilir
Dev DashboardAmazon EventBridge hedefi tanımlamak içinUygulama ayarlarında

Webhook gövdesinin API sürümü abonelik başına değil, uygulamada yapılandırılan Webhooks API sürümüyle belirlenir. Bu sürüm desteklenmez hâle gelirse Shopify erişilebilir en eski kararlı sürüme geçer ve kullandığı sürümü X-Shopify-Api-Version başlığında bildirir.

Teslimat başlıkları ve doğrulama

BaşlıkNe işe yarar
X-Shopify-TopicKonu
X-Shopify-Hmac-Sha256Gövdenin base64 HMAC-SHA256 imzası
X-Shopify-Webhook-IdTeslimat kimliği; yinelenenleri ayıklamak için
X-Shopify-Event-IdAynı satıcı işleminden doğan teslimatları ilişkilendirir
X-Shopify-Triggered-AtOlayın tetiklendiği zaman
X-Shopify-Api-VersionGövdenin üretildiği API sürümü

İmzayı doğrulamak için ham gövdenin HMAC-SHA256 özetini uygulamanın client secret değeriyle hesaplayıp base64 olarak başlıkla karşılaştırın. Gövdeyi JSON olarak çözen ara katman doğrulamadan önce çalışırsa imza tutmaz. Sır döndürüldükten sonra yeni sırla imzalamaya geçiş bir saate kadar sürebilir.

Zaman aşımı ve yeniden deneme

KuralDeğer
Başarılı sayılan yanıt200 aralığı; 3xx dahil diğerleri hata
Bağlantı zaman aşımı1 saniye
İsteğin tamamı için süre5 saniye
Yeniden deneme4 saat içinde 8 kez
8 ardışık hatadan sonraAdmin API ile kurulan abonelik silinir

Hata durumunda uygulamanın acil durum geliştirici e-postasına uyarı gider. Beş saniyeye sığmak için bildirimi hızla kuyruğa yazıp 200 döndürün, asıl işi sonra yapın.

Sıra, yineleme ve uzlaştırma

  • Shopify aynı konu içinde ya da aynı kaynağın farklı konuları arasında sıra garantisi vermez; products/update, products/create’ten önce gelebilir. Sıralamak için X-Shopify-Triggered-At başlığını ya da gövdedeki updated_at alanını kullanın.
  • Aynı bildirim birden çok kez gelebilir. İşleminizi tekrarlansa da aynı sonucu verecek şekilde kurun ya da X-Shopify-Webhook-Id ile yinelenenleri atlayın.
  • Belge, uygulamanızın webhook’a bel bağlamamasını, düzenli aralıklarla API’den okuyarak eksikleri tamamlamasını önerir.
  • committed, reserved ve benzeri envanter durumlarındaki değişiklikler webhook tetiklemez.

Sık sorulanlar

Shopify webhook imzası nasıl doğrulanır?

Ham istek gövdesinin HMAC-SHA256 özetini uygulamanın client secret değeriyle hesaplayıp base64’e çevirir, X-Shopify-Hmac-Sha256 başlığıyla karşılaştırırsınız.

Shopify webhook yanıtı ne kadar sürede verilmeli?

Bağlantı 1 saniyede kurulmalı, istek 5 saniyede tamamlanmalıdır. 200 aralığı dışındaki yanıtlar, 3xx dahil, hata sayılır.

Webhook başarısız olursa ne olur?

Shopify 4 saat içinde 8 kez yeniden dener. Admin API ile kurulan abonelik 8 ardışık hatadan sonra silinir.

Webhook varken düzenli API okumasına gerek var mı?

Evet. Shopify teslimatı garanti etmez ve uzlaştırma işleriyle eksiklerin tamamlanmasını önerir.

Kaynaklar

İlgili Shopify API konuları

Son güncelleme: 27.10.2026 · Shopify API rehberinin tamamı

Shopify entegrasyonunu kod yazmadan kurun

Saystok bu API'lerle stok, sipariş ve fiyatı sizin yerinize eşitler. 30 gün ücretsiz.