İş ortağı yüzeyi sözleşmesi Gönderi işlemleri PA-42
Gönderi iptali
POST/api/partner/v1/shipments/{id}/cancel
> Künye: TASK-392; REQ-021 KK-7, DEC-345, DEC-049.
Amaç
Toplama öncesinde gönderiyi iptal etmek. Kayıt silinmez, durumu değişir.
Yetki
İki kademeli kimlik: X-App-Key + Authorization: Bearer. Hesap anahtarı partner-api yeteneği taşır ve tek başına /api/v1e giremez.
Başarı 200
iptal edilmiş gönderi detayı. Onaylanmış bir gönderi iptal edildiğinde kesilmiş ücret iade edilir ve iade /api/v1 ile aynı çekirdek üzerinden yürür (çift alacak üretmeyen serileştirme, DEC-049). Kendi hesabı (billing_mode=carrier_direct) gönderisinde iade yoktur ve bu YAPISAL bir no-op'tur: geri alınacak bir kesim hiç olmadığı için dokunulacak satır da yoktur (DEC-363). Defter sayımı iptalden önce ve sonra aynıdır.
Hatalar
404 (başka tenant'ın gönderisi), 409 (eşzamanlı ikinci iptal; kaybeden istek), 422 (iptal edilemeyecek durum); ayrıca 401, 403, 429. Taslak için bir onay (PA-40) yürürken gelen iptal de 409 alır: taslak iptal edilmez ve değişmez; istemci onay sonuçlanınca taze durumu okuyup yeniden dener (/api/v1 ile aynı kural ve aynı metin, DEC-554). Taslak iptali tek işlemdir, bu yüzden taslakta eşzamanlı ikinci iptal 422 alır; eşzamanlı iptalin 409'u taşıyıcıya inen, taslak dışı durumlar içindir.
Idempotency-Key
sözleşmesi yoktur ve bu /api/v1 ile aynıdır; çift iptali claim kapısı önler.
curl -X POST "{{host}}/api/partner/v1/shipments/GONDERI_ULID/cancel" \
-H "Accept: application/json" \
-H "X-App-Key: SEVKORA_UYGULAMA_ANAHTARINIZ" \
-H "Authorization: Bearer SEVKORA_API_ANAHTARINIZ"