updateOrderByMarkerAndId
Order modification in the order storage. 🔐 This method requires authorization.
Description
This method updates a single order inside the specified order storage by its marker and id. It returns a Promise that resolves to an IBaseOrdersEntity object with the updated order.
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
);
Parameters schema
Schema
marker(required): string
The text identifier of the order storage object
example: "order_storage_1"
id(required): number
ID of the order object
example: 12345
body(required): IOrderData
Object for updating an order
example:
{
"formIdentifier": "bar-orders-form",
"paymentAccountIdentifier": "usd-payment",
"formData": {
"marker": "name_1",
"value": "Name",
"type": "string"
},
"products": [
{
"productId": 1,
"quantity": 2
}
],
"currency": "USD"
}
body.formIdentifier(required): string
Text identifier of the form object linked to the order repository.
example: "bar-orders-form"
body.paymentAccountIdentifier(required): string
Text identifier of the payment object linked to the order repository.
example: "payment-1"
body.formData(required): IOrdersFormData | IOrdersFormData[]
Form data linked to the order repository.
example:
[
{
"marker": "name_1",
"value": "Name",
"type": "string"
}
]
formData.marker(required): string
Marker of form field.
example: "name_1"
formData.type(required): string
Type of value.
example: "string"
formData.value(required): string
Value.
example: "Name"
body.products(required): IOrderProductData[]
An array of ordered products.
example: []
products.productId(required): number
Product identifier.
example: 1
products.quantity(required): number
Quantity of the product.
example: 2
body.couponCode: string
Coupon code.
body.additionalDiscountsMarkers: string[]
Array of additional discount markers.
body.bonusAmount: number
Bonus amount to apply.
langCode: string
Language code. Default: "en_US"
example: "en_US"
Examples
Minimal example
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);
Example response
{
"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
}
}
Response schema
Schema: IBaseOrdersEntity
id: number
Object identifier.
example: 1
formIdentifier: string
Text identifier of the form.
example: "bar-orders-form"
paymentAccountIdentifier: string
Text identifier of the order payment.
example: "payment-1"
formData: IOrdersFormData[]
Data submitted by the form linked to the order store.
example:
[
{
"marker": "name_1",
"value": "Name",
"type": "string"
}
]
formData.marker: string
Marker of form field.
example: "name_1"
formData.type: string
Type of value.
example: "string"
formData.value: string
Value.
example: "Name"
products: IOrderProductsData[]
Array of products added to order.
example:
[
{
"id": 2957,
"title": "Cosmo",
"sku": null,
"previewImage": null,
"price": 150,
"quantity": 2
}
]
products.productId: number
Product identifier.
example: 1
products.quantity: number
Quantity of the product.
example: 2
currency: string
Currency used to pay for the order.
example: "USD"
totalSum: number
Total order amount.
example: NaN
createdDate: string
Order creation date.
example: "2023-10-01T12:00:00Z"
statusIdentifier: string
Text identifier of order status object (if not set, default status will be assigned).
example: "status-1"
couponCode: string
**
discountConfig: IOrderDiscountConfig
Resolved discount configuration applied to the order.
discountConfig.bonus: IOrderDiscountBonus | null
Bonus calculation result, or null when bonuses are not used.
bonus.availableBalance: number
User bonus balance available at the moment of calculation.
example: 0
bonus.bonusApplied: number
Bonus amount actually applied to this order.
example: 0
bonus.maxBonusDiscount: number
Maximum bonus amount allowed to be spent on this order.
example: 0
bonus.minBonusAmount: number | null
Minimum bonus balance required to use bonuses, or null if no threshold.
example: null
bonus.minOrderAmountForBonus: number | null
Minimum order total required to apply bonuses, or null if no threshold.
example: null
discountConfig.coupon: unknown | null
Resolved coupon, or null when no coupon is applied.
discountConfig.orderDiscounts: unknown[]
Order-level discounts that were matched and applied.
discountConfig.productDiscounts: unknown[]
Product-level discounts that were matched and applied.
discountConfig.settings: IOrderDiscountSettings
Stacking and cap settings used during calculation.
settings.allowGiftStacking: boolean
Whether multiple gift discounts can be combined.
example: false
settings.allowStacking: boolean
Whether multiple non-gift discounts can be combined.
example: false
settings.maxDiscountValue: number | null
Hard cap on total discount value, or null if uncapped.
example: null
discountConfig.additionalDiscountsMarkers: string[]
Markers of extra discounts requested by the client (omitted in preview responses).
discountConfig.bonusApplied: number
Bonus amount applied to the order (omitted in preview responses).
example: 0
discountConfig.excludedGiftProductIds: string[]
Product ids excluded from gift selection (omitted in preview responses).
discountConfig.totalDue: number
Total amount due after discounts and bonuses (omitted in preview responses).
example: 300
discountConfig.totalRaw: number
Total amount before discounts (omitted in preview responses).
example: 300
discountConfig.totalSumWithDiscount: number
Total amount after discounts but before bonuses (omitted in preview responses).
example: 300
bonusAmount: number
Bonus amount applied to the order.
bonusApplied: number
Bonus applied to the order.
totalDue: number
Total due after bonuses.