updateOrderByMarkerAndId
Modificación de pedidos en el almacenamiento de pedidos. 🔐 Este método requiere autorización.
Descripción
Este método actualiza un objeto de almacenamiento de pedidos por marcador. El método añadirá el idioma predeterminado al cuerpo de la solicitud. Si deseas cambiar el idioma, simplemente pásalo como segundo argumento. Devuelve una Promesa que se resuelve en un objeto IBaseOrdersEntity.
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
);
Esquema de parámetros
Esquema
marker(requerido): string
El identificador de texto del objeto de almacenamiento de pedidos
ejemplo: "order_storage_1"
id(requerido): number
ID del objeto de pedido
ejemplo: 12345
body(requerido): IOrderData
Objeto para actualizar un pedido
ejemplo:
{
"formIdentifier": "bar-orders-form",
"paymentAccountIdentifier": "usd-payment",
"formData": {
"marker": "name_1",
"value": "Name",
"type": "string"
},
"products": [
{
"productId": 1,
"quantity": 2
}
],
"currency": "USD"
}
body.formIdentifier(requerido): string
Identificador de texto del objeto de formulario vinculado al repositorio de pedidos.
ejemplo: "bar-orders-form"
body.paymentAccountIdentifier(requerido): string
Identificador de texto del objeto de pago vinculado al repositorio de pedidos.
ejemplo: "payment-1"
body.formData(requerido): IOrdersFormData | IOrdersFormData[]
Datos del formulario vinculados al repositorio de pedidos.
ejemplo:
[
{
"marker": "name_1",
"value": "Name",
"type": "string"
}
]
formData.marker(requerido): string
Marcador del campo del formulario.
ejemplo: "name_1"
formData.type(requerido): string
Tipo de valor.
ejemplo: "string"
formData.value(requerido): string
Valor.
ejemplo: "Nombre"
body.products(requerido): IOrderProductData[]
Un array de productos ordenados.
ejemplo: []
products.productId(requerido): number
Identificador del producto.
ejemplo: 1
products.quantity(requerido): number
Cantidad del producto.
ejemplo: 2
body.couponCode: string
Código de cupón.
body.additionalDiscountsMarkers: string[]
Array de marcadores de descuento adicionales.
body.bonusAmount: number
Monto de bonificación a aplicar.
langCode: string
Código de idioma. Predeterminado: "en_US"
ejemplo: "en_US"
Ejemplos
Ejemplo mínimo
const body = { "formIdentifier": "orderForm", "paymentAccountIdentifier": "cash", "formData": { { "marker": "order_name", "type": "string", "value": "Iván" } }, "products": [ { "productId": 2, "quantity": 2 } ]};
const response = await Orders.updateOrderByMarkerAndId("my-order", 1, body);
Ejemplo de respuesta
{
"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
}
}
Esquema de respuesta
Esquema: IBaseOrdersEntity
id: number
Identificador del objeto.
ejemplo: 1
formIdentifier: string
Identificador de texto del formulario.
ejemplo: "bar-orders-form"
paymentAccountIdentifier: string
Identificador de texto del pago del pedido.
ejemplo: "payment-1"
formData: IOrdersFormData[]
Datos enviados por el formulario vinculado a la tienda de pedidos.
ejemplo:
[
{
"marker": "name_1",
"value": "Name",
"type": "string"
}
]
formData.marker: string
Marcador del campo del formulario.
ejemplo: "name_1"
formData.type: string
Tipo de valor.
ejemplo: "string"
formData.value: string
Valor.
ejemplo: "Nombre"
products: IOrderProductsData[]
Array de productos añadidos al pedido.
ejemplo:
[
{
"id": 2957,
"title": "Cosmo",
"sku": null,
"previewImage": null,
"price": 150,
"quantity": 2
}
]
products.productId: number
Identificador del producto.
ejemplo: 1
products.quantity: number
Cantidad del producto.
ejemplo: 2
currency: string
Moneda utilizada para pagar el pedido.
ejemplo: "USD"
totalSum: number
Monto total del pedido.
ejemplo: NaN
createdDate: string
Fecha de creación del pedido.
ejemplo: "2023-10-01T12:00:00Z"
statusIdentifier: string
Identificador de texto del objeto de estado del pedido (si no se establece, se asignará el estado predeterminado).
ejemplo: "status-1"
couponCode: string
**
discountConfig: IOrderDiscountConfig
Configuración de descuento resuelta aplicada al pedido.
discountConfig.bonus: IOrderDiscountBonus | null
Resultado del cálculo de bonificación, o null cuando no se utilizan bonificaciones.
bonus.availableBalance: number
Saldo de bonificación del usuario disponible en el momento del cálculo.
ejemplo: 0
bonus.bonusApplied: number
Monto de bonificación realmente aplicado a este pedido.
ejemplo: 0
bonus.maxBonusDiscount: number
Monto máximo de bonificación permitido para gastar en este pedido.
ejemplo: 0
bonus.minBonusAmount: number | null
Monto mínimo de bonificación requerido para usar bonificaciones, o null si no hay umbral.
ejemplo: null
bonus.minOrderAmountForBonus: number | null
Monto mínimo del pedido requerido para aplicar bonificaciones, o null si no hay umbral.
ejemplo: null
discountConfig.coupon: unknown | null
Cupón resuelto, o null cuando no se aplica ningún cupón.
discountConfig.orderDiscounts: unknown[]
Descuentos a nivel de pedido que fueron coincidentes y aplicados.
discountConfig.productDiscounts: unknown[]
Descuentos a nivel de producto que fueron coincidentes y aplicados.
discountConfig.settings: IOrderDiscountSettings
Configuraciones de apilamiento y límite utilizadas durante el cálculo.
settings.allowGiftStacking: boolean
Si se pueden combinar múltiples descuentos de regalo.
ejemplo: false
settings.allowStacking: boolean
Si se pueden combinar múltiples descuentos no de regalo.
ejemplo: false
settings.maxDiscountValue: number | null
Límite máximo en el valor total del descuento, o null si no tiene límite.
ejemplo: null
discountConfig.additionalDiscountsMarkers: string[]
Marcadores de descuentos adicionales solicitados por el cliente (omitidos en las respuestas de vista previa).
discountConfig.bonusApplied: number
Monto de bonificación aplicado al pedido (omitido en las respuestas de vista previa).
ejemplo: 0
discountConfig.excludedGiftProductIds: string[]
IDs de productos excluidos de la selección de regalos (omitidos en las respuestas de vista previa).
discountConfig.totalDue: number
Monto total a pagar después de descuentos y bonificaciones (omitido en las respuestas de vista previa).
ejemplo: 300
discountConfig.totalRaw: number
Monto total antes de descuentos (omitido en las respuestas de vista previa).
ejemplo: 300
discountConfig.totalSumWithDiscount: number
Monto total después de descuentos pero antes de bonificaciones (omitido en las respuestas de vista previa).
ejemplo: 300
bonusAmount: number
Monto de bonificación aplicado al pedido.
bonusApplied: number
Bonificación aplicada al pedido.
totalDue: number
Monto total a pagar después de bonificaciones.