3PL durum webhook'u — **fail-closed**: imza `x-shop-webhook-signature` =
Oturum
HMAC-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/fulfillment/webhook" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"Yanıt
{
"data": "…",
"trace_id": "01JC…"
}