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

getProducts

ابحث عن جميع كائنات المنتجات مع الترقيم والتصفية.

الوصف​

تبحث هذه الطريقة عن جميع كائنات المنتجات مع الترقيم والتصفية، بناءً على معلمات الاستعلام المقدمة (userQuery). تعيد Promise التي تحل إلى IProductsResponse.

.getProducts( , , );

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

المخطط

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 | string | 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: IProductsQueryBase
مجموعة معلمات الاستعلام الاختيارية
مثال:

{
"limit": 30,
"offset": 0,
"sortOrder": "DESC",
"sortKey": "id",
"signPrice": "orders"
}

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
علامة تخزين الطلب لتثبيت السعر. إذا تم تعيين المعلمة، يتم تثبيت السعر لفترة معينة.
انظر: تثبيت السعر

بشكل افتراضي، يمكنك استرداد 10 كائنات. وذلك بسبب حد السجلات في إعدادات أذونات الوحدة.
لعمل الترقيم بشكل صحيح، تحتاج إلى تكوين أذونات الوحدة وفقًا لاحتياجاتك في القسم المقابل.

💲 signPrice يقفل السعر المعاد لفترة محدودة — قم بتعيينه إلى علامة تخزين الطلب الخاصة بك. انظر تثبيت السعر (signPrice).

أمثلة​

مثال بسيط​

const response = await Products.getProducts();

مثال مع معلمة body​


const body = [
{
,
,
,
,
],
,
},
{
,
,
,
],
,
}
];

const response = await Products.getProducts(body);

استخدم الفلاتر للعثور على منتجات محددة:

attributeMarker: معرف النص الخاص بالخاصية المفهرسة التي يتم تصفية القيم بناءً عليها. conditionMarker: نوع الشرط الذي سيتم تطبيقه على قيمة الخاصية.

العلامةالمعنىالمثال
eqيساويstatusId = 1 (نشط فقط)
neqلا يساويcategory ≠ "أرشيف"
inيحتوي على (واحد من)category in ["إلكترونيات"، "كتب"]
ninلا يحتوي علىbrand not in ["علامة مزيفة"]
exsموجود (له قيمة)له وصف
nexsغير موجودلا توجد صورة
patيتطابق مع النمطtitle matches "jacket"
sameيتطابق مع القيمة بالضبطsku is exactly "ABC-123"
same_partيتطابق مع جزء من القيمة بالضبطجزء من sku هو بالضبط "ABC"

conditionValue: القيمة للمقارنة معها.

مثال على الاستجابة​

{
"items": [
{
"id": 3445,
"localizeInfos": {
"title": "Subscription"
},
"isVisible": true,
"isSync": true,
"sku": null,
"price": 150,
"additional": {
"prices": {
"min": 51,
"max": 180
}
},
"categories": [
"catalog"
],
"statusIdentifier": "sale",
"statusLocalizeInfos": {
"title": "Sale"
},
"templateIdentifier": null,
"shortDescTemplateIdentifier": "product_preview",
"attributeValues": {
"price": {
"type": "integer",
"value": 150,
"isIcon": false,
"position": 0,
"additionalFields": {},
"isProductPreview": false
},
"currency_products": {
"type": "string",
"value": "USD",
"isIcon": false,
"position": 1,
"additionalFields": {},
"isProductPreview": false
}
},
"attributeSetIdentifier": "subscription",
"isPositionLocked": false,
"position": 1,
"rating": {},
"paymentStages": null,
"moduleFormConfigs": [
{
"id": 12,
"formIdentifier": "review",
"moduleIdentifier": "catalog",
"isGlobal": false,
"isClosed": false,
"isModerate": false,
"viewOnlyMyData": false,
"commentOnlyMyData": false,
"entityIdentifiers": [
{
"id": "catalog",
"isNested": true
}
],
"formDataCount": 807,
"ratingCalculation": "average",
"allowHalfRatings": null,
"maxRatingScale": null,
"isAnonymous": null,
"allowRerating": null,
"isRating": null,
"entityFormDataCount": {
"2954": 807
},
"nestedEntityIdentifiers": [
"catalog"
],
"exceptionIds": []
}
],
"discountConfig": {}
},
{
"id": 2960,
"localizeInfos": {
"title": "Percent split"
},
"isVisible": true,
"isSync": true,
"sku": null,
"price": 180,
"additional": {
"prices": {
"min": 51,
"max": 180
}
},
"categories": [
"catalog"
],
"statusIdentifier": "sale",
"statusLocalizeInfos": {
"title": "Sale"
},
"templateIdentifier": null,
"shortDescTemplateIdentifier": "product_preview",
"attributeValues": {
"s0": {
"type": "float",
"value": 180,
"isIcon": false,
"position": 0,
"additionalFields": {},
"isProductPreview": false
},
"s1": {
"type": "float",
"value": 60,
"isIcon": false,
"position": 1,
"additionalFields": {},
"isProductPreview": false
},
"s2": {
"type": "float",
"value": 40,
"isIcon": false,
"position": 2,
"additionalFields": {},
"isProductPreview": false
},
"currency": {
"type": "string",
"value": "",
"isIcon": false,
"position": 3,
"additionalFields": {},
"isProductPreview": false
}
},
"attributeSetIdentifier": "percent_split",
"isPositionLocked": false,
"position": 2,
"rating": {},
"paymentStages": [
{
"title": "s1",
"value": 108,
"marker": "s1"
},
{
"title": "s2",
"value": 72,
"marker": "s2"
}
],
"moduleFormConfigs": [
{
"id": 12,
"formIdentifier": "review",
"moduleIdentifier": "catalog",
"isGlobal": false,
"isClosed": false,
"isModerate": false,
"viewOnlyMyData": false,
"commentOnlyMyData": false,
"entityIdentifiers": [
{
"id": "catalog",
"isNested": true
}
],
"formDataCount": 807,
"ratingCalculation": "average",
"allowHalfRatings": null,
"maxRatingScale": null,
"isAnonymous": null,
"allowRerating": null,
"isRating": null,
"entityFormDataCount": {
"2954": 807
},
"nestedEntityIdentifiers": [
"catalog"
],
"exceptionIds": []
}
],
"discountConfig": {}
},
{
"id": 2959,
"localizeInfos": {
"title": "Split"
},
"isVisible": true,
"isSync": true,
"sku": null,
"price": 120,
"additional": {
"prices": {
"min": 51,
"max": 180
}
},
"categories": [
"catalog"
],
"statusIdentifier": "sale",
"statusLocalizeInfos": {
"title": "Sale"
},
"templateIdentifier": null,
"shortDescTemplateIdentifier": "product_preview",
"attributeValues": {
"p": {
"type": "float",
"value": 120,
"isIcon": false,
"position": 0,
"additionalFields": {},
"isProductPreview": false
},
"p1": {
"type": "float",
"value": 40,
"isIcon": false,
"position": 1,
"additionalFields": {},
"isProductPreview": false
},
"p2": {
"type": "float",
"value": 60,
"isIcon": false,
"position": 2,
"additionalFields": {},
"isProductPreview": false
},
"p3": {
"type": "float",
"value": 20,
"isIcon": false,
"position": 3,
"additionalFields": {},
"isProductPreview": false
},
"currency": {
"type": "string",
"value": "usd",
"isIcon": false,
"position": 4,
"additionalFields": {},
"isProductPreview": false
}
},
"attributeSetIdentifier": "test",
"isPositionLocked": false,
"position": 3,
"rating": {},
"paymentStages": [
{
"title": "p1",
"value": 40,
"marker": "p1"
},
{
"title": "p2",
"value": 60,
"marker": "p2"
},
{
"title": "p3",
"value": 20,
"marker": "p3"
}
],
"moduleFormConfigs": [
{
"id": 12,
"formIdentifier": "review",
"moduleIdentifier": "catalog",
"isGlobal": false,
"isClosed": false,
"isModerate": false,
"viewOnlyMyData": false,
"commentOnlyMyData": false,
"entityIdentifiers": [
{
"id": "catalog",
"isNested": true
}
],
"formDataCount": 807,
"ratingCalculation": "average",
"allowHalfRatings": null,
"maxRatingScale": null,
"isAnonymous": null,
"allowRerating": null,
"isRating": null,
"entityFormDataCount": {
"2954": 807
},
"nestedEntityIdentifiers": [
"catalog"
],
"exceptionIds": []
}
],
"discountConfig": {}
},
"..."
],
"total": 6
}

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

المخطط: 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": "Sale" }

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: IAttributeValues
مصفوفة من قيم الخصائص من الفهرس، ممثلة.
مثال:

[
{
"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.distance: number
مسافة الصلة (الدلالية) للبحث. تظهر فقط في نتائج البحث الدلالي.
مثال: 0.42

items.discountConfig: Record<string, unknown>
كائن إعدادات الخصم.
مثال:

{}

items.templateIdentifier: string | null
معرف المستخدم للقالب المرتبط.
مثال: "template_12345"

items.shortDescTemplateIdentifier: string | null
معرف المستخدم للقالب المرتبط للوصف القصير.
مثال: "short_desc_template_12345"

items.signedPrice: string
السعر الموقّع للمنتج يتم الحصول عليه مع بيانات المنتج عند تعيين signPrice.
انظر: سعر المنتج الثابت
مثال: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."

items.productPages: IProductPageRef[]
مصفوفة من مراجع صفحات المنتجات تربط المنتج بصفحاته.
مثال:

[
{
"id": 16,
"pageId": 4,
"productId": 15,
"positionId": 244,
"categoryPath": "products"
}
]

items.blocks: string[]
مصفوفة من معرفات الكتل.
مثال:

[
"block_12345",
"block_67890"
]

totalFound: number
عدد المنتجات المطابقة قبل تطبيق الحدود؛ يتم إرجاعه بواسطة نقاط نهاية منتجات الكتل (similarProducts، توصيات عربة التسوق / قائمة الرغبات، الطلبات المتكررة). اختياري.
مثال: 2

🔒 signedPrice هو الرمز الموقّع الذي يحمل السعر المقفل — قم بإعادته عند إنشاء طلب. انظر سعر المنتج الثابت (signedPrice).


أمثلة الاستخدام​

خطوات تفصيلية في الوثائق:

  • تصفية حسب الخصائص — تصفية المنتجات حسب قيمة خاصية باستخدام علامات الشروط (eq، neq، in، mth، lth، إلخ).
  • نطاق السعر — تضييق المنتجات إلى نطاق سعر محدد باستخدام فلاتر mth / lth.

جربها مباشرة​

قم بتشغيل هذه الطريقة بشكل تفاعلي في JS SDK sandbox — قم بتوصيل عنوان مشروعك ورمز التطبيق عند الزيارة الأولى، ثم افتح:

  • تصفية حسب الخصائص — تصفية المنتجات حسب قيمة خاصية باستخدام علامات الشروط (eq، neq، in، mth، lth، إلخ).
  • نطاق السعر — تضييق المنتجات إلى نطاق سعر محدد باستخدام فلاتر mth / lth.