Webhooks

Collecta'yı sistemlerinize bağlayın, her iki yönde de.

Kayıtlar değiştiği anda imzalı, yeniden denenen olayları servislerinize gönderin — ve doğrudan modül alanlarınıza eşlenen genel bir endpoint üzerinden gelen payload'ları kabul edin.

Giden

Giden olaylar, imzalı ve yeniden denenen.

Bir kayıt her değiştiğinde Collecta endpoint'inize bir HTTP POST gönderir — doğrulayabileceğiniz bir imzayla ve kaçırırsanız otomatik yeniden denemelerle.

5 olay tipi

Bir endpoint'i, verileriniz değiştikçe Collecta'nın yaydığı olaylardan herhangi birine abone edin.

record_createdBir modüle yeni bir kayıt eklenir.
record_updatedMevcut bir kaydın alanları değişir.
record_deletedBir kayıt bir modülden kaldırılır.
status_changeBir durum alanı yeni bir duruma geçer.
custom_data_updatedBir kaydın custom_data payload'ı değişir.

HMAC-SHA256 imzası

Her istek bir X-Webhook-Signaturebaşlığı taşır — secret'ınızla anahtarlanmış ham gövdenin zamanlamaya duyarsız bir HMAC'i.

POST https://you.example.com/hooks
Content-Type: application/json
X-Webhook-Signature: sha256=3a7bd3e2…
{ "event": "record_created" }

Yeniden denemeler ve backoff

Her teslimatın 30 saniyelik bir zaman aşımı vardır. Başarısızlıklar üstel backoff ile, en fazla retry_max deneme sayısına kadar (varsayılan 5) yeniden denenir.

Deneme 160 sn sonra
Deneme 2120 sn sonra
Deneme 3240 sn sonra
Deneme 4480 sn sonra
Deneme 5960 sn sonra

Teslimat geçmişi

Her deneme — istek, yanıt durumu ve zamanlama — webhook_deliveries içinde saklanır; böylece ne olduğunu denetleyebilir ve yeniden oynatabilirsiniz.

SSRF koruması

Hedef URL'ler, iç ve özel ağ adreslerine yapılan istekleri engellemek için teslimattan önce doğrulanır.

Gelen

Verileri modüllerinize alın.

Modül başına genel bir endpoint açığa çıkarın, ardından gelen payload'ı alanlarınıza eşleyin — Collecta kaydı sizin için oluşturur veya günceller.

Genel endpoint

Bir token ile korunan, dakikada 60 istekle hız sınırlandırılmış ve isteğe bağlı zamanlamaya duyarsız HMAC doğrulamalı modül başına bir URL'ye POST edin.

POST /api/webhooks/:moduleSlug/:token
X-Webhook-Signature: sha256=… (optional)
202 Accepted
{ "recordId": "rec_18f…" }

Alan eşleme

Gelen payload'daki anahtarları modül alanlarınıza dönüştürün. Collecta, eşlenen değerleri yeni veya eşleşen bir kayda yazar.

$.payload.skuproduct_code
$.payload.qtyquantity
$.payload.stationwork_center
SSS

Webhook soruları.

Her giden teslimat, endpoint'inizin secret'ıyla anahtarlanmış, ham istek gövdesinin bir HMAC-SHA256'sını içeren bir X-Webhook-Signature başlığı içerir. HMAC'i kendi tarafınızda aldığınız tam baytlar üzerinden yeniden hesaplayın ve zamanlamaya duyarsız bir eşitlik kontrolüyle karşılaştırın. Eşleşmiyorsa isteği reddedin.
Collecta her teslimata 30 saniyelik bir zaman aşımı verir. Başarısız olursa teslimat, 60, 120, 240, 480 ve 960 saniyede üstel backoff ile — en fazla retry_max deneme sayısına kadar (varsayılan 5) — yeniden denenir. Her deneme, durum kodlarını ve payload'ları inceleyebilmeniz için tam teslimat geçmişine (webhook_deliveries) kaydedilir.
Genel endpoint olan /api/webhooks/:moduleSlug/:token adresine POST edin (dakikada 60 istekle hız sınırlandırılmış, isteğe bağlı zamanlamaya duyarsız HMAC doğrulamalı). Alan eşleme kuralları, gelen payload'daki anahtarları modülünüzün alanlarına dönüştürür ve Collecta, eşleşen kaydı oluşturur veya günceller.

Collecta'yı çalıştırdığınız her şeye bağlayın.

Hangi sistemlerin modüllerinizle konuşması gerektiğini söyleyin, webhook'ları sizinle birlikte eşleyelim.