updateOrderByMarkerAndId
Modificación de pedidos en el almacenamiento de pedidos. 🔐 Este método requiere autorización.
Descripción
Este método actualiza un solo pedido dentro del almacenamiento de pedidos especificado por su marcador e id. Devuelve una Promesa que se resuelve en un objeto IBaseOrdersEntity con el pedido actualizado.
Pedidos.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. Por defecto: "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 al almacenamiento 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 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
Saldo 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
Total a pagar después de bonificaciones.