RestAPI Miktar Bazlı Paket Bölme

Miktar Bazlı Paket Bölme & Sipariş Ürün İptali (SplitPackagesByQuantity & PartialCancel)

 

POST http://api.n11.com/rest/delivery/v1/splitPackageByQuantity
  • Authorization no auth seçiniz.
  • Headers alanına appkey ve appsecret bilgisini eklemeniz gerekir.
  • HTTP isteğinizi 'POST' methoduyla ilgili endpoint'e gönderin.
  • Serviste parametre bulunmamaktadır, Request Body baz alınmaktadır.

Dikkat Edilmesi Gerekenler;

  • Siparişler yalnızca Picking statüsünde bölünebilmektedir, Created statülü siparişler bölünemez.
  • Bölünen ana sipariş statüsü Unpacked olarak güncellenip, bölünmüş paketler Picking statüsünde oluşmaktadır.
  • Oluşan paketler aynı orderNumber, farklı id ( paket numarası ) ve farklı cargoTrackingNumber ( kampanya kodu ) ile oluşmaktadır.
  • Body içerisindeki orderLineId bilgisine GetShipmentPackages servisinden ürün bazlı ulaşabilirsiniz.
  • quantities parametresinde oluşacak paket içerisindeki ürünlerin miktarı gönderilmelidir, gönderilen miktar toplamı sipariş ürün miktarından fazla olamaz.
  • Body içerisinde gönderilen orderLineId & quantitites haricindeki ürünler otomatik olarak yeni bir pakette ayrıca oluşacaktır.
  • Bölünen paketlerde, birden fazla ürün miktarı mevcut ise tekrardan bölünebilmektedir.
  • Body içerisinde oluşturmak istediğiniz paketlere göre JSON bloğunda istekler gönderebilirsiniz, her paket packageDetails alanından beslenerek oluşmaktadır. Aşağıda Request örnekleri mevcuttur.
  • Body içerisinde aynı siparişe ait ürünler bulunmalıdır, parçalanacak her sipariş için ayrı body hazırlanıp ayrı istek gönderilmelidir.
  • Bölme işlemi sonrası mevcut orderLineId ile birlikte yeni oluşan ürün için yeni ID değerleri üretilerek GetShipmentPackages servisinden paket bazlı verilmektedir.
  • Bu servisten paket bölme ile birlikte sipariş ürünü parçalı iptal sağlanabilir fakat yalnızca iptal yapılamaz.
  • Bu servis ile iptal edilen paket UnSupplied olarak güncellenip, kalan itemler yeni bir pakette oluşurken bölme işlemi sonucunda bu paket te Unpacked olarak verilerek yeni paketler oluşacaktır.
  • İptal edilecek ürün için kullanılabilecek cancelReasonId değerleri aşağıdaki tabloda yer almaktadır;
 
cancelReasonId Açıklama
61 Stok Tükendi
62 Kusurlu/Defolu/Bozuk Ürün
63 Hatalı Fiyat
64 Mücbir Sebep
65 Diğer

Tek Ürün Miktar Bazlı Paket Bölme

Örnek Request
{
    "splitPackages": [
        {
            "packageDetails": [
                {
                    "orderLineId": 448627086,
                    "quantities": 1
                }
            ]
        }
    ]
}
Örnek Response
{
    "code": 200,
    "message": "success"
}

 

 

Paket İçerisinde Birden Fazla Ürün Olacak Şekilde Miktar Bazlı Paket Bölme

Örnek Request
{
    "splitPackages": [
        {
            "packageDetails": [
                {
                    "orderLineId": 448627086,
                    "quantities": 3
                },
                {
                    "orderLineId": 448627087,
                    "quantities": 2
                }
            ]
        }
    ]
}
Örnek Response
{
    "code": 200,
    "message": "success"
}

 

Birden Fazla Paket Oluşacak Şekilde Miktar Bazlı Paket Bölme

Örnek Request
{
    "splitPackages": [
        {
            "packageDetails": [
                {
                    "orderLineId": 448627086,
                    "quantities": 2
                }
            ]
        },
        {
            "packageDetails": [
                {
                    "orderLineId": 448627086,
                    "quantities": 1
                }
            ]
        }
    ]
}
Örnek Response
{
    "code": 200,
    "message": "success"
}

 

Ürün İptali ve Miktar Bazlı Paket Bölme

Bu senaryoda 389132250 id'li sipariş ürününde 1 adet iptal sağlanıp, kalan miktara göre oluşan paket te packageDetails alanına göre bölünerek paket oluşacaktır.
Örnek Request
{
    "cancelledItems": [
        {
            "cancelReasonId": 61,
            "orderLineId": 389132250,
            "quantity": 1
        }
    ],
    "splitPackages": [
        {
            "packageDetails": [
                {
                    "orderLineId": 389132250,
                    "quantities": 2
                }
            ]
        },
        {
             "packageDetails": [
                {
                    "orderLineId": 389132250,
                    "quantities": 1
                }
            ]
        },

    ]
}
Örnek Response
{
    "code": 200,
    "message": "success"
}