RestAPI Miktar Bazlı Paket Bölme
Miktar Bazlı Paket Bölme & Sipariş Ürün İptali (SplitPackagesByQuantity & PartialCancel)
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"
}