Pular para o conteúdo principal

previewOrder

Visualize o cálculo de um pedido sem criá-lo. 🔐 Este método requer autorização.

Descrição

Este método calcula e visualiza um pedido - incluindo totais de produtos, descontos aplicados e a soma final - sem realmente criar o pedido no sistema. Ele retorna uma Promise que resolve para um objeto IPreviewOrderEntity.

Orders.previewOrder(

body*, body.products, products.productId, products.quantity, body.couponCode, body.additionalDiscountsMarkers, body.bonusAmount, langCode

);

Esquema de parâmetros

Esquema

body(obrigatório): ICreateOrderPreview
Corpo da visualização do pedido

body.products: IPreviewOrderProduct[]
Array de produtos para visualizar.

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

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

body.couponCode: string
Códigodo cupom a ser aplicado.

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": 2957,
"quantity": 2
}
]
};

const response = await Orders.previewOrder("my_order", body);

Exemplo de resposta

{
"formIdentifier": "orderForm",
"paymentAccountIdentifier": "cash",
"formData": [
{
"marker": "order_name",
"value": "Ivan",
"type": "string"
}
],
"products": [
{
"productId": 2957,
"quantity": 2
}
],
"currency": "usd",
"totalSum": 300
}

Esquema de resposta

Esquema: IOrderPreviewResponse

totalSum: number
Valor total do pedido antes dos descontos.
exemplo: 300

totalSumWithDiscount: number
Valor total do pedido após os descontos.
exemplo: 250

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

discountConfig.bonus: IOrderDiscountBonus | null
Resultado do cálculo do 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 relacionados a 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 visualização).

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

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

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

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

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

currency: string
Moeda do pedido.
exemplo: "USD"

orderPreview: IOrderPreviewItem[]
Array de itens da visualização do pedido.

orderPreview.id: number
Identificador do produto.
exemplo: 2954

orderPreview.price: number
Preço unitário do produto antes dos descontos.
exemplo: 51

orderPreview.quantity: number
Quantidade do produto.
exemplo: 1

orderPreview.discountPrice: number | null
Preço unitário após descontos, ou null quando nenhum desconto se aplica.
exemplo: null

orderPreview.isGift: boolean
Se o produto é entregue como presente.
exemplo: false

bonusApplied: number
Bônus aplicado ao pedido.

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