Pular para o conteúdo principal

updateOrderByMarkerAndId

Modificação de pedido no armazenamento de pedidos. 🔐 Este método requer autorização.

Descrição

Este método atualiza um objeto de armazenamento de pedido por marcador. O método adicionará o idioma padrão ao corpo da solicitação. Se você quiser mudar o idioma, basta passá-lo como segundo argumento. Ele retorna uma Promise que resolve para um objeto IBaseOrdersEntity.

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(obrigatório): string
O identificador de texto do objeto de armazenamento de pedidos
exemplo: "order_storage_1"

id(obrigatório): number
ID do objeto de pedido
exemplo: 12345

body(obrigatório): IOrderData
Objeto para atualizar um pedido
exemplo:

{
"formIdentifier": "bar-orders-form",
"paymentAccountIdentifier": "usd-payment",
"formData": {
"marker": "name_1",
"value": "Name",
"type": "string"
},
"products": [
{
"productId": 1,
"quantity": 2
}
],
"currency": "USD"
}

body.formIdentifier(obrigatório): string
Identificador de texto do objeto de formulário vinculado ao repositório de pedidos.
exemplo: "bar-orders-form"

body.paymentAccountIdentifier(obrigatório): string
Identificador de texto do objeto de pagamento vinculado ao repositório de pedidos.
exemplo: "payment-1"

body.formData(obrigatório): IOrdersFormData | IOrdersFormData[]
Dados do formulário vinculados ao repositório de pedidos.
exemplo:

[
{
"marker": "name_1",
"value": "Name",
"type": "string"
}
]

formData.marker(obrigatório): string
Marcador do campo do formulário.
exemplo: "name_1"

formData.type(obrigatório): string
Tipo de valor.
exemplo: "string"

formData.value(obrigatório): string
Valor.
exemplo: "Nome"

body.products(obrigatório): IOrderProductData[]
Um array de produtos encomendados.
exemplo: []

products.productId(obrigatório): number
Identificador do produto.
exemplo: 1

products.quantity(obrigatório): number
Quantidade do produto.
exemplo: 2

body.couponCode: string
Códig do cupom.

body.additionalDiscountsMarkers: string[]
Array de marcadores de desconto adicionais.

body.bonusAmount: number
Valor do bônus a ser aplicado.

langCode: string
Código do idioma. Padrão: "en_US"
exemplo: "en_US"

Exemplos

Exemplo mínimo


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);

Exemplo de resposta

{
"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 resposta

Esquema: IBaseOrdersEntity

id: number
Identificador do objeto.
exemplo: 1

formIdentifier: string
Identificador de texto do formulário.
exemplo: "bar-orders-form"

paymentAccountIdentifier: string
Identificador de texto do pagamento do pedido.
exemplo: "payment-1"

formData: IOrdersFormData[]
Dados submetidos pelo formulário vinculado ao armazenamento de pedidos.
exemplo:

[
{
"marker": "name_1",
"value": "Name",
"type": "string"
}
]

formData.marker: string
Marcador do campo do formulário.
exemplo: "name_1"

formData.type: string
Tipo de valor.
exemplo: "string"

formData.value: string
Valor.
exemplo: "Nome"

products: IOrderProductsData[]
Array de produtos adicionados ao pedido.
exemplo:

[
{
"id": 2957,
"title": "Cosmo",
"sku": null,
"previewImage": null,
"price": 150,
"quantity": 2
}
]

products.productId: number
Identificador do produto.
exemplo: 1

products.quantity: number
Quantidade do produto.
exemplo: 2

currency: string
Moeda utilizada para pagar o pedido.
exemplo: "USD"

totalSum: number
Valor total do pedido.
exemplo: NaN

createdDate: string
Data de criação do pedido.
exemplo: "2023-10-01T12:00:00Z"

statusIdentifier: string
Identificador de texto do objeto de status do pedido (se não definido, o status padrão será atribuído).
exemplo: "status-1"

couponCode: string
**

discountConfig: IOrderDiscountConfig
Configuração de desconto resolvida aplicada ao pedido.

discountConfig.bonus: IOrderDiscountBonus | null
Resultado do cálculo de bônus, ou null quando os bônus não são utilizados.

bonus.availableBalance: number
Saldo de bônus do usuário disponível no momento do cálculo.
exemplo: 0

bonus.bonusApplied: number
Valor do bônus realmente aplicado a este pedido.
exemplo: 0

bonus.maxBonusDiscount: number
Valor máximo de bônus permitido para ser gasto neste pedido.
exemplo: 0

bonus.minBonusAmount: number | null
Saldo mínimo de bônus necessário para usar bônus, ou null se não houver limite.
exemplo: null

bonus.minOrderAmountForBonus: number | null
Valor mínimo do pedido necessário para aplicar bônus, ou null se não houver limite.
exemplo: null

discountConfig.coupon: unknown | null
Cupom resolvido, ou null quando nenhum cupom é aplicado.

discountConfig.orderDiscounts: unknown[]
Descontos a nível de pedido que foram correspondidos e aplicados.

discountConfig.productDiscounts: unknown[]
Descontos a nível de produto que foram correspondidos e aplicados.

discountConfig.settings: IOrderDiscountSettings
Configurações de empilhamento e limite usadas durante o cálculo.

settings.allowGiftStacking: boolean
Se múltiplos descontos de presente podem ser combinados.
exemplo: false

settings.allowStacking: boolean
Se múltiplos descontos não presentes podem ser combinados.
exemplo: false

settings.maxDiscountValue: number | null
Limite rígido no valor total do desconto, ou null se sem limite.
exemplo: null

discountConfig.additionalDiscountsMarkers: string[]
Marcadores de descontos extras solicitados pelo cliente (omitidos nas respostas de pré-visualização).

discountConfig.bonusApplied: number
Valor do bônus aplicado ao pedido (omitido nas respostas de pré-visualização).
exemplo: 0

discountConfig.excludedGiftProductIds: string[]
IDs de produtos excluídos da seleção de presentes (omitidos nas respostas de pré-visualização).

discountConfig.totalDue: number
Valor total devido após descontos e bônus (omitido nas respostas de pré-visualização).
exemplo: 300

discountConfig.totalRaw: number
Valor total antes dos descontos (omitido nas respostas de pré-visualização).
exemplo: 300

discountConfig.totalSumWithDiscount: number
Valor total após descontos, mas antes dos bônus (omitido nas respostas de pré-visualização).
exemplo: 300

bonusAmount: number
Valor do bônus aplicado ao pedido.

bonusApplied: number
Bônus aplicado ao pedido.

totalDue: number
Total devido após bônus.