انتقل إلى المحتوى الرئيسي

previewOrder

معاينة حساب الطلب دون إنشائه. 🔐 تتطلب هذه الطريقة التفويض.

الوصف

تحسب هذه الطريقة وتعرض معاينة لطلب - بما في ذلك إجمالي المنتجات، والخصومات المطبقة، والمجموع النهائي - دون إنشاء الطلب فعليًا في النظام. تعيد Promise التي تحل إلى كائن IPreviewOrderEntity.

Orders.previewOrder(

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

);

مخطط المعلمات

المخطط

body(required): ICreateOrderPreview
نص جسم معاينة الطلب

body.products: IPreviewOrderProduct[]
مصفوفة من المنتجات للمعاينة.

products.productId: number
معرف المنتج.
مثال: 1

products.quantity: number
كمية المنتج.
مثال: 2

body.couponCode: string
رمز القسيمة للتطبيق.

body.additionalDiscountsMarkers: string[]
مصفوفة من علامات الخصم الإضافية.

body.bonusAmount: number
مبلغ المكافأة للتطبيق.

langCode: string
رمز اللغة. الافتراضي: "en_US"
مثال: "en_US"

أمثلة

مثال بسيط


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

مثال على الاستجابة

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

مخطط الاستجابة

المخطط: IOrderPreviewResponse

totalSum: number
إجمالي مبلغ الطلب قبل الخصومات.
مثال: 300

totalSumWithDiscount: number
إجمالي مبلغ الطلب بعد الخصومات.
مثال: 250

discountConfig: IOrderDiscountConfig
تكوين الخصم المطبق على الطلب.

discountConfig.bonus: IOrderDiscountBonus | null
نتيجة حساب المكافأة، أو null عند عدم استخدام المكافآت.

bonus.availableBalance: number
رصيد المكافأة المتاح للمستخدم في لحظة الحساب.
مثال: 0

bonus.bonusApplied: number
مبلغ المكافأة المطبق فعليًا على هذا الطلب.
مثال: 0

bonus.maxBonusDiscount: number
أقصى مبلغ مكافأة مسموح به لإنفاقه على هذا الطلب.
مثال: 0

bonus.minBonusAmount: number | null
أدنى رصيد مكافأة مطلوب لاستخدام المكافآت، أو null إذا لم يكن هناك حد.
مثال: null

bonus.minOrderAmountForBonus: number | null
أدنى إجمالي طلب مطلوب لتطبيق المكافآت، أو null إذا لم يكن هناك حد.
مثال: null

discountConfig.coupon: unknown | null
القسيمة المحلولة، أو null عند عدم تطبيق أي قسيمة.

discountConfig.orderDiscounts: unknown[]
خصومات على مستوى الطلب تم مطابقتها وتطبيقها.

discountConfig.productDiscounts: unknown[]
خصومات على مستوى المنتج تم مطابقتها وتطبيقها.

discountConfig.settings: IOrderDiscountSettings
إعدادات التكديس والحد المستخدمة أثناء الحساب.

settings.allowGiftStacking: boolean
ما إذا كان يمكن دمج خصومات الهدايا المتعددة.
مثال: false

settings.allowStacking: boolean
ما إذا كان يمكن دمج خصومات غير الهدايا المتعددة.
مثال: false

settings.maxDiscountValue: number | null
حد أقصى على إجمالي قيمة الخصم، أو null إذا لم يكن هناك حد.
مثال: null

discountConfig.additionalDiscountsMarkers: string[]
علامات الخصومات الإضافية المطلوبة من العميل (تم حذفها في استجابات المعاينة).

discountConfig.bonusApplied: number
مبلغ المكافأة المطبق على الطلب (تم حذفه في استجابات المعاينة).
مثال: 0

discountConfig.excludedGiftProductIds: string[]
معرفات المنتجات المستبعدة من اختيار الهدايا (تم حذفها في استجابات المعاينة).

discountConfig.totalDue: number
إجمالي المبلغ المستحق بعد الخصومات والمكافآت (تم حذفه في استجابات المعاينة).
مثال: 300

discountConfig.totalRaw: number
إجمالي المبلغ قبل الخصومات (تم حذفه في استجابات المعاينة).
مثال: 300

discountConfig.totalSumWithDiscount: number
إجمالي المبلغ بعد الخصومات ولكن قبل المكافآت (تم حذفه في استجابات المعاينة).
مثال: 300

currency: string
عملة الطلب.
مثال: "USD"

orderPreview: IOrderPreviewItem[]
مصفوفة من عناصر معاينة الطلب.

orderPreview.id: number
معرف المنتج.
مثال: 2954

orderPreview.price: number
سعر الوحدة للمنتج قبل الخصومات.
مثال: 51

orderPreview.quantity: number
كمية المنتج.
مثال: 1

orderPreview.discountPrice: number | null
سعر الوحدة بعد الخصومات، أو null عند عدم تطبيق أي خصم.
مثال: null

orderPreview.isGift: boolean
ما إذا كان المنتج يتم تسليمه كهدية.
مثال: false

bonusApplied: number
المكافأة المطبقة على الطلب.

totalDue: number
الإجمالي المستحق بعد المكافآت.