getProductsEmptyPage
ابحث عن جميع كائنات المنتجات مع الترقيم التي لا تحتوي على فئة.
الوصف
تبحث هذه الطريقة عن كائنات صفحة المنتج مع الترقيم التي لا تحتوي على فئة، بناءً على معلمات الاستعلام المقدمة (userQuery). تُرجع Promise التي تحل إلى كائن IProductsResponse.
Products.getProductsEmptyPage(
langCode,
userQuery
);
مخطط المعلمات
المخطط
body: كائن
جسم الطلب. الافتراضي:
مثال:
langCode: سلسلة
رمز اللغة. الافتراضي: "en_US"
مثال: "en_US"
userQuery: IProductsQuery
مجموعة معلمات الاستعلام الاختيارية
مثال:
{
"limit": 30,
"offset": 0,
"sortOrder": "DESC",
"sortKey": "id",
"signPrice": "orders",
"templateMarker": "template_12345",
"statusMarker": "in_stock",
"conditionValue": "new",
"conditionMarker": "eq",
"attributeMarker": "color"
}
userQuery.offset(required): رقم
معلمة للترقيم. الافتراضي: 0.
userQuery.limit(required): رقم
معلمة للترقيم. الافتراضي: 30.
userQuery.sortOrder(required): سلسلة
ترتيب الفرز "DESC" | "ASC". الافتراضي: "DESC".
userQuery.sortKey(required): سلسلة
حقل للفرز (الافتراضي - null). القيم الممكنة: "id"، "position"، "title"، "date"، "price". الافتراضي: null.
userQuery.signPrice: سلسلة
علامة السعر. الافتراضي: null.
userQuery.templateMarker: سلسلة | null
علامة قالب صفحة المنتج، الافتراضي null.
مثال: "template_12345"
userQuery.statusMarker: سلسلة | null
علامة حالة صفحة المنتج، الافتراضي null.
مثال: "in_stock"
userQuery.conditionValue: سلسلة | null
القيمة التي يتم البحث عنها، الافتراضي null.
مثال: "new"
userQuery.attributeMarker: سلسلة | null
المعرف النصي للخاصية المفهرسة التي يتم تصفية القيم بناءً عليها، الافتراضي null.
مثال: "color"
userQuery.conditionMarker: سلسلة | null
علامة شرط الفلتر التي يتم تصفية القيم بناءً عليها، الافتراضي null.
مثال: "equals"
userQuery.langCode: سلسلة
رمز اللغة. الافتراضي: "en_US".
userQuery.ids: سلسلة
قائمة مفصولة بفواصل من معرفات المنتجات — تُستخدم بواسطة getProductsByIds.
مثال: "1,2,3"
بشكل افتراضي، يمكنك استرداد 10 كائنات. وذلك بسبب حد السجلات في إعدادات أذونات الوحدة.
لعمل الترقيم بشكل صحيح، تحتاج إلى تكوين أذونات الوحدة وفقًا لاحتياجاتك في القسم المقابل.
أمثلة
مثال بسيط
const response = await Products.getProductsEmptyPage();
مثال مع الخصائص
const userQuery = {
"offset": 0,
"limit": 30,
"sortOrder": "DESC",
"sortKey": "id"
};
const response = await Products.getProductsEmptyPage('en_US', userQuery);
استخدم الفلاتر للعثور على منتجات محددة:
attributeMarker: المعرف النصي للخاصية المفهرسة التي يتم تصفية القيم بناءً عليها. conditionMarker: نوع الشرط الذي سيتم تطبيقه على قيمة الخاصية.
| العلامة | المعنى | المثال |
|---|---|---|
| eq | يساوي | statusId = 1 (نشط فقط) |
| neq | لا يساوي | role ≠ "Viewer" |
| in | يحتوي على (واحد من) | role in ["Editor", "Manager"] |
| nin | لا يحتوي على | email not in ["@temp.com"] |
| exs | موجود (له قيمة) | Has lastLogin |
| nexs | غير موجود | لم يسجل الدخول أبدًا |
conditionValue: القيمة التي سيتم المقارنة بها.
مثال على الاستجابة
{
"total": 15,
"items": [
{
"localizeInfos": {
"title": "Товар"
},
"paymentStages": [
{
"title": "Part A",
"marker": "part_a",
"value": 100
},
{
"title": "Part B",
"marker": "part_b",
"value": 200
}
],
"id": 1764,
"isVisible": true,
"isSync": true,
"price": 0,
"additional": {
"prices": {
"min": 0,
"max": 100
}
},
"blocks": [],
"sku": "0-123",
"productPages": [
{
"id": 8997,
"pageId": 1176,
"productId": 8872
}
],
"rating": {
"votes": 42,
"value": 4.5,
"like": 10,
"dislike": 2,
"method": "weighted"
},
"statusLocalizeInfos": {
"title": "Товар"
},
"templateIdentifier": "my-template",
"shortDescTemplateIdentifier": "my-template-short",
"attributeValues": {
"marker": {
"value": "",
"type": "string",
"position": 1,
"isProductPreview": false,
"isIcon": false,
"additionalFields": {
"marker": {
"type": "string",
"value": "test"
}
}
}
},
"attributeSetIdentifier": "my-set",
"statusIdentifier": "my-status",
"position": 1,
"signedPrice": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"formModuleConfigs": [
{
"id": 1,
"formIdentifier": "reg",
"moduleIdentifier": "user",
"entityIdentifiers": [],
"isGlobal": true,
"isClosed": false,
"viewOnlyMyData": false,
"commentOnlyMyData": false,
"formDataCount": 0,
"entityFormDataCount": {},
"exceptionIds": [
"shop"
],
"nestedEntityIdentifiers": [
"avto-aksessuary",
"fm-moduliatory",
"avtomobilnye-derzhateli",
"videoregistratory-radiolokatory"
],
"ratingCalculation": "average",
"allowHalfRatings": true,
"maxRatingScale": 5,
"isAnonymous": true,
"allowRerating": true,
"isRating": true
}
],
"discountConfig": {
"discounts": [
{
"id": 5,
"identifier": "summer-sale",
"type": "DISCOUNT",
"localizeInfos": {
"title": "Summer Sale"
},
"startDate": "2026-01-01T06:32:19.736Z",
"endDate": "2026-01-28T06:32:22.632Z",
"discountValue": {
"value": 30,
"maxAmount": 0,
"discountType": "FIXED_PRICE",
"applicability": "TO_PRODUCT"
},
"exclusions": [
{
"id": 2
}
],
"position": 3,
"conditionLogic": "OR",
"gifts": [
{
"id": 3,
"localizeInfos": {
"title": "hhh222"
},
"attributeSetIdentifier": "attr-set-1",
"statusIdentifier": null,
"statusLocalizeInfos": {},
"templateIdentifier": null,
"price": 90,
"sku": null,
"attributeValues": {
"price1": {
"type": "integer",
"value": "90",
"isIcon": false,
"position": 0,
"additionalFields": [],
"isProductPreview": false
}
},
"isVisible": true
}
],
"conditions": [
{
"conditionType": "PRODUCT",
"entityIds": [
{
"id": 4,
"isNested": false
},
{
"isNested": false
}
],
"value": null
},
{
"conditionType": "ATTRIBUTE",
"entityIds": [
{
"isNested": false
}
],
"value": {
"value": "100",
"condition": "eq"
}
}
]
}
],
"discountPrice": 90,
"settings": {
"allowStacking": true,
"maxDiscountValue": 30,
"allowGiftStacking": false
}
}
},
{
"localizeInfos": {
"title": "Товар"
},
"paymentStages": [
{
"title": "Part A",
"marker": "part_a",
"value": 100
},
{
"title": "Part B",
"marker": "part_b",
"value": 200
}
],
"id": 1764,
"isVisible": true,
"isSync": true,
"price": 0,
"additional": {
"prices": {
"min": 0,
"max": 100
}
},
"blocks": [],
"sku": "0-123",
"productPages": [
{
"id": 8997,
"pageId": 1176,
"productId": 8872
}
],
"rating": {
"votes": 42,
"value": 4.5,
"like": 10,
"dislike": 2,
"method": "weighted"
},
"statusLocalizeInfos": {
"title": "Товар"
},
"templateIdentifier": "my-template",
"shortDescTemplateIdentifier": "my-template-short",
"attributeValues": {
"marker": {
"value": "",
"type": "string",
"position": 1,
"isProductPreview": false,
"isIcon": false,
"additionalFields": {
"marker": {
"type": "string",
"value": "test"
}
}
}
},
"attributeSetIdentifier": "my-set",
"statusIdentifier": "my-status",
"position": 1,
"signedPrice": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"formModuleConfigs": [
{
"id": 1,
"formIdentifier": "reg",
"moduleIdentifier": "user",
"entityIdentifiers": [],
"isGlobal": true,
"isClosed": false,
"viewOnlyMyData": false,
"commentOnlyMyData": false,
"formDataCount": 0,
"entityFormDataCount": {},
"exceptionIds": [
"shop"
],
"nestedEntityIdentifiers": [
"avto-aksessuary",
"fm-moduliatory",
"avtomobilnye-derzhateli",
"videoregistratory-radiolokatory"
],
"ratingCalculation": "average",
"allowHalfRatings": true,
"maxRatingScale": 5,
"isAnonymous": true,
"allowRerating": true,
"isRating": true
}
],
"discountConfig": {
"discounts": [
{
"id": 5,
"identifier": "summer-sale",
"type": "DISCOUNT",
"localizeInfos": {
"title": "Summer Sale"
},
"startDate": "2026-01-01T06:32:19.736Z",
"endDate": "2026-01-28T06:32:22.632Z",
"discountValue": {
"value": 30,
"maxAmount": 0,
"discountType": "FIXED_PRICE",
"applicability": "TO_PRODUCT"
},
"exclusions": [
{
"id": 2
}
],
"position": 3,
"conditionLogic": "OR",
"gifts": [
{
"id": 3,
"localizeInfos": {
"title": "hhh222"
},
"attributeSetIdentifier": "attr-set-1",
"statusIdentifier": null,
"statusLocalizeInfos": {},
"templateIdentifier": null,
"price": 90,
"sku": null,
"attributeValues": {
"price1": {
"type": "integer",
"value": "90",
"isIcon": false,
"position": 0,
"additionalFields": [],
"isProductPreview": false
}
},
"isVisible": true
}
],
"conditions": [
{
"conditionType": "PRODUCT",
"entityIds": [
{
"id": 4,
"isNested": false
},
{
"isNested": false
}
],
"value": null
},
{
"conditionType": "ATTRIBUTE",
"entityIds": [
{
"isNested": false
}
],
"value": {
"value": "100",
"condition": "eq"
}
}
]
}
],
"discountPrice": 90,
"settings": {
"allowStacking": true,
"maxDiscountValue": 30,
"allowGiftStacking": false
}
}
}
]
}
مخطط الاستجابة
المخطط: IProductsResponse
attrValue: سلسلة
قيمة الخاصية.
items: IProductsEntity[]
مصفوفة من كائنات المنتجات.
items.id: رقم
المعرف الفريد.
مثال: 12345
items.localizeInfos: ILocalizeInfo
اسم المنتجات، مع الأخذ في الاعتبار التوطين.
مثال:
items.statusIdentifier: سلسلة | null
معرفات حالة صفحة المنتج (قد تكون null).
مثال: "in_stock"
items.statusLocalizeInfos: ILocalizeInfo
اسم الحالة المحلي للمنتج.
مثال: { "title": "Sale" }
items.attributeSetIdentifier: سلسلة | null
مجموعة معرفات الخصائص.
مثال: "set_12345"
items.position: رقم
رقم العنصر (لأغراض الفرز).
مثال: 1
items.price: رقم | null
قيمة سعر صفحة المنتج المأخوذة من الفهرس.
مثال: 150.00
items.additional: كائن
قيمة إضافية من الفهرس.
مثال: { prices: { min: 5 max: 150 } }
items.sku: سلسلة | null
SKU المنتج (وحدة حفظ المخزون)، قد تكون null.
مثال: "SKU_12345"
items.isSync: boolean
إشارة إلى فهرسة الصفحة.
مثال: true
items.attributeValues: IAttributeValues
مصفوفة من قيم الخصائص من الفهرس، ممثلة.
مثال:
[
{
"id": "color",
"value": "red"
}
]
items.categories: سلسلة[]
فئات المنتجات.
مثال:
[
1,
2,
3
]
items.isVisible: boolean
علامة رؤية الصفحة.
مثال: true
items.moduleFormConfigs: Array<IFormConfig>
إعدادات نماذج الوحدة (اختياري).
items.rating: IRating
بيانات التقييم.
items.isPositionLocked: boolean
مؤشر قفل موضع الفرز (اختياري).
مثال: false
items.relatedIds: رقم[]
معرفات صفحات المنتجات ذات الصلة.
مثال:
[
12345,
67890
]
items.paymentStages: غير معروف
بيانات مراحل الدفع (قد تكون null).
مثال: null
items.discountConfig: Record<string, unknown>
كائن إعدادات الخصم.
مثال:
items.templateIdentifier: سلسلة | null
معرف المستخدم للقالب المرتبط.
مثال: "template_12345"
items.shortDescTemplateIdentifier: سلسلة | null
معرف المستخدم للقالب المرتبط للوصف القصير.
مثال: "short_desc_template_12345"
items.signedPrice: سلسلة
علامة السعر.
items.productPages: IProductPageRef[]
مصفوفة من مراجع صفحات المنتجات تربط المنتج بصفحاته.
مثال:
[
{
"id": 16,
"pageId": 4,
"productId": 15,
"positionId": 244,
"categoryPath": "products"
}
]
productPages.id: رقم
المعرف الفريد لسجل ارتباط المنتج بالصفحة.
مثال: 16
productPages.pageId: رقم
معرف الصفحة التي يرتبط بها المنتج.
مثال: 4
productPages.productId: رقم
معرف المنتج.
مثال: 15
productPages.positionId: رقم
معرف موضع الفرز داخل الصفحة.
مثال: 244
productPages.categoryPath: سلسلة
مسار الفئة للصفحة التي ينتمي إليها المنتج.
مثال: "products"
items.blocks: سلسلة[]
مصفوفة من معرفات الكتل.
مثال:
[
"block_12345",
"block_67890"
]
productIds: سلسلة[]
مصفوفة من معرفات المنتجات.
total: رقم
إجمالي العدد.