Ana içeriğe geç

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.