previewOrder
Bir sipariş hesaplamasını oluşturmadan önizleyin. 🔐 Bu yöntem yetkilendirme gerektirir.
Açıklama
Bu yöntem, sistemde siparişi gerçekten oluşturmadan, ürün toplamları, uygulanan indirimler ve nihai toplam dahil olmak üzere bir siparişi hesaplar ve önizler. Bir IPreviewOrderEntity nesnesine çözülen bir Promise döndürür.
Orders.previewOrder(
body*,
body.products,
products.productId,
products.quantity,
body.couponCode,
body.additionalDiscountsMarkers,
body.bonusAmount,
langCode
);
Parametreler şeması
Şema
body(required): ICreateOrderPreview
Sipariş önizleme gövdesi
body.products: IPreviewOrderProduct[]
Önizlenecek ürünlerin dizisi.
products.productId: number
Ürün tanımlayıcısı.
örnek: 1
products.quantity: number
Ürünün miktarı.
örnek: 2
body.couponCode: string
Uygulanacak kupon kodu.
body.additionalDiscountsMarkers: string[]
Ek indirim işaretlerinin dizisi.
body.bonusAmount: number
Uygulanacak bonus miktarı.
langCode: string
Dil kodu. Varsayılan: "en_US"
örnek: "en_US"
Örnekler
Minimal örnek
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);
Örnek yanıt
{
"formIdentifier": "orderForm",
"paymentAccountIdentifier": "cash",
"formData": [
{
"marker": "order_name",
"value": "Ivan",
"type": "string"
}
],
"products": [
{
"productId": 2957,
"quantity": 2
}
],
"currency": "usd",
"totalSum": 300
}
Yanıt şeması
Şema: IOrderPreviewResponse
totalSum: number
İndirimlerden önceki toplam sipariş tutarı.
örnek: 300
totalSumWithDiscount: number
İndirimlerden sonraki toplam sipariş tutarı.
örnek: 250
discountConfig: IOrderDiscountConfig
Siparişe uygulanan indirim yapılandırması.
discountConfig.bonus: IOrderDiscountBonus | null
Bonus hesaplama sonucu veya bonus kullanılmadığında null.
bonus.availableBalance: number
Hesaplama anında kullanıcının mevcut bonus bakiyesi.
örnek: 0
bonus.bonusApplied: number
Bu siparişe gerçekten uygulanan bonus miktarı.
örnek: 0
bonus.maxBonusDiscount: number
Bu sipariş için harcanmasına izin verilen maksimum bonus miktarı.
örnek: 0
bonus.minBonusAmount: number | null
Bonusları kullanmak için gereken minimum bonus bakiyesi veya eşiği yoksa null.
örnek: null
bonus.minOrderAmountForBonus: number | null
Bonusları uygulamak için gereken minimum sipariş toplamı veya eşiği yoksa null.
örnek: null
discountConfig.coupon: unknown | null
Çözülen kupon veya kupon uygulanmadığında null.
discountConfig.orderDiscounts: unknown[]
Eşleşen ve uygulanan sipariş düzeyindeki indirimler.
discountConfig.productDiscounts: unknown[]
Eşleşen ve uygulanan ürün düzeyindeki indirimler.
discountConfig.settings: IOrderDiscountSettings
Hesaplama sırasında kullanılan birleştirme ve sınır ayarları.
settings.allowGiftStacking: boolean
Birden fazla hediye indirimlerinin birleştirilip birleştirilemeyeceği.
örnek: false
settings.allowStacking: boolean
Birden fazla hediye olmayan indirimlerin birleştirilip birleştirilemeyeceği.
örnek: false
settings.maxDiscountValue: number | null
Toplam indirim değerinde katı sınır veya eşiği yoksa null.
örnek: null
discountConfig.additionalDiscountsMarkers: string[]
Müşteri tarafından talep edilen ek indirim işaretleri (önizleme yanıtlarında hariç tutulmuştur).
discountConfig.bonusApplied: number
Siparişe uygulanan bonus miktarı (önizleme yanıtlarında hariç tutulmuştur).
örnek: 0
discountConfig.excludedGiftProductIds: string[]
Hediye seçiminden hariç tutulan ürün id'leri (önizleme yanıtlarında hariç tutulmuştur).
discountConfig.totalDue: number
İndirimler ve bonuslardan sonra ödenecek toplam tutar (önizleme yanıtlarında hariç tutulmuştur).
örnek: 300
discountConfig.totalRaw: number
İndirimlerden önceki toplam tutar (önizleme yanıtlarında hariç tutulmuştur).
örnek: 300
discountConfig.totalSumWithDiscount: number
İndirimlerden sonra ancak bonuslardan önceki toplam tutar (önizleme yanıtlarında hariç tutulmuştur).
örnek: 300
currency: string
Siparişin para birimi.
örnek: "USD"
orderPreview: IOrderPreviewItem[]
Sipariş önizleme öğelerinin dizisi.
orderPreview.id: number
Ürün tanımlayıcısı.
örnek: 2954
orderPreview.price: number
İndirimlerden önceki ürün birim fiyatı.
örnek: 51
orderPreview.quantity: number
Ürünün miktarı.
örnek: 1
orderPreview.discountPrice: number | null
İndirimlerden sonraki birim fiyat veya indirim uygulanmadığında null.
örnek: null
orderPreview.isGift: boolean
Ürünün hediye olarak teslim edilip edilmediği.
örnek: false
bonusApplied: number
Siparişe uygulanan bonus.
totalDue: number
Bonuslardan sonra ödenecek toplam.