Gerekenler: Profesyonel ya da üstü plan (API ve webhook özellikleri) ve Geliştirici > API ve Webhook sayfası. Sınırlar sayfanın sonundadır.
1. Sipariş oluşunca Zapier'i tetikle
- Zapier'de yeni bir Zap aç, tetikleyici olarak Webhooks by Zapier > Catch Hook seç. Zapier sana https://hooks.zapier.com/... ile başlayan bir adres verir.
- Geliştirici > API ve Webhook sayfasında webhook adresi ekle: o adresi yapıştır, olay olarak
order.created(ödeme içinorder.paid) seç. - Panelde bu adrese bir teslimatı yeniden gönder (teslimat günlüğü > Yeniden gönder) ya da test siparişi ver; Zapier'de "Test trigger" ile örneği çek.
- Zap'in sonraki adımında (Google Sheets, e-posta, Slack...) örnekteki alanları kullan: sipariş numarası, toplam, müşteri vb.
Gövdenin biçimi:
{"id": "…olay kimliği…", "type": "order.created", "api_version": "v1", "created_at": "2026-10-07T14:30:00+03:00",
"data": {"order": { "number": "S-1001", "total_cents": 22990, "currency": "TRY", "items": [ … ] }}}- Tutarlar kuruştur (22990 = 229,90 ₺); Zap'te 100'e böl.
idalanı yeniden denemelerde aynı kalır: aynı siparişi iki kez işlememek için bunu kontrol et.- Alıcı 10 saniye içinde 2xx dönmeli; Zapier genelde hemen döner. Başarısızsa panel 1 dk, 5 dk, 30 dk, 2 sa, 12 sa sonra yeniden dener.
2. İmzayı doğrulama
Her istekte X-Vezoko-Signature: t=ZAMAN,v1=HEX başlığı gelir; v1, HMAC-SHA256(gizli_anahtar, "ZAMAN.ham gövde") değeridir. Gizli anahtar webhook'u eklerken ve panelde görünür.
- Zapier'in Catch Hook adımı imzayı kendiliğinden doğrulamaz. Adresin tahmin edilemez uzunluktaki yolu tek korumadır; adresi kimseyle paylaşma. Sipariş verisi kişisel veri içerir: yalnız ihtiyacın olan adımlara aktar.
- İmzayı doğrulamak istiyorsan olayı önce kendi alıcına (küçük bir sunucu ya da bulut fonksiyonu) gönder, doğrulayıp sonra Zapier'e ilet. Doğrulayıcı kodları (PHP, Node, Python) ve test vektörü API belgesinde.
- Test vektörü: gizli anahtar whsec_test_secret, t=1700000000, gövde {"id":"evt_1","type":"order.created"} için v1 = 479d263a26872ce2aeda9f217b43b4c9870314fba787aeb383c38d7c7a296e24. Kodunu bununla sına.
- Zaman damgası 5 dakikadan eskiyse reddet (yeniden oynatma koruması).
3. Zapier'den stok güncelle
- Geliştirici > API ve Webhook sayfasında anahtar oluştur; yalnız
inventory:writekapsamını ver. Anahtarshp_live_ile başlar ve bir kez gösterilir. - Zap'te eylem olarak Webhooks by Zapier > Custom Request seç: yöntem PUT, adres mağazanın API adresi + /api/admin/v1/inventory.
- Başlıklar: Authorization: Bearer shp_live_… ve Content-Type: application/json. Gövde aşağıdaki gibi.
{"items": [{"sku": "TSR-M", "quantity": 18}]}quantitymutlak adettir (artış değil). Bilinmeyen SKU o satırdanot_founddöner, diğerlerini durdurmaz.- Dakikada anahtar başına 120 istek sınırı vardır; Zapier çok hızlı çalışırsa 429 döner, Retry-After saniyesini bekle.
Make için
Aynı akış Make'te Webhooks > Custom webhook (alıcı) ve HTTP > Make a request (stok güncelleme) modülleriyle kurulur; adres, başlıklar ve gövde aynıdır.
Sınırlar
- Webhook adresi https ve herkese açık bir alan adı olmalıdır; yerel adres ya da IP kabul edilmez.
- Hazır olay listesi: sipariş oluştu, ödendi, durum değişti, kargolandı, ürün güncellendi, stok değişti, müşteri oluştu.
- Zapier/Make tarafında bir tetikleyici ya da eylem listesi (uygulama dizini) yoktur; her şey Webhooks/HTTP modülleriyle elle kurulur.