getCartSimilarByProductIds
Lấy các sản phẩm "tương tự như giỏ hàng" dựa trên danh sách rõ ràng các productIds.
Mô tả
Phương thức này trả về các sản phẩm tương tự như danh sách rõ ràng các định danh sản phẩm được truyền trong thân yêu cầu (thay vì sử dụng giỏ hàng từ ngữ cảnh). Nó trả về một Promise mà khi giải quyết sẽ trả về một đối tượng IProductsResponse - một container với items (các sản phẩm), total và totalFound - không phải là một mảng trống.
Blocks.getCartSimilarByProductIds(
marker*,
body*
);
Sơ đồ tham số
Sơ đồ
marker(bắt buộc): string
Đánh dấu khối
ví dụ: "cart_similar_block"
body(bắt buộc): IBlockProductsLookup
Thân yêu cầu
ví dụ:
{
"productIds": [
1,
2
],
"langCode": "en_US"
}
body.productIds(bắt buộc): number[]
Các định danh sản phẩm để tra cứu.
ví dụ: [1, 2, 3]
body.langCode: string
Mã ngôn ngữ. Mặc định: "en_US".
body.limit: number
Số lượng sản phẩm tối đa để trả về.
ví dụ: 10
body.signPrice: string
Đánh dấu lưu trữ đơn hàng cho việc cố định giá. Nếu tham số này được thiết lập, giá sẽ được cố định trong một khoảng thời gian nhất định.
xem: Cố định giá
💲
signPricekhóa giá trả về trong một khoảng thời gian giới hạn — hãy đặt nó thành đánh dấu lưu trữ đơn hàng của bạn. Xem Cố định giá (signPrice).
Ví dụ
Ví dụ tối thiểu
const response = await Blocks.getCartSimilarByProductIds('cart_similar_block', {
productIds: [1, 2, 3],
});
Ví dụ với các thuộc tính
const response = await Blocks.getCartSimilarByProductIds('cart_similar_block', {
productIds: [1, 2, 3],
langCode: 'en_US',
limit: 10,
});
Ví dụ phản hồi
{
"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
}
Sơ đồ phản hồi
Sơ đồ: IProductsResponse
total: number
Tổng số sản phẩm được tìm thấy.
ví dụ: 100
items: IProductsEntity[]
Mảng các thực thể sản phẩm.
ví dụ:
[
{
"id": 12345,
"title": "Product 1"
},
{
"id": 67890,
"title": "Product 2"
}
]
items.id: number
Định danh duy nhất.
ví dụ: 12345
items.localizeInfos: ILocalizeInfo
Tên của các sản phẩm, tính đến việc địa phương hóa.
ví dụ:
{}
items.statusIdentifier: string | null
Định danh trạng thái trang sản phẩm (có thể là null).
ví dụ: "in_stock"
items.statusLocalizeInfos: ILocalizeInfo
Tên trạng thái đã được địa phương hóa cho sản phẩm.
ví dụ:
{ "title": "Sale" }
items.attributeSetIdentifier: string | null
Tập hợp các id thuộc tính.
ví dụ: "set_12345"
items.position: number
Số thứ tự của mục (để sắp xếp).
ví dụ: 1
items.price: number | null
Giá trị của giá trang sản phẩm lấy từ chỉ mục.
ví dụ: 150.00
items.additional: object
Giá trị bổ sung từ chỉ mục.
ví dụ:
{
"prices": {
"min": 5,
"max": 150
}
}
items.sku: string | null
SKU sản phẩm (Đơn vị lưu kho), có thể là null.
ví dụ: "SKU_12345"
items.isSync: boolean
Chỉ báo về việc lập chỉ mục trang.
ví dụ: true
items.attributeValues: IAttributeValues
Mảng các giá trị thuộc tính từ chỉ mục, được biểu diễn.
ví dụ:
[
{
"id": "color",
"value": "red"
}
]
items.categories: string[]
Các danh mục sản phẩm.
ví dụ:
[
1,
2,
3
]
items.isVisible: boolean
Dấu hiệu về tính khả thi của trang.
ví dụ: true
items.moduleFormConfigs: Array<IFormConfig>
Cấu hình biểu mẫu mô-đun (tùy chọn).
items.rating: IRating
Dữ liệu đánh giá.
items.isPositionLocked: boolean
Chỉ báo khóa vị trí sắp xếp (tùy chọn).
ví dụ: false
items.relatedIds: number[]
Id của các trang sản phẩm liên quan.
ví dụ:
[
12345,
67890
]
items.paymentStages: unknown
Dữ liệu các giai đoạn thanh toán (có thể là null).
ví dụ: null
items.distance: number
Khoảng cách liên quan đến tìm kiếm vector (ngữ nghĩa). Chỉ có trong kết quả của tìm kiếm vector.
ví dụ: 0.42
items.discountConfig: Record<string, unknown>
Đối tượng cấu hình giảm giá.
ví dụ:
{}
items.templateIdentifier: string | null
Id người dùng của mẫu liên kết.
ví dụ: "template_12345"
items.shortDescTemplateIdentifier: string | null
Id người dùng của mẫu liên kết cho mô tả ngắn.
ví dụ: "short_desc_template_12345"
items.signedPrice: string
Giá đã ký của sản phẩm được lấy cùng với dữ liệu sản phẩm khi signPrice được thiết lập.
xem: Giá sản phẩm cố định
ví dụ: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
items.productPages: IProductPageRef[]
Mảng các tham chiếu trang sản phẩm liên kết sản phẩm với các trang của nó.
ví dụ:
[
{
"id": 16,
"pageId": 4,
"productId": 15,
"positionId": 244,
"categoryPath": "products"
}
]
items.blocks: string[]
Mảng các định danh khối.
ví dụ:
[
"block_12345",
"block_67890"
]
totalFound: number
Số lượng sản phẩm khớp trước khi áp dụng giới hạn; được trả về bởi các điểm cuối sản phẩm khối (similarProducts, khuyến nghị giỏ hàng/danh sách mong muốn, đơn hàng thường xuyên). Tùy chọn.
ví dụ: 2
🔒
signedPricelà token đã ký mang giá đã khóa — hãy truyền lại khi bạn tạo đơn hàng. Xem Giá sản phẩm cố định (signedPrice).