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.