updateOrderByMarkerAndId
Sipariş depolamasında sipariş değişikliği. 🔐 Bu yöntem yetkilendirme gerektirir.
Açıklama
Bu yöntem, bir sipariş depolama nesnesini işaretçi ile günceller. Yöntem, istek gövdesine varsayılan dili ekleyecektir. Dili değiştirmek isterseniz, sadece ikinci argüman olarak geçirin. Bir IBaseOrdersEntity nesnesine çözülen bir Promise döner.
Orders.updateOrderByMarkerAndId(
marker*,
id*,
body*,
body.formIdentifier*,
body.paymentAccountIdentifier*,
body.formData*,
formData.marker*,
formData.type*,
formData.value*,
body.products*,
products.productId*,
products.quantity*,
body.couponCode,
body.additionalDiscountsMarkers,
body.bonusAmount,
langCode
);
Parametreler şeması
Şema
marker(zorunlu): string
Sipariş depolama nesnesinin metin tanımlayıcısı
örnek: "order_storage_1"
id(zorunlu): number
Sipariş nesnesinin kimliği
örnek: 12345
body(zorunlu): IOrderData
Bir siparişi güncellemek için nesne
örnek:
{
"formIdentifier": "bar-orders-form",
"paymentAccountIdentifier": "usd-payment",
"formData": {
"marker": "name_1",
"value": "Name",
"type": "string"
},
"products": [
{
"productId": 1,
"quantity": 2
}
],
"currency": "USD"
}
body.formIdentifier(zorunlu): string
Sipariş deposuna bağlı form nesnesinin metin tanımlayıcısı.
örnek: "bar-orders-form"
body.paymentAccountIdentifier(zorunlu): string
Sipariş deposuna bağlı ödeme nesnesinin metin tanımlayıcısı.
örnek: "payment-1"
body.formData(zorunlu): IOrdersFormData | IOrdersFormData[]
Sipariş deposuna bağlı form verileri.
örnek:
[
{
"marker": "name_1",
"value": "Name",
"type": "string"
}
]
formData.marker(zorunlu): string
Form alanının işaretçisi.
örnek: "name_1"
formData.type(zorunlu): string
Değer türü.
örnek: "string"
formData.value(zorunlu): string
Değer.
örnek: "İsim"
body.products(zorunlu): IOrderProductData[]
Sipariş edilen ürünlerin dizisi.
örnek: []
products.productId(zorunlu): number
Ürün tanımlayıcısı.
örnek: 1
products.quantity(zorunlu): number
Ürünün miktarı.
örnek: 2
body.couponCode: string
Kupon kodu.
body.additionalDiscountsMarkers: string[]
Ek indirim işaretlerinin dizisi.
body.bonusAmount: number
Uygulanacak bonus miktarı.
langCode: string
Dil kodu. Varsayılan: "en_US"
örnek: "en_US"
Örnekler
Minimal örnek
const body = { "formIdentifier": "orderForm", "paymentAccountIdentifier": "cash", "formData": { { "marker": "order_name", "type": "string", "value": "Ivan" } }, "products": [ { "productId": 2, "quantity": 2 } ]};
const response = await Orders.updateOrderByMarkerAndId("my-order", 1, body);
Örnek yanıt
{
"id": 55,
"formIdentifier": "orderForm",
"paymentAccountIdentifier": "cash",
"formData": [
{
"marker": "order_name",
"value": "Ivan",
"type": "string"
}
],
"products": [
{
"productId": 2957,
"quantity": 2
}
],
"currency": "",
"totalSum": 300,
"bonusApplied": 0,
"totalDue": 300,
"discountConfig": {
"orderDiscounts": [],
"productDiscounts": [],
"coupon": null,
"settings": {
"allowStacking": false,
"maxDiscountValue": null,
"allowGiftStacking": false,
"maxBonusPaymentPercent": null,
"minBonusAmount": null,
"minOrderAmountForBonus": null,
"giftRefundPolicy": "KEEP_GIFT"
},
"additionalDiscountsMarkers": [],
"totalRaw": 300,
"totalSumWithDiscount": 300,
"excludedGiftProductIds": [],
"bonus": null,
"bonusApplied": 0,
"totalDue": 300
}
}
Yanıt şeması
Şema: IBaseOrdersEntity
id: number
Nesne tanımlayıcısı.
örnek: 1
formIdentifier: string
Formun metin tanımlayıcısı.
örnek: "bar-orders-form"
paymentAccountIdentifier: string
Sipariş ödemesinin metin tanımlayıcısı.
örnek: "payment-1"
formData: IOrdersFormData[]
Sipariş deposuna bağlı formdan gönderilen veriler.
örnek:
[
{
"marker": "name_1",
"value": "Name",
"type": "string"
}
]
formData.marker: string
Form alanının işaretçisi.
örnek: "name_1"
formData.type: string
Değer türü.
örnek: "string"
formData.value: string
Değer.
örnek: "İsim"
products: IOrderProductsData[]
Siparişe eklenen ürünlerin dizisi.
örnek:
[
{
"id": 2957,
"title": "Cosmo",
"sku": null,
"previewImage": null,
"price": 150,
"quantity": 2
}
]
products.productId: number
Ürün tanımlayıcısı.
örnek: 1
products.quantity: number
Ürünün miktarı.
örnek: 2
currency: string
Siparişin ödenmesinde kullanılan para birimi.
örnek: "USD"
totalSum: number
Toplam sipariş tutarı.
örnek: NaN
createdDate: string
Sipariş oluşturma tarihi.
örnek: "2023-10-01T12:00:00Z"
statusIdentifier: string
Sipariş durumu nesnesinin metin tanımlayıcısı (ayarlanmadıysa varsayılan durum atanacaktır).
örnek: "status-1"
couponCode: string
**
discountConfig: IOrderDiscountConfig
Siparişe uygulanan indirim yapılandırması.
discountConfig.bonus: IOrderDiscountBonus | null
Bonus hesaplama sonucu veya bonus kullanılmadığında null.
bonus.availableBalance: number
Kullanıcının hesaplama anındaki bonus bakiyesi.
örnek: 0
bonus.bonusApplied: number
Bu siparişe gerçekten uygulanan bonus miktarı.
örnek: 0
bonus.maxBonusDiscount: number
Bu sipariş için harcanmasına izin verilen maksimum bonus miktarı.
örnek: 0
bonus.minBonusAmount: number | null
Bonus kullanmak için gereken minimum bonus bakiyesi veya eşiği yoksa null.
örnek: null
bonus.minOrderAmountForBonus: number | null
Bonusların uygulanabilmesi için gereken minimum sipariş toplamı veya eşiği yoksa null.
örnek: null
discountConfig.coupon: unknown | null
Uygulanan kupon veya kupon uygulanmadığında null.
discountConfig.orderDiscounts: unknown[]
Eşleşen ve uygulanan sipariş düzeyindeki indirimler.
discountConfig.productDiscounts: unknown[]
Eşleşen ve uygulanan ürün düzeyindeki indirimler.
discountConfig.settings: IOrderDiscountSettings
Hesaplama sırasında kullanılan birleştirme ve sınır ayarları.
settings.allowGiftStacking: boolean
Birden fazla hediye indirimlerinin birleştirilip birleştirilemeyeceği.
örnek: false
settings.allowStacking: boolean
Birden fazla hediye olmayan indirimlerin birleştirilip birleştirilemeyeceği.
örnek: false
settings.maxDiscountValue: number | null
Toplam indirim değerinde sert sınır veya eşiği yoksa null.
örnek: null
discountConfig.additionalDiscountsMarkers: string[]
Müşteri tarafından talep edilen ek indirimlerin işaretçileri (önizleme yanıtlarında atlanır).
discountConfig.bonusApplied: number
Siparişe uygulanan bonus miktarı (önizleme yanıtlarında atlanır).
örnek: 0
discountConfig.excludedGiftProductIds: string[]
Hediye seçiminden hariç tutulan ürün kimlikleri (önizleme yanıtlarında atlanır).
discountConfig.totalDue: number
İndirimler ve bonuslar sonrası ödenecek toplam tutar (önizleme yanıtlarında atlanır).
örnek: 300
discountConfig.totalRaw: number
İndirimlerden önceki toplam tutar (önizleme yanıtlarında atlanır).
örnek: 300
discountConfig.totalSumWithDiscount: number
İndirimlerden sonra ancak bonuslardan önceki toplam tutar (önizleme yanıtlarında atlanır).
örnek: 300
bonusAmount: number
Siparişe uygulanan bonus miktarı.
bonusApplied: number
Siparişe uygulanan bonus.
totalDue: number
Bonuslar sonrası ödenecek toplam.