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

updateOrderByMarkerAndId

تعديل الطلب في تخزين الطلبات. 🔐 تتطلب هذه الطريقة التفويض.

الوصف

تقوم هذه الطريقة بتحديث طلب واحد داخل تخزين الطلبات المحدد بواسطة علامته ومعرفه. تعيد Promise التي تحل إلى كائن IBaseOrdersEntity مع الطلب المحدث.

Orders.updateOrderByMarkerAndId(

marker*, id*, body*, body.formIdentifier*, body.paymentAccountIdentifier*, body.formData*, formData.marker*, formData.type*, formData.value*, body.products*, products.productId*, products.quantity*, body.couponCode, body.additionalDiscountsMarkers, body.bonusAmount, langCode

);

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

المخطط

marker(مطلوب): string
المعرف النصي لكائن تخزين الطلب
مثال: "order_storage_1"

id(مطلوب): number
معرف كائن الطلب
مثال: 12345

body(مطلوب): IOrderData
كائن لتحديث الطلب
مثال:

{
"formIdentifier": "bar-orders-form",
"paymentAccountIdentifier": "usd-payment",
"formData": {
"marker": "name_1",
"value": "Name",
"type": "string"
},
"products": [
{
"productId": 1,
"quantity": 2
}
],
"currency": "USD"
}

body.formIdentifier(مطلوب): string
المعرف النصي لكائن النموذج المرتبط بمستودع الطلب.
مثال: "bar-orders-form"

body.paymentAccountIdentifier(مطلوب): string
المعرف النصي لكائن الدفع المرتبط بمستودع الطلب.
مثال: "payment-1"

body.formData(مطلوب): IOrdersFormData | IOrdersFormData[]
بيانات النموذج المرتبطة بمستودع الطلب.
مثال:

[
{
"marker": "name_1",
"value": "Name",
"type": "string"
}
]

formData.marker(مطلوب): string
علامة حقل النموذج.
مثال: "name_1"

formData.type(مطلوب): string
نوع القيمة.
مثال: "string"

formData.value(مطلوب): string
القيمة.
مثال: "Name"

body.products(مطلوب): IOrderProductData[]
مصفوفة من المنتجات المطلوبة.
مثال: []

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": 2,
"quantity": 2
}
]
};

const response = await Orders.updateOrderByMarkerAndId("my-order", 1, body);

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

{
"id": 55,
"formIdentifier": "orderForm",
"paymentAccountIdentifier": "cash",
"formData": [
{
"marker": "order_name",
"value": "Ivan",
"type": "string"
}
],
"products": [
{
"productId": 2957,
"quantity": 2
}
],
"currency": "",
"totalSum": 300,
"bonusApplied": 0,
"totalDue": 300,
"discountConfig": {
"orderDiscounts": [],
"productDiscounts": [],
"coupon": null,
"settings": {
"allowStacking": false,
"maxDiscountValue": null,
"allowGiftStacking": false,
"maxBonusPaymentPercent": null,
"minBonusAmount": null,
"minOrderAmountForBonus": null,
"giftRefundPolicy": "KEEP_GIFT"
},
"additionalDiscountsMarkers": [],
"totalRaw": 300,
"totalSumWithDiscount": 300,
"excludedGiftProductIds": [],
"bonus": null,
"bonusApplied": 0,
"totalDue": 300
}
}

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

المخطط: IBaseOrdersEntity

id: number
معرف الكائن.
مثال: 1

formIdentifier: string
المعرف النصي للنموذج.
مثال: "bar-orders-form"

paymentAccountIdentifier: string
المعرف النصي لدفع الطلب.
مثال: "payment-1"

formData: IOrdersFormData[]
البيانات المقدمة بواسطة النموذج المرتبط بمستودع الطلب.
مثال:

[
{
"marker": "name_1",
"value": "Name",
"type": "string"
}
]

formData.marker: string
علامة حقل النموذج.
مثال: "name_1"

formData.type: string
نوع القيمة.
مثال: "string"

formData.value: string
القيمة.
مثال: "Name"

products: IOrderProductsData[]
مصفوفة من المنتجات المضافة إلى الطلب.
مثال:

[
{
"id": 2957,
"title": "Cosmo",
"sku": null,
"previewImage": null,
"price": 150,
"quantity": 2
}
]

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

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

currency: string
العملة المستخدمة لدفع الطلب.
مثال: "USD"

totalSum: number
إجمالي مبلغ الطلب.
مثال: NaN

createdDate: string
تاريخ إنشاء الطلب.
مثال: "2023-10-01T12:00:00Z"

statusIdentifier: string
المعرف النصي لكائن حالة الطلب (إذا لم يتم تعيينه، سيتم تعيين حالة افتراضية).
مثال: "status-1"

couponCode: string
**

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

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

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

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