getOrdersByVectorSearch
بحث دلالي (متجه) عن طلبات المستخدم الحالي. 🔐 تتطلب هذه الطريقة التفويض.
الوصف
تقوم هذه الطريقة بإجراء بحث دلالي (متجه) على طلبات المستخدم المصرح له من استعلام بلغة طبيعية - حيث تتطابق على المعنى بدلاً من الكلمات الرئيسية الدقيقة. تعيد وعدًا يتم حله إلى كائن IOrdersByMarkerEntity - حاوية تحتوي على items (الطلبات) و total.
Orders.getOrdersByVectorSearch(
body*,
langCode,
offset,
limit
);
مخطط المعاملات
المخطط
body(required): IOrdersVectorSearch
نص البحث المتجه
مثال:
{ queryText: "winter jacket" }
body.queryText(required): string
استعلام بحث بلغة طبيعية.
مثال: "سترة شتوية"
body.vectorDistanceThreshold: number
تجاوز عتبة المسافة الكوسينية (0..2).
مثال: 0.3
body.maxHits: number
أفضل K مرشحين تم جلبهم قبل التصفح. الافتراضي: 100. الحد الأقصى: 500.
مثال: 10
body.debug: boolean
عند التفعيل، يحصل كل عنصر تم إرجاعه على حقل distance.
مثال: false
langCode: string
رمز اللغة. الافتراضي: "en_US"
مثال: "en_US"
offset: number
معامل للتصفح. الافتراضي: 0
مثال: 0
limit: number
معامل للتصفح. الافتراضي: 30
مثال: 30
أمثلة
مثال بسيط
const response = await Orders.getOrdersByVectorSearch({ queryText: 'winter jacket' });
مثال مع السمات
const response = await Orders.getOrdersByVectorSearch(
{
queryText: 'winter jacket',
vectorDistanceThreshold: 0.3,
maxHits: 50,
debug: true,
},
'en_US',
0,
30,
);
مثال على الاستجابة
{
"items": [
{
"id": 746,
"storageId": 1,
"createdDate": "2026-08-14T13:02:50.761Z",
"statusIdentifier": "inProgress-payment",
"statusLocalizeInfos": {
"title": "In progress"
},
"fulfillmentStatusIdentifier": null,
"fulfillmentStatusLocalizeInfos": null,
"paymentStatusIdentifier": "inProgress-payment",
"paymentStatusLocalizeInfos": {
"title": "In progress"
},
"formIdentifier": "orderForm",
"formData": [
{
"marker": "order_name",
"value": "Ivan",
"type": "string"
}
],
"attributeSetIdentifier": "order_form",
"paymentStrategy": "once",
"totalSum": "285",
"totalSumRaw": "300",
"currency": "USD",
"paymentAccountIdentifier": "cash",
"paymentAccountLocalizeInfos": {
"title": "Cash"
},
"products": [
{
"id": 2957,
"title": "Cosmo",
"sku": null,
"previewImage": [],
"price": 150,
"quantity": 2,
"isGift": false
}
],
"paymentUrl": null,
"discountConfig": {
"orderDiscounts": [
{
"id": 2,
"identifier": "personal_discount",
"type": "PERSONAL_DISCOUNT",
"localizeInfos": {
"title": "Personal discount"
},
"startDate": "2026-04-21T18:26:19.815Z",
"endDate": "2028-03-21T19:26:24.741Z",
"discountValue": {
"value": 15,
"maxAmount": null,
"discountType": "FIXED_AMOUNT",
"applicability": "TO_ORDER"
},
"exclusions": null,
"position": 1,
"conditionLogic": "AND",
"gifts": [],
"userGroups": null,
"userExclusions": null,
"conditions": [],
"coupon": null
}
],
"productDiscounts": [],
"coupon": null,
"settings": {
"allowStacking": true,
"maxDiscountValue": 50,
"allowGiftStacking": false,
"maxBonusPaymentPercent": null,
"minBonusAmount": null,
"minOrderAmountForBonus": null,
"giftRefundPolicy": "KEEP_GIFT"
},
"additionalDiscountsMarkers": [],
"totalRaw": 300,
"totalSumWithDiscount": 285,
"excludedGiftProductIds": [],
"bonus": {
"availableBalance": 0,
"maxBonusDiscount": 0,
"minBonusAmount": null,
"minOrderAmountForBonus": null,
"bonusApplied": 0
},
"bonusApplied": 0,
"totalDue": 285
},
"isPartial": false,
"isCompleted": null
}
],
"total": 1
}
مخطط الاستجابة
المخطط: IOrdersByMarkerEntity
items: IOrderByMarkerEntity[]
مصفوفة من كائنات تخزين الطلبات.
مثال:
[
{
"id": 55,
"storageId": 1,
"createdDate": "2025-03-22T21:12:42.371Z",
"statusIdentifier": "inProgress",
"formIdentifier": "orderForm",
"formData": [
{
"marker": "order_name",
"value": "Ivan",
"type": "string"
}
],
"attributeSetIdentifier": "order_form",
"totalSum": "300.00",
"currency": "",
"paymentAccountIdentifier": "cash",
"paymentAccountLocalizeInfos": {
"title": "Cash"
},
"products": [
{
"id": 2957,
"title": "Cosmo",
"sku": null,
"previewImage": null,
"price": 150,
"quantity": 2
}
],
"isCompleted": false
}
]
items.id: number
معرف الكائن.
مثال: 125
items.storageId: number
معرف كائن تخزين الطلب.
مثال: 1
items.createdDate: string
تاريخ إنشاء الطلب.
مثال: "2023-10-01T12:00:00Z"
items.statusIdentifier: string
معرف نصي لحالة الطلب.
مثال: "order-status-1"
items.formIdentifier: string
معرف نصي للنموذج.
مثال: "bar-orders-form"
items.formData: IOrdersFormData[]
البيانات المقدمة من النموذج المرتبط بمخزن الطلب.
مثال:
[
{
"marker": "order_name",
"value": "Ivan",
"type": "string"
}
]
items.attributeSetIdentifier: string | null
معرف نصي لمجموعة السمات.
مثال: "attribute-set-1"
items.totalSum: string
إجمالي مبلغ الطلب.
مثال: "100.00"
items.totalSumRaw: string
إجمالي مبلغ الطلب الخام بدقة كاملة.
مثال: "100.00"
items.currency: string
العملة المستخدمة لدفع الطلب.
مثال: "USD"
items.paymentAccountIdentifier: string | null
معرف نصي لدفع الطلب.
مثال: "payment-1"
items.paymentAccountLocalizeInfos: ILocalizeInfo
اسم حساب الدفع مع مراعاة التوطين.
مثال:
{
"title": "Cash"
}
items.products: IOrderProducts[]
مصفوفة من المنتجات المضافة إلى الطلب.
مثال:
[
{
"id": 1,
"name": "Product 1",
"quantity": 2
}
]
items.paymentUrl: string | null
رابط الدفع.
مثال: "https://example.com/pay/123"
items.isCompleted: boolean | null
تشير إلى أن الطلب قد اكتمل.
مثال: true
items.isPartial: boolean | null
تشير إلى أن الطلب مدفوع جزئيًا؛ null في الطلبات القديمة حيث لم يتم تتبعه.
مثال: false
items.paymentStrategy: string
استراتيجية الدفع للطلب.
مثال: "once"
items.statusLocalizeInfos: ILocalizeInfo
اسم الحالة المترجم.
items.fulfillmentStatusIdentifier: string | null
معرف نصي لحالة التنفيذ (التسليم)؛ null في حالة عدم تعيين حالة تنفيذ.
مثال: "shipped"
items.fulfillmentStatusLocalizeInfos: ILocalizeInfo | null
اسم حالة التنفيذ المترجم؛ null في حالة عدم تعيين حالة تنفيذ.
items.paymentStatusIdentifier: string | null
معرف نصي لحالة الدفع؛ null في حالة عدم تعيين حالة دفع.
مثال: "inProgress-payment"
items.paymentStatusLocalizeInfos: ILocalizeInfo | null
اسم حالة الدفع المترجم؛ null في حالة عدم تعيين حالة دفع.
items.discountConfig: IOrderDiscountConfig | null
تكوين الخصم المحسوب المطبق على الطلب (خصومات الطلب، خصومات المنتجات، قسيمة، إعدادات، مكافآت، إجماليات)؛ null في الطلبات القديمة التي لا تحتوي على تكوين خصم محسوب.
items.split: IOrderSplit
تكوين الدفع المقسم (المراحل)؛ موجود في نقطة نهاية الطلب حسب المعرف.
items.distance: number
المسافة الكوسينية إلى الاستعلام. يتم إرجاعها فقط بواسطة نقطة نهاية البحث الدلالي (المتجه) عند تمرير debug: true في نص البحث.
مثال: 0.12
total: number
إجمالي عدد السجلات التي تم العثور عليها.
مثال: 100
ℹ️ يتطابق البحث الدلالي على المعنى، وليس على النص الحرفي. لاستخدام مطابقة الكلمات الرئيسية عبر كل نوع كائن مرة واحدة، استخدم globalSearch().