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
الإجمالي المستحق بعد المكافآت.