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"
}
]