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

getWishlistSimilarByProductIds

احصل على المنتجات "المشابهة لقائمة الرغبات" من خلال قائمة محددة من productIds.

الوصف

ترجع هذه الطريقة المنتجات المشابهة لقائمة محددة من معرفات المنتجات المرسلة في جسم الطلب (بدلاً من استخدام قائمة الرغبات من السياق). ترجع وعدًا (Promise) يتم حله إلى كائن IProductsResponse - حاوية تحتوي على items (المنتجات)، total و totalFound - وليس مصفوفة عارية.

Blocks.getWishlistSimilarByProductIds(

marker*, body*

);

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

المخطط

marker(مطلوب): string
علامة الكتلة
مثال: "wishlist_similar_block"

body(مطلوب): IBlockProductsLookup
جسم البحث
مثال:

{
"productIds": [
1,
2
],
"langCode": "en_US"
}

body.productIds(مطلوب): number[]
معرفات المنتجات للبحث عنها.
مثال: [1, 2, 3]

body.langCode: string
رمز اللغة. الافتراضي: "en_US".

body.limit: number
الحد الأقصى لعدد المنتجات التي يجب إرجاعها.
مثال: 10

body.signPrice: string
علامة تخزين الطلب لتثبيت السعر. إذا تم تعيين المعلمة، يتم تثبيت السعر لفترة معينة.
انظر: تثبيت السعر

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

أمثلة

مثال بسيط

const response = await Blocks.getWishlistSimilarByProductIds('wishlist_similar_block', {
productIds: [1, 2, 3],
});

مثال مع السمات

const response = await Blocks.getWishlistSimilarByProductIds('wishlist_similar_block', {
productIds: [1, 2, 3],
langCode: 'en_US',
limit: 10,
});

استجابة المثال

{
"items": [
{
"id": 2954,
"localizeInfos": {
"title": "Box"
},
"statusIdentifier": "sale",
"statusLocalizeInfos": {
"title": "Sale"
},
"attributeSetIdentifier": "products",
"position": 4,
"templateIdentifier": null,
"shortDescTemplateIdentifier": "product_preview",
"price": 51,
"additional": {
"prices": {
"min": 51,
"max": 180
}
},
"sku": null,
"isSync": true,
"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
}
},
"categories": [
"catalog"
],
"rating": {},
"isVisible": true,
"moduleFormConfigs": [
{
"id": 12,
"formIdentifier": "review",
"moduleIdentifier": "catalog",
"isGlobal": false,
"isClosed": false,
"isModerate": false,
"viewOnlyMyData": false,
"commentOnlyMyData": false,
"entityIdentifiers": [
{
"id": "catalog",
"isNested": true
}
],
"formDataCount": 732,
"ratingCalculation": "average",
"allowHalfRatings": null,
"maxRatingScale": null,
"isAnonymous": null,
"allowRerating": null,
"isRating": null,
"entityFormDataCount": {
"2954": 732
},
"nestedEntityIdentifiers": [
"catalog"
],
"exceptionIds": []
}
],
"discountConfig": {}
},
{
"id": 2955,
"localizeInfos": {
"title": "Product"
},
"statusIdentifier": "sale",
"statusLocalizeInfos": {
"title": "Sale"
},
"attributeSetIdentifier": "test",
"position": 5,
"templateIdentifier": null,
"shortDescTemplateIdentifier": null,
"price": 150,
"additional": {
"prices": {
"min": 51,
"max": 180
}
},
"sku": null,
"isSync": true,
"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
}
},
"categories": [
"catalog"
],
"rating": {},
"isVisible": true,
"moduleFormConfigs": [
{
"id": 12,
"formIdentifier": "review",
"moduleIdentifier": "catalog",
"isGlobal": false,
"isClosed": false,
"isModerate": false,
"viewOnlyMyData": false,
"commentOnlyMyData": false,
"entityIdentifiers": [
{
"id": "catalog",
"isNested": true
}
],
"formDataCount": 732,
"ratingCalculation": "average",
"allowHalfRatings": null,
"maxRatingScale": null,
"isAnonymous": null,
"allowRerating": null,
"isRating": null,
"entityFormDataCount": {
"2954": 732
},
"nestedEntityIdentifiers": [
"catalog"
],
"exceptionIds": []
}
],
"discountConfig": {}
},
{
"id": 3445,
"localizeInfos": {
"title": "Subscription"
},
"statusIdentifier": "sale",
"statusLocalizeInfos": {
"title": "Sale"
},
"attributeSetIdentifier": "subscription",
"position": 3,
"templateIdentifier": null,
"shortDescTemplateIdentifier": "product_preview",
"price": 150,
"additional": {
"prices": {
"min": 51,
"max": 180
}
},
"sku": null,
"isSync": true,
"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
}
},
"categories": [
"catalog"
],
"rating": {},
"isVisible": true,
"moduleFormConfigs": [
{
"id": 12,
"formIdentifier": "review",
"moduleIdentifier": "catalog",
"isGlobal": false,
"isClosed": false,
"isModerate": false,
"viewOnlyMyData": false,
"commentOnlyMyData": false,
"entityIdentifiers": [
{
"id": "catalog",
"isNested": true
}
],
"formDataCount": 732,
"ratingCalculation": "average",
"allowHalfRatings": null,
"maxRatingScale": null,
"isAnonymous": null,
"allowRerating": null,
"isRating": null,
"entityFormDataCount": {
"2954": 732
},
"nestedEntityIdentifiers": [
"catalog"
],
"exceptionIds": []
}
],
"discountConfig": {}
},
"..."
],
"total": 5,
"totalFound": 5
}

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

المخطط: 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).