3PL durum webhook'u — **fail-closed**: imza x-shop-webhook-signature =
Herkese açıkYol parametresi:
carrierHMAC-SHA256(settings fulfillment.webhook_secret, raw-body). Secret yoksa **401**
(taşıyıcı-webhook deseninin aynısı; imzasız çağrı kabul EDİLMEZ).
Body: {event_id, request_id, status, tracking_number?}.
- Bilinmeyen durum → 400 (allowlist).
- Aynı event_id tekrarı → **no-op ack** (idempotent).
- **Geriye dönüş kabul edilmez**: gelen durumun rütbesi mevcuttan küçükse yok sayılır
(ağ sırası bozulursa shipped sonrası gecikmiş picked durumu geri almasın).
- shipped → shop.shipments kaydı (mevcut sevkiyat modeline bağlanır).
İstek
curl -X POST "https://{slug}.shop.blesyum.app/api/shop/v1/storefront/shipping/webhook/<carrier>" \
-H "Accept: application/json"Yanıt
{
"data": "…",
"trace_id": "01JC…"
}