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

getProductsByPageUrl

ابحث عن جميع كائنات المنتجات مع الترقيم للصفحة المحددة (حسب عنوان URL الخاص بها).

الوصف​

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

.getProductsByPageUrl( , , , );

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

المخطط

url(required): string
عنوان URL للصفحة
مثال: "catalog"

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
عنوان URL لكائن صفحة الفئة.
مثال: ["23-laminat-floorwood-maxima"]

body.pageUrls: string[] | null
عنوان URL لكائن صفحة الفئة.
مثال: ["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.getProductsByPageUrl('catalog');

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


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

const response = await Products.getProductsByPageUrl('catalog', 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": 2954,
"localizeInfos": {
"title": "Box"
},
"isVisible": true,
"isSync": true,
"sku": null,
"price": 51,
"additional": {
"prices": {
"min": 51,
"max": 180
}
},
"categories": [
"catalog"
],
"statusIdentifier": "sale",
"statusLocalizeInfos": {
"title": "Sale"
},
"templateIdentifier": null,
"shortDescTemplateIdentifier": "product_preview",
"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": 742690,
"filename": "files/project/product/2954/image/48853cbf-4462-42c6-8b99-d14f721c21a2.jpeg",
"contentType": "image/jpeg",
"previewLink": {
"default": [
"data:image/webp;base64,UklGRmwAAABXRUJQVlA4IGAAAADQAQCdASoQABAABUB8JbACdACZZ3P8AAD+wGsUXBs/r069WpdrcuaTNfVxqWIetuaIdIvOMkSp9iJRxE+KhA2YHbrVehhMRj/j5+DUdjWn1v5YtZ7vw0IgPi9R5vkAAAA=",
"https://your-project.oneentry.cloud/cloud-static/files/project/product/2954/image/48853cbf-4462-42c6-8b99-d14f721c21a2.preview.default.jpeg"
]
},
"downloadLink": "https://your-project.oneentry.cloud/cloud-static/files/project/product/2954/image/48853cbf-4462-42c6-8b99-d14f721c21a2.jpeg",
"defaultPreview": "default"
},
"isIcon": false,
"position": 3,
"additionalFields": {},
"isProductPreview": true
}
},
"attributeSetIdentifier": "products",
"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": 2955,
"localizeInfos": {
"title": "Product"
},
"isVisible": true,
"isSync": true,
"sku": null,
"price": 150,
"additional": {
"prices": {
"min": 51,
"max": 180
}
},
"categories": [
"catalog"
],
"statusIdentifier": "sale",
"statusLocalizeInfos": {
"title": "Sale"
},
"templateIdentifier": null,
"shortDescTemplateIdentifier": null,
"attributeValues": {
"p": {
"type": "float",
"value": 150,
"isIcon": false,
"position": 0,
"additionalFields": {},
"isProductPreview": false
},
"p1": {
"type": "float",
"value": 50,
"isIcon": false,
"position": 1,
"additionalFields": {},
"isProductPreview": false
},
"p2": {
"type": "float",
"value": 50,
"isIcon": false,
"position": 2,
"additionalFields": {},
"isProductPreview": false
},
"p3": {
"type": "float",
"value": 50,
"isIcon": false,
"position": 3,
"additionalFields": {},
"isProductPreview": false
},
"currency": {
"type": "string",
"value": "USD",
"isIcon": false,
"position": 4,
"additionalFields": {},
"isProductPreview": false
}
},
"attributeSetIdentifier": "test",
"isPositionLocked": false,
"position": 2,
"rating": {},
"paymentStages": [
{
"title": "p1",
"value": 50,
"marker": "p1"
},
{
"title": "p2",
"value": 50,
"marker": "p2"
},
{
"title": "p3",
"value": 50,
"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": {}
},
{
"id": 2957,
"localizeInfos": {
"title": "Cosmo"
},
"isVisible": true,
"isSync": true,
"sku": null,
"price": 150,
"additional": {
"prices": {
"min": 51,
"max": 180
}
},
"categories": [
"catalog"
],
"statusIdentifier": "sale",
"statusLocalizeInfos": {
"title": "Sale"
},
"templateIdentifier": null,
"shortDescTemplateIdentifier": null,
"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": "USD",
"isIcon": false,
"position": 2,
"additionalFields": {},
"isProductPreview": false
},
"img": {
"type": "image",
"value": "",
"isIcon": false,
"position": 3,
"additionalFields": {},
"isProductPreview": true
}
},
"attributeSetIdentifier": "products",
"isPositionLocked": false,
"position": 3,
"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": {}
},
"..."
],
"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).


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

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

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

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