Paket oluştur
POST /OrderPackage/CreatePackage — OMS API · Paketler
Daha önce kaydedilmiş bir siparişe gönderi paketi ekler.
Ne zaman çağrılır: Siparişi packages olmadan kaydettiyseniz ya da sonradan yeni paket oluştuysa.
- Sipariş
sourceOrderIdvesourceOrderNumberbirlikte eşleşerek bulunur (SaveOrders'takiorderIdveorderNumber). packageItems[].sourceOrderItemIdsiparişte bulunan bir kaleme ait olmalıdır.- Sipariş bulunamazsa HTTP 200,
isSuccess: false,errorMesssage: "Order Not Found !!"döner. - Başarılı her paket
items[]içindeitemCode=sourcePackageIdolarak listelenir.
İstek gövdesi
packages(object[]): Eklenecek paketler.packages.cargoKey(string): Kargo anahtarı.packages.lastStatus(string): Paketin kaynak sistemdeki son statüsü.packages.vendorCode(string): Paketi gönderecek satıcı kodu. Satıcı kullanıcısıyla çağrıldığında tüm paketler o satıcıya ait olmalıdır.packages.trackingURL(string): Kargo takip bağlantısı.packages.packageItems(object[], zorunlu): Pakete giren kalemler.packages.packageItems.vatRate(number<double>): KDV oranı.packages.packageItems.quantity(integer<int32>): Bu pakete giren adet.packages.packageItems.saleTotal(number<double>): Pakete düşen satış tutarı.packages.packageItems.vendorSku(string): Satıcının kendi SKU kodu.packages.packageItems.sourceOrderItemId(string, zorunlu): Pakete giren sipariş kalemininitems[].sourceOrderItemIddeğeri.packages.packageItems.packageItemAttributes(object[]): Paket kalemine ait ek alanlar.
packages.subVendorCode(string): Alt satıcı kodu.packages.deliveryMethod(integer<int32>): Teslim yöntemi.0= kargo ile teslim (varsayılan).packages.erpOrderNumber(string): Paketin ERP sipariş numarası.packages.invoiceAddress(object, zorunlu): Fatura adresi.packages.invoiceAddress.phone(string, zorunlu): Telefon numarası.packages.invoiceAddress.region(string): Bölge bilgisi.packages.invoiceAddress.isValid(boolean): Adresin doğrulanmış olup olmadığı.packages.invoiceAddress.zipCode(string, zorunlu): Posta kodu.packages.invoiceAddress.cityCode(string): İl kodu.packages.invoiceAddress.cityName(string, zorunlu): İl adı.packages.invoiceAddress.lastName(string, zorunlu): Alıcı soyadı.packages.invoiceAddress.firstName(string, zorunlu): Alıcı adı.packages.invoiceAddress.stateCode(string): Eyalet/bölge kodu.packages.invoiceAddress.stateName(string): Eyalet/bölge adı (yurt dışı adresler).packages.invoiceAddress.taxNumber(string): Vergi numarası (kurumsal fatura).packages.invoiceAddress.taxOffice(string): Vergi dairesi (kurumsal fatura).packages.invoiceAddress.streetCode(string): Cadde/sokak kodu.packages.invoiceAddress.streetName(string): Cadde/sokak adı.packages.invoiceAddress.addressType(string, zorunlu): Adres tipi:Shipment(teslimat) ya daInvoice(fatura).packages.invoiceAddress.companyName(string): Firma adı (kurumsal fatura için).packages.invoiceAddress.countryName(string, zorunlu): Ülke adı.packages.invoiceAddress.phonePrefix(string): Telefon ülke kodu öneki.packages.invoiceAddress.addressLine1(string, zorunlu): Adres satırı 1.packages.invoiceAddress.addressLine2(string, zorunlu): Adres satırı 2. Alan zorunludur; ikinci satır yoksa-gibi bir değer gönderin.packages.invoiceAddress.buildingCode(string): Bina kodu.packages.invoiceAddress.districtCode(string): İlçe kodu.packages.invoiceAddress.districtName(string, zorunlu): İlçe adı.packages.invoiceAddress.provinceName(string): Vilayet adı (yurt dışı adresler).packages.invoiceAddress.identityNumber(string): Kimlik numarası (bireysel fatura).packages.invoiceAddress.sourceAddressId(string, zorunlu): Adresin sizin sisteminizdeki kimliği; sipariş içinde tekil olmalıdır (1,2gibi verilebilir).packages.invoiceAddress.externalCityCode(string): İlin dış sistemdeki kodu.packages.invoiceAddress.formattedAddress(string): Biçimlendirilmiş tam adres metni.packages.invoiceAddress.neighborhoodCode(string): Mahalle kodu.packages.invoiceAddress.addressAttributes(object[]): Adrese ait ek alanlar.packages.invoiceAddress.externalStateCode(string): Eyalet/bölgenin dış sistemdeki kodu.packages.invoiceAddress.neighbourhoodName(string): Mahalle adı.packages.invoiceAddress.externalStreetCode(string): Cadde/sokağın dış sistemdeki kodu.packages.invoiceAddress.externalAddressCode(string): Adresin dış sistemdeki kodu.packages.invoiceAddress.externalBuildingCode(string): Binanın dış sistemdeki kodu.packages.invoiceAddress.externalDistrictCode(string): İlçenin dış sistemdeki kodu.packages.invoiceAddress.externalNeighborhoodCode(string): Mahallenin dış sistemdeki kodu.
packages.trackingNumber(string): Kargo takip numarası.packages.shipmentAddress(object): Teslimat adresi. Kargo ile teslimde (deliveryMethod0) gönderilmelidir; yoksa fatura adresi kullanılır.packages.shipmentAddress.phone(string, zorunlu): Telefon numarası.packages.shipmentAddress.region(string): Bölge bilgisi.packages.shipmentAddress.isValid(boolean): Adresin doğrulanmış olup olmadığı.packages.shipmentAddress.zipCode(string, zorunlu): Posta kodu.packages.shipmentAddress.cityCode(string): İl kodu.packages.shipmentAddress.cityName(string, zorunlu): İl adı.packages.shipmentAddress.lastName(string, zorunlu): Alıcı soyadı.packages.shipmentAddress.firstName(string, zorunlu): Alıcı adı.packages.shipmentAddress.stateCode(string): Eyalet/bölge kodu.packages.shipmentAddress.stateName(string): Eyalet/bölge adı (yurt dışı adresler).packages.shipmentAddress.taxNumber(string): Vergi numarası (kurumsal fatura).packages.shipmentAddress.taxOffice(string): Vergi dairesi (kurumsal fatura).packages.shipmentAddress.streetCode(string): Cadde/sokak kodu.packages.shipmentAddress.streetName(string): Cadde/sokak adı.packages.shipmentAddress.addressType(string, zorunlu): Adres tipi:Shipment(teslimat) ya daInvoice(fatura).packages.shipmentAddress.companyName(string): Firma adı (kurumsal fatura için).packages.shipmentAddress.countryName(string, zorunlu): Ülke adı.packages.shipmentAddress.phonePrefix(string): Telefon ülke kodu öneki.packages.shipmentAddress.addressLine1(string, zorunlu): Adres satırı 1.packages.shipmentAddress.addressLine2(string, zorunlu): Adres satırı 2. Alan zorunludur; ikinci satır yoksa-gibi bir değer gönderin.packages.shipmentAddress.buildingCode(string): Bina kodu.packages.shipmentAddress.districtCode(string): İlçe kodu.packages.shipmentAddress.districtName(string, zorunlu): İlçe adı.packages.shipmentAddress.provinceName(string): Vilayet adı (yurt dışı adresler).packages.shipmentAddress.identityNumber(string): Kimlik numarası (bireysel fatura).packages.shipmentAddress.sourceAddressId(string, zorunlu): Adresin sizin sisteminizdeki kimliği; sipariş içinde tekil olmalıdır (1,2gibi verilebilir).packages.shipmentAddress.externalCityCode(string): İlin dış sistemdeki kodu.packages.shipmentAddress.formattedAddress(string): Biçimlendirilmiş tam adres metni.packages.shipmentAddress.neighborhoodCode(string): Mahalle kodu.packages.shipmentAddress.addressAttributes(object[]): Adrese ait ek alanlar.packages.shipmentAddress.externalStateCode(string): Eyalet/bölgenin dış sistemdeki kodu.packages.shipmentAddress.neighbourhoodName(string): Mahalle adı.packages.shipmentAddress.externalStreetCode(string): Cadde/sokağın dış sistemdeki kodu.packages.shipmentAddress.externalAddressCode(string): Adresin dış sistemdeki kodu.packages.shipmentAddress.externalBuildingCode(string): Binanın dış sistemdeki kodu.packages.shipmentAddress.externalDistrictCode(string): İlçenin dış sistemdeki kodu.packages.shipmentAddress.externalNeighborhoodCode(string): Mahallenin dış sistemdeki kodu.
packages.sourcePackageId(string, zorunlu): Paketin sizin sisteminizdeki tekil kimliği. Aynı kimlikle ikinci kez gönderilen paket atlanır.packages.deliverySlotCode(string): Teslimat zaman dilimi kodu (en fazla 50 karakter).packages.lastModifiedDate(string<date-time>): Paketin son değişiklik zamanı. Gönderilmezse istek anı kullanılır.packages.cargoIsChangeable(boolean): Kargo firmasının sonradan değiştirilebilir olup olmadığı.packages.packageAttributes(object[]): Pakete ait ek alanlar.packages.packageAttributes.attributeKey(string, zorunlu): Ek alan adı.packages.packageAttributes.attributeValue(string, zorunlu): Ek alan değeri.
packages.carrierCompanyCode(string): Kargo firması kodu.packages.erpOrderCreateDate(string<date-time>): ERP'de sipariş oluşma zamanı.packages.deliveryServiceType(string): Teslimat hizmet tipi. Boş bırakılabilir; doluysa listedeki değerlerden biri olmalıdır, aksi halde sipariş reddedilir (büyük/küçük harf duyarsız).
sourceOrderId(string, zorunlu): SiparişinSaveOrdersile gönderilenorderIddeğeri.sourceOrderNumber(string, zorunlu): SiparişinSaveOrdersile gönderilenorderNumberdeğeri.
Yanıtlar
- 200: Başarılı. Gövdedeki
isSuccessalanını mutlaka kontrol edin. - 400: Gövde doğrulanamadı (zorunlu alan eksik, tip uyumsuz ya da JSON bozuk). Yanıt ASP.NET Core
ValidationProblemDetailsbiçimindedir;errorsalanı hangi alanın hatalı olduğunu gösterir. - 401:
Authorizationbaşlığı yok, token geçersiz ya da süresi dolmuş. Gövde boş döner;/Auth/loginile yeni token alın. - 500: Beklenmeyen sunucu hatası. Bu yanıt PascalCase alan adlarıyla döner (diğer yanıtlardan farklı olarak) ve
nullalanlar da yazılır.
200 yanıt alanları
items(object[], zorunlu): Gönderilen her kayıt için ayrı sonuç.items.itemCode(string, zorunlu): Sonucun ait olduğu kaydın kodu (sipariş kaydındaorderNumber, paket oluşturmadasourcePackageId).items.isSuccess(boolean, zorunlu): Bu kayıt başarıyla işlendiysetrue.items.errorMesssage(string): Kayıt başarısızsa hata mesajı. Yalnızca doluysa döner.
errorType(string): Genel hata tipi. Yalnızca doluysa döner.isSuccess(boolean, zorunlu): Listedeki tüm kayıtlar başarılıysatrue; en az biri başarısızsafalse.errorSource(string): Hata kaynağı. Yalnızca doluysa döner.errorMesssage(string): Genel hata mesajı (ör. sipariş bulunamadı). Yalnızca doluysa döner.