Pular para o conteúdo principal

getProducts

Pesquise todos os objetos de produto com paginação e filtro.

Descrição

Este método pesquisa todos os objetos de produtos com paginação que não têm uma categoria, com base nos parâmetros de consulta fornecidos (userQuery). Ele retorna uma Promise que resolve para um IProductsResponse.

Products.getProducts( body, langCode, userQuery );

Esquema de parâmetros

Esquema

body: IFilterParams[]
Corpo da solicitação. Padrão: []
exemplo:

[
{
"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": ""
}
]

langCode: string
Código do idioma. Padrão: "en_US"
exemplo: "en_US"

userQuery: IProductsQuery
Conjunto de parâmetros de consulta opcionais
exemplo:

{
"limit": 30,
"offset": 0,
"sortOrder": "DESC",
"sortKey": "id",
"statusId": 123,
"statusMarker": "in_stock",
"conditionValue": "new",
"conditionMarker": "equals",
"attributeMarker": "color"
}

userQuery.offset(required): number
Parâmetro para paginação. Padrão: 0.

userQuery.limit(required): number
Parâmetro para paginação. Padrão: 30.

userQuery.sortOrder(required): string
Ordem de classificação "DESC" | "ASC". Padrão: "DESC".

userQuery.sortKey(required): string
Campo para classificação (padrão - null). Valores possíveis: "id", "position", "title", "date", "price". Padrão: null.

userQuery.templateMarker: string | null
Marcador de modelo da página do produto, padrão null.
exemplo: "template_12345"

userQuery.statusMarker: string | null
Marcador de status da página do produto, padrão null.
exemplo: "in_stock"

userQuery.conditionValue: string | null
O valor que está sendo pesquisado, padrão null.
exemplo: "new"

userQuery.attributeMarker: string | null
O identificador de texto do atributo indexado pelo qual os valores são filtrados, padrão null.
exemplo: "color"

userQuery.conditionMarker: string | null
Marcador da condição de filtro pela qual os valores são filtrados, padrão null.
exemplo: "equals"

Exemplos

Exemplo mínimo

const response = await Products.getProducts();

Exemplo com o parâmetro 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);

Exemplo de resposta

{
"items": [
{
"id": 2957,
"localizeInfos": {
"title": "Cosmo"
},
"statusIdentifier": "sale",
"statusLocalizeInfos": {
"title": "Venda"
},
"attributeSetIdentifier": "products",
"position": 1,
"templateIdentifier": null,
"shortDescTemplateIdentifier": null,
"price": 150,
"additional": {
"prices": {
"min": 51,
"max": 150
}
},
"sku": null,
"isSync": true,
"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
}
},
"categories": [
"catalog"
],
"isVisible": true
},
{
"id": 2955,
"localizeInfos": {
"title": "Produto"
},
"statusIdentifier": "sale",
"statusLocalizeInfos": {
"title": "Venda"
},
"attributeSetIdentifier": null,
"position": 2,
"templateIdentifier": null,
"shortDescTemplateIdentifier": null,
"price": null,
"additional": {
"prices": {
"min": 51,
"max": 150
}
},
"sku": null,
"isSync": false,
"attributeValues": {},
"categories": [
"catalog"
],
"isVisible": true
},
{
"id": 2954,
"localizeInfos": {
"title": "Caixa"
},
"statusIdentifier": "sale",
"statusLocalizeInfos": {
"title": "Venda"
},
"attributeSetIdentifier": "products",
"position": 3,
"templateIdentifier": null,
"shortDescTemplateIdentifier": "product_preview",
"price": 51,
"additional": {
"prices": {
"min": 51,
"max": 150
}
},
"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": [],
"isIcon": false,
"position": 3,
"additionalFields": [],
"isProductPreview": false
}
},
"categories": [
"catalog"
],
"isVisible": true
}
],
"total": 3
}

Esquema de resposta

Esquema: IProductsResponse

total: number
O número total de produtos encontrados.
exemplo: 100

items: IProductsEntity[]
Um array de entidades de produto.
exemplo:

[
{
"id": 12345,
"title": "Produto 1"
},
{
"id": 67890,
"title": "Produto 2"
}
]