Paket statüsü güncelle (toplu)

POST /OrderPackage/SetOrderPackageStatusInfoList — OMS API · Paketler

Paketlerin OMS statüsünü toplu günceller; isteğe bağlı olarak kargo firması ve takip bilgisini de yazar. Gövde bir dizidir; tek istekte birden fazla kayıt gönderebilirsiniz.

Ne zaman çağrılır: Depo/ERP tarafında paket hazırlandığında, kargoya verildiğinde, teslim edildiğinde vb.

  • status değeri OrderPackageStatus listesindeki adlardan biri olmalıdır.
  • Geçiş kiracının iş akışı kurallarına uygun olmalıdır; paket zaten o statüdeyse ve başka bilgi değişmiyorsa hata döner.
  • İşlem bütün olarak yapılır: bir paket uygun değilse hiçbiri güncellenmez ve HTTP 200, isSuccess: false, errorMesssage: "<paket> paket statü değişimine uygun değil!" döner.
  • Statü değişiminde OrderPackageStatusChangedEvent webhook'u tetiklenir.

İstek gövdesi

  • status (OrderPackageStatus, zorunlu): Paketin geçeceği statü.
  • cargoKey (string): Kargo anahtarı.
  • carrierCode (string): Kargo firması kodu. Mevcut firmadan farklıysa ve geçerliyse güncellenir.
  • trackingUrl (string): Kargo takip bağlantısı. Kargo firmasının bağlantı kuralına uymuyorsa yok sayılır.
  • trackingNumber (string): Kargo takip numarası.
  • sourcePackageId (string, zorunlu): Paketin sourcePackageId değeri.

Yanıtlar

  • 200: Başarılı. Gövdedeki isSuccess alanını mutlaka kontrol edin.
  • 400: Gövde doğrulanamadı (zorunlu alan eksik, tip uyumsuz ya da JSON bozuk). Yanıt ASP.NET Core ValidationProblemDetails biçimindedir; errors alanı hangi alanın hatalı olduğunu gösterir.
  • 401: Authorization başlığı yok, token geçersiz ya da süresi dolmuş. Gövde boş döner; /Auth/login ile yeni token alın.
  • 500: Beklenmeyen sunucu hatası. Bu yanıt PascalCase alan adlarıyla döner (diğer yanıtlardan farklı olarak) ve null alanlar da yazılır.

200 yanıt alanları

  • errors (object[]): Ayrıntılı hata listesi. Yalnızca doluysa döner.
    • errors.code (string): Hata kodu.
    • errors.message (string): Hata mesajı.
  • isSuccess (boolean, zorunlu): İşlem başarılı ise true. HTTP 200 dönse bile false olabilir; her yanıtta kontrol edin.
  • statusCode (integer<int32>, zorunlu): Durum kodu. Başarılı yanıtlarda genellikle 0 gelir; HTTP durum kodu yerine kullanılmamalıdır.
  • errorSource (string): Hata kaynağı. Yalnızca doluysa döner.
  • correlationId (string): İstek izleme kimliği. Yalnızca doluysa döner.
  • errorMesssage (string): Hata mesajı (alan adı kaynakta üç s ile yazılmıştır). Yalnızca hata varsa döner.