getProducts
ابحث عن جميع كائنات المنتجات مع الترقيم والتصفية.
الوصف
تبحث هذه الطريقة عن جميع كائنات المنتجات مع الترقيم التي لا تحتوي على فئة، بناءً على معلمات الاستعلام المقدمة (userQuery). تُرجع Promise التي تحل إلى IProductsResponse.
Products.getProducts(
body,
langCode,
userQuery
);
مخطط المعلمات
المخطط
body: IFilterParams[]
جسم الطلب. الافتراضي: []
مثال:
[
{
"attributeMarker": "price",
"conditionMarker": "mth",
"statusMarker": "waiting",
"conditionValue": 1,
"pageUrls": [
"23-laminat-floorwood-maxima"
],
"isNested": false,
"title": ""
},
{
"attributeMarker": "price",
"conditionMarker": "lth",
"conditionValue": 3,
"pageUrls": [
"23-laminat-floorwood-maxima"
],
"isNested": false,
"title": ""
}
]
body.attributeMarker(required): string | null
معرف النص الخاص بالخاصية المفهرسة التي يتم تصفية القيم بناءً عليها. الافتراضي: null.
مثال: "color"
body.conditionMarker: string | null
معرف شرط التصفية الذي يتم تصفية القيم بناءً عليه. الافتراضي: null.
مثال: "equals"
body.conditionValue(required): number | null
القيمة التي يتم البحث عنها، الافتراضي null.
مثال: "new"
body.pageUrl: string | null
رابط صفحة الفئة.
مثال: ["23-laminat-floorwood-maxima"]
body.pageUrls: string[] | null
رابط صفحة الفئة.
مثال: ["23-laminat-floorwood-maxima"]
body.statusMarker: string | null
معرف نصي لحالة صفحة المنتج (الافتراضي غير محدد).
مثال: "in_stock"
body.title: string | null
اسم المنتج.
مثال: "Laminatboden Maxima"
body.isNested: boolean
علامة للخصائص المتداخلة، الافتراضي false.
مثال: true
langCode: string
رمز اللغة. الافتراضي: "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): number
معلمة للترقيم. الافتراضي: 0.
userQuery.limit(required): number
معلمة للترقيم. الافتراضي: 30.
userQuery.sortOrder(required): string
ترتيب الفرز "DESC" | "ASC". الافتراضي: "DESC".
userQuery.sortKey(required): string
الحقل للفرز (الافتراضي - null). القيم الممكنة: "id"، "position"، "title"، "date"، "price". الافتراضي: null.
userQuery.signPrice: string
علامة السعر. الافتراضي: null.
userQuery.templateMarker: string | null
علامة قالب صفحة المنتج، الافتراضي null.
مثال: "template_12345"
userQuery.statusMarker: string | null
علامة حالة صفحة المنتج، الافتراضي null.
مثال: "in_stock"
userQuery.conditionValue: string | null
القيمة التي يتم البحث عنها، الافتراضي null.
مثال: "new"
userQuery.attributeMarker: string | null
معرف النص الخاص بالخاصية المفهرسة التي يتم تصفية القيم بناءً عليها، الافتراضي null.
مثال: "color"
userQuery.conditionMarker: string | null
علامة شرط التصفية التي يتم تصفية القيم بناءً عليها، الافتراضي null.
مثال: "equals"
userQuery.langCode: string
رمز اللغة. الافتراضي: "en_US".
userQuery.ids: string
قائمة مفصولة بفواصل من معرفات المنتجات — تُستخدم بواسطة getProductsByIds.
مثال: "1,2,3"
بشكل افتراضي، يمكنك استرداد 10 كائنات. وذلك بسبب حد السجلات في إعدادات أذونات الوحدة.
لعمل الترقيم بشكل صحيح، تحتاج إلى تكوين أذونات الوحدة وفقًا لاحتياجاتك في القسم المقابل.
أمثلة
مثال بسيط
const response = await Products.getProducts();
مثال مع معلمة body
const body = [ { "attributeMarker": "price", "conditionMarker": "mth", "statusMarker": "waiting", "conditionValue": 1, "pageUrls": [ "23-laminat-floorwood-maxima" ], "isNested": false, "title": "" }, { "attributeMarker": "price", "conditionMarker": "lth", "conditionValue": 3, "pageUrls": [ "23-laminat-floorwood-maxima" ], "isNested": false, "title": "" }];
const response = await Products.getProducts(body);
استخدم الفلاتر للعثور على منتجات محددة:
attributeMarker: معرف النص الخاص بالخاصية المفهرسة التي يتم تصفية القيم بناءً عليها. conditionMarker: نوع الشرط الذي سيتم تطبيقه على قيمة الخاصية.
| العلامة | المعنى | المثال |
|---|---|---|
| eq | يساوي | statusId = 1 (نشط فقط) |
| neq | لا يساوي | category ≠ "أرشيف" |
| in | يحتوي على (واحد من) | category in ["إلكترونيات"، "كتب"] |
| nin | لا يحتوي على | brand not in ["علامة_مزيفة"] |
| exs | موجود (له قيمة) | له وصف |
| nexs | غير موجود | لا توجد صورة |
conditionValue: القيمة التي سيتم المقارنة بها.
مثال على الاستجابة
{
"items": [
{
"id": 2957,
"attributeSetIdentifier": "products",
"localizeInfos": {
"title": "Cosmo"
},
"statusLocalizeInfos": {
"title": "Sale"
},
"isVisible": true,
"statusIdentifier": "sale",
"position": 1,
"templateIdentifier": "my-template",
"shortDescTemplateIdentifier": "My template description",
"price": 150,
"additional": {
"prices": {
"min": 51,
"max": 150
}
},
"sku": null,
"isSync": true,
"categories": [
"catalog"
],
"paymentStages": [
{
"title": "Part A",
"marker": "part_a",
"value": 100
},
{
"title": "Part B",
"marker": "part_b",
"value": 200
}
],
"rating": {
"votes": 42,
"value": 4.5,
"like": 10,
"dislike": 2,
"method": "weighted"
},
"attributeValues": {
"product-name": {
"type": "string",
"value": "Cosmo",
"isIcon": false,
"position": 0,
"additionalFields": {},
"isProductPreview": false
},
"price": {
"type": "integer",
"value": 150,
"isIcon": false,
"position": 1,
"additionalFields": {},
"isProductPreview": false
},
"currency_products": {
"type": "string",
"value": "",
"isIcon": false,
"position": 2,
"additionalFields": {},
"isProductPreview": false
},
"img": {
"type": "image",
"value": [],
"isIcon": false,
"position": 3,
"additionalFields": {},
"isProductPreview": false
}
},
"signedPrice": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"moduleFormConfigs": [
{
"id": 12,
"formIdentifier": "review",
"moduleIdentifier": "catalog",
"isGlobal": false,
"isClosed": false,
"isModerate": false,
"viewOnlyMyData": false,
"commentOnlyMyData": false,
"entityIdentifiers": [
{
"id": "catalog",
"isNested": true
}
],
"formDataCount": 374,
"ratingCalculation": "average",
"allowHalfRatings": true,
"maxRatingScale": 5,
"isAnonymous": true,
"allowRerating": true,
"isRating": true,
"entityFormDataCount": {
"2954": 374
},
"nestedEntityIdentifiers": [
"catalog"
],
"exceptionIds": []
}
],
"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
}
}
},
{
"id": 2955,
"attributeSetIdentifier": null,
"localizeInfos": {
"title": "Product"
},
"statusLocalizeInfos": {
"title": "Sale"
},
"isVisible": true,
"statusIdentifier": "sale",
"position": 2,
"templateIdentifier": null,
"shortDescTemplateIdentifier": null,
"price": null,
"additional": {
"prices": {
"min": 51,
"max": 150
}
},
"sku": null,
"isSync": false,
"categories": [
"catalog"
],
"paymentStages": null,
"rating": {
"votes": 42,
"value": 4.5,
"like": 10,
"dislike": 2,
"method": "weighted"
},
"attributeValues": {},
"moduleFormConfigs": [
{
"id": 12,
"formIdentifier": "review",
"moduleIdentifier": "catalog",
"isGlobal": false,
"isClosed": false,
"isModerate": false,
"viewOnlyMyData": false,
"commentOnlyMyData": false,
"entityIdentifiers": [
{
"id": "catalog",
"isNested": true
}
],
"formDataCount": 374,
"ratingCalculation": "average",
"allowHalfRatings": null,
"maxRatingScale": null,
"isAnonymous": null,
"allowRerating": null,
"isRating": null,
"entityFormDataCount": {
"2954": 374
},
"nestedEntityIdentifiers": [
"catalog"
],
"exceptionIds": []
}
],
"discountConfig": {}
},
{
"id": 2954,
"attributeSetIdentifier": "products",
"localizeInfos": {
"title": "Box"
},
"statusLocalizeInfos": {
"title": "Sale"
},
"isVisible": true,
"statusIdentifier": "sale",
"position": 3,
"templateIdentifier": null,
"shortDescTemplateIdentifier": "product_preview",
"price": 51,
"additional": {
"prices": {
"min": 51,
"max": 150
}
},
"sku": null,
"isSync": true,
"categories": [
"catalog"
],
"paymentStages": null,
"rating": {},
"attributeValues": {
"product-name": {
"type": "string",
"value": "product-name",
"isIcon": false,
"position": 0,
"additionalFields": {},
"isProductPreview": false
},
"price": {
"type": "integer",
"value": 51,
"isIcon": false,
"position": 1,
"additionalFields": {},
"isProductPreview": false
},
"currency_products": {
"type": "string",
"value": "usd",
"isIcon": false,
"position": 2,
"additionalFields": {},
"isProductPreview": false
},
"img": {
"type": "image",
"value": {
"size": 241636,
"filename": "files/project/product/2954/image/7e0a6a70-a23d-410f-8b6a-f8b4f7483244.png",
"contentType": "image/png",
"downloadLink": "https://your-project.oneentry.cloud/cloud-static/files/project/product/2954/image/7e0a6a70-a23d-410f-8b6a-f8b4f7483244.png"
},
"isIcon": false,
"position": 3,
"additionalFields": {},
"isProductPreview": false
}
},
"moduleFormConfigs": [
{
"id": 12,
"formIdentifier": "review",
"moduleIdentifier": "catalog",
"isGlobal": false,
"isClosed": false,
"isModerate": false,
"viewOnlyMyData": false,
"commentOnlyMyData": false,
"entityIdentifiers": [
{
"id": "catalog",
"isNested": true
}
],
"formDataCount": 374,
"ratingCalculation": "average",
"allowHalfRatings": null,
"maxRatingScale": null,
"isAnonymous": null,
"allowRerating": null,
"isRating": null,
"entityFormDataCount": {
"2954": 374
},
"nestedEntityIdentifiers": [
"catalog"
],
"exceptionIds": []
}
],
"discountConfig": {}
}
],
"total": 3
}
مخطط الاستجابة
المخطط: IProductsResponse
total: number
إجمالي عدد المنتجات التي تم العثور عليها.
مثال: 100
items: IProductsEntity[]
مصفوفة من كائنات المنتجات.
مثال:
[
{
"id": 12345,
"title": "Product 1"
},
{
"id": 67890,
"title": "Product 2"
}
]
items.id: number
المعرف الفريد.
مثال: 12345
items.localizeInfos: ILocalizeInfo
اسم المنتجات، مع الأخذ في الاعتبار التوطين.
مثال:
items.statusIdentifier: string | null
معرفات حالة صفحة المنتج (قد تكون null).
مثال: "in_stock"
items.statusLocalizeInfos: ILocalizeInfo
اسم الحالة المحلي للمنتج.
مثال: { "title": "تخفيض" }
items.attributeSetIdentifier: string | null
مجموعة معرفات الخصائص.
مثال: "set_12345"
items.position: number
رقم العنصر (لأغراض الفرز).
مثال: 1
items.price: number | null
قيمة سعر صفحة المنتج المأخوذة من الفهرس.
مثال: 150.00
items.additional: object
قيمة إضافية من الفهرس.
مثال: { prices: { min: 5 max: 150 } }
items.sku: string | null
SKU المنتج (وحدة حفظ المخزون)، قد تكون null.
مثال: "SKU_12345"
items.isSync: boolean
إشارة إلى فهرسة الصفحة.
مثال: true
items.attributeValues: AttributeType
مصفوفة من قيم الخصائص من الفهرس، ممثلة.
مثال:
[
{
"id": "color",
"value": "red"
}
]
items.categories: string[]
فئات المنتجات.
مثال:
[
1,
2,
3
]
items.isVisible: boolean
علامة رؤية الصفحة.
مثال: true
items.moduleFormConfigs: Array<IFormConfig>
تكوينات نموذج الوحدة (اختياري).
items.rating: IRating
بيانات التقييم.
items.isPositionLocked: boolean
مؤشر قفل موضع الفرز (اختياري).
مثال: false
items.relatedIds: number[]
معرفات صفحات المنتجات ذات الصلة.
مثال:
[
12345,
67890
]
items.paymentStages: unknown
بيانات مراحل الدفع (قد تكون null).
مثال: null
items.discountConfig: Record<string, unknown>
كائن تكوين الخصم.
مثال:
items.templateIdentifier: string | null
معرف المستخدم للقالب المرتبط.
مثال: "template_12345"
items.shortDescTemplateIdentifier: string | null
معرف المستخدم للقالب المرتبط لوصف قصير.
مثال: "short_desc_template_12345"
items.signedPrice: string
علامة السعر.
items.productPages: IProductPageRef[]
مصفوفة من مراجع صفحات المنتجات تربط المنتج بصفحاته.
مثال:
[
{
"id": 16,
"pageId": 4,
"productId": 15,
"positionId": 244,
"categoryPath": "products"
}
]
productPages.id: number
المعرف الفريد لسجل ارتباط المنتج بالصفحة.
مثال: 16
productPages.pageId: number
معرف الصفحة التي يرتبط بها المنتج.
مثال: 4
productPages.productId: number
معرف المنتج.
مثال: 15
productPages.positionId: number
معرف موضع الفرز داخل الصفحة.
مثال: 244
productPages.categoryPath: string
مسار الفئة للصفحة التي ينتمي إليها المنتج.
مثال: "products"
items.blocks: string[]
مصفوفة من معرفات الكتل.
مثال:
[
"block_12345",
"block_67890"
]