İptal talebi oluştur

POST /Orders/CreateOrderItemLineCancelRequest — OMS API · İptal & İade

Sipariş satırları için iptal talebi açar. Talep satıcının iptal talepleri ekranına düşer; satıcı onaylar ya da reddeder ve sonuç size CancelShipmentRequestApprovedEvent / CancelShipmentRequestRejectedEvent webhook'uyla bildirilir. Gövde bir dizidir; tek istekte birden fazla kayıt gönderebilirsiniz.

Ne zaman çağrılır: Müşteri, satıcının henüz göndermediği bir ürünün iptalini istediğinde.

  • reasonId için GetStatusReasonByType (statusType=Cancelled) kullanın.
  • Satır statüsü iptal talebine uygun değilse, adet yetersizse ya da reasonId hatalıysa HTTP 200, isSuccess: false döner.
  • Satır için bekleyen bir talep zaten varsa istek başarılı sayılır (tekrar denemeler güvenlidir).
  • Kiracıda ödeme iadesi açıksa data içinde oluşacak iade bilgileri döner.

İstek gövdesi

  • quantity (integer<int32>, zorunlu): İptal adedi (satır başına genellikle 1).
  • reasonId (integer<int64>, zorunlu): İptal sebebi kimliği; GetStatusReasonByType (statusType=Cancelled) yanıtındaki id.
  • reasonDesc (string): İptal açıklaması.
  • refundAction (string): Ödeme iadesi şekli: refund (para iadesi, varsayılan) ya da credit (iade çeki).
  • sourceOrderItemLineId (string, zorunlu): İptal edilecek satırın sourceOrderItemLineId 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ı

  • data (object[]): Oluşan ödeme iadeleri. Ödeme iadesi kapalıysa boş liste.
    • data.total (number<double>): Ödeme tutarı.
    • data.status (integer<int32>): İade durumu kodu.
    • data.authCode (string): Provizyon kodu. Yalnızca doluysa döner.
    • data.interest (number<double>): Vade farkı.
    • data.paidDate (string<date-time>): Ödeme zamanı. Yalnızca doluysa döner.
    • data.posPoint (number<double>): POS puanı. Yalnızca doluysa döner.
    • data.refundId (string): İade kaydı kimliği.
    • data.createdOn (string<date-time>): Oluşma zamanı. Yalnızca doluysa döner.
    • data.statusName (string): İade durumu adı.
    • data.paymentType (string): Ödeme tipi.
    • data.refundTotal (number<double>): İade edilecek tutar.
    • data.transactionId (string): İşlem kimliği. Yalnızca doluysa döner.
    • data.paymentMethodId (string): Ödeme yöntemi kimliği.
    • data.transactionCode (string): İşlem kodu. Yalnızca doluysa döner.
    • data.captureTransactionId (string): Tahsilat işlem kimliği. Yalnızca doluysa döner.
  • isSuccess (boolean, zorunlu): İşlem başarılı ise true.
  • statusCode (string): Kullanılmıyor; genellikle null.
  • errorMesssage (string): Hata mesajı. Yalnızca hata varsa döner.