Nhảy đến nội dung

previewOrder

Xem trước một phép tính đơn hàng mà không cần tạo nó. 🔐 Phương pháp này yêu cầu ủy quyền.

Mô tả

Phương pháp này tính toán và xem trước một đơn hàng - bao gồm tổng sản phẩm, các khoản giảm giá đã áp dụng và tổng số cuối cùng - mà không thực sự tạo đơn hàng trong hệ thống. Nó trả về một Promise mà khi hoàn thành sẽ trả về một đối tượng IPreviewOrderEntity.

Orders.previewOrder(

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

);

Sơ đồ tham số

Sơ đồ

body(bắt buộc): ICreateOrderPreview
Nội dung xem trước đơn hàng

body.products: IPreviewOrderProduct[]
Mảng sản phẩm để xem trước.

products.productId: number
Mã định danh sản phẩm.
ví dụ: 1

products.quantity: number
Số lượng sản phẩm.
ví dụ: 2

body.couponCode: string
Mã coupon để áp dụng.

body.additionalDiscountsMarkers: string[]
Mảng các dấu hiệu giảm giá bổ sung.

body.bonusAmount: number
Số tiền thưởng để áp dụng.

langCode: string
Mã ngôn ngữ. Mặc định: "en_US"
ví dụ: "en_US"

Ví dụ

Ví dụ tối thiểu


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

Ví dụ phản hồi

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

Sơ đồ phản hồi

Sơ đồ: IOrderPreviewResponse

totalSum: number
Tổng số tiền đơn hàng trước khi giảm giá.
ví dụ: 300

totalSumWithDiscount: number
Tổng số tiền đơn hàng sau khi giảm giá.
ví dụ: 250

discountConfig: IOrderDiscountConfig
Cấu hình giảm giá áp dụng cho đơn hàng.

discountConfig.bonus: IOrderDiscountBonus | null
Kết quả tính toán tiền thưởng, hoặc null khi không sử dụng tiền thưởng.

bonus.availableBalance: number
Số dư tiền thưởng của người dùng có sẵn tại thời điểm tính toán.
ví dụ: 0

bonus.bonusApplied: number
Số tiền thưởng thực tế đã áp dụng cho đơn hàng này.
ví dụ: 0

bonus.maxBonusDiscount: number
Số tiền thưởng tối đa được phép chi cho đơn hàng này.
ví dụ: 0

bonus.minBonusAmount: number | null
Số dư tiền thưởng tối thiểu cần thiết để sử dụng tiền thưởng, hoặc null nếu không có ngưỡng.
ví dụ: null

bonus.minOrderAmountForBonus: number | null
Tổng đơn hàng tối thiểu cần thiết để áp dụng tiền thưởng, hoặc null nếu không có ngưỡng.
ví dụ: null

discountConfig.coupon: unknown | null
Coupon đã được giải quyết, hoặc null khi không có coupon nào được áp dụng.

discountConfig.orderDiscounts: unknown[]
Các khoản giảm giá cấp đơn hàng đã được khớp và áp dụng.

discountConfig.productDiscounts: unknown[]
Các khoản giảm giá cấp sản phẩm đã được khớp và áp dụng.

discountConfig.settings: IOrderDiscountSettings
Cài đặt xếp chồng và giới hạn được sử dụng trong quá trình tính toán.

settings.allowGiftStacking: boolean
Liệu có thể kết hợp nhiều khoản giảm giá quà tặng hay không.
ví dụ: false

settings.allowStacking: boolean
Liệu có thể kết hợp nhiều khoản giảm giá không phải quà tặng hay không.
ví dụ: false

settings.maxDiscountValue: number | null
Giới hạn cứng về tổng giá trị giảm giá, hoặc null nếu không có giới hạn.
ví dụ: null

discountConfig.additionalDiscountsMarkers: string[]
Các dấu hiệu của các khoản giảm giá bổ sung được yêu cầu bởi khách hàng (bị bỏ qua trong các phản hồi xem trước).

discountConfig.bonusApplied: number
Số tiền thưởng đã áp dụng cho đơn hàng (bị bỏ qua trong các phản hồi xem trước).
ví dụ: 0

discountConfig.excludedGiftProductIds: string[]
Các mã sản phẩm bị loại trừ khỏi lựa chọn quà tặng (bị bỏ qua trong các phản hồi xem trước).

discountConfig.totalDue: number
Tổng số tiền phải trả sau khi giảm giá và tiền thưởng (bị bỏ qua trong các phản hồi xem trước).
ví dụ: 300

discountConfig.totalRaw: number
Tổng số tiền trước khi giảm giá (bị bỏ qua trong các phản hồi xem trước).
ví dụ: 300

discountConfig.totalSumWithDiscount: number
Tổng số tiền sau khi giảm giá nhưng trước khi áp dụng tiền thưởng (bị bỏ qua trong các phản hồi xem trước).
ví dụ: 300

currency: string
Tiền tệ của đơn hàng.
ví dụ: "USD"

orderPreview: IOrderPreviewItem[]
Mảng các mục xem trước đơn hàng.

orderPreview.id: number
Mã định danh sản phẩm.
ví dụ: 2954

orderPreview.price: number
Giá đơn vị sản phẩm trước khi giảm giá.
ví dụ: 51

orderPreview.quantity: number
Số lượng sản phẩm.
ví dụ: 1

orderPreview.discountPrice: number | null
Giá đơn vị sau khi giảm giá, hoặc null khi không có giảm giá nào áp dụng.
ví dụ: null

orderPreview.isGift: boolean
Liệu sản phẩm có được giao như một món quà hay không.
ví dụ: false

bonusApplied: number
Số tiền thưởng đã áp dụng cho đơn hàng.

totalDue: number
Tổng số tiền phải trả sau khi áp dụng tiền thưởng.