Catálogo de produtos

Obtendo o catálogo de produtos

Primeiro é necessário instanciar o objeto MagazineLuizaAPI, passando o seu ID:

const magazineLuiza = new MagazineLuizaAPI('000');

Após isso, use o método getProducts() em catalog para obter o catálogo:

magazineLuiza.catalog.getProducts();

Esse método retorna uma Promise. O resultado da Promise é um array de objetos, com os produtos do catálogo, no formato:

[
    {
        "action": "add",
        "active": true,
        "amountImageDetails": 1,
        "brand": "pontto lavabo",
        "category": "CJ",
        "changeDate": "2015-06-26T15:30:00.705391",
        "description": "Assento Sanit\u00e1rio Saveiro",
        "descriptionCategory": "Casa e Jardim",
        "descriptionSubcategory": "Assentos Sanit\u00e1rios",
        "id": "2065448",
        "images": {
            "category": {
                "details": [
                    "http://i.mlcdn.com.br/210x210/206544800a.jpg"
                ],
                "main": "http://i.mlcdn.com.br/210x210/206544800.jpg"
            },
            "default": {
                "details": [
                    "http://i.mlcdn.com.br/210x210/206544800a.jpg"
                ],
                "main": "http://i.mlcdn.com.br/210x210/206544800.jpg"
            },
            "productDetail": {
                "details": [
                    "http://i.mlcdn.com.br/410x308/206544800a.jpg"
                ],
                "main": "http://i.mlcdn.com.br/410x308/206544800.jpg"
            },
            "productLarge": {
                "details": [
                    "http://i.mlcdn.com.br/1500x1500/206544800a.jpg"
                ],
                "main": "http://i.mlcdn.com.br/1500x1500/206544800.jpg"
            },
            "productPPI": {
                "details": [
                    "http://i.mlcdn.com.br/210x210/206544800a.jpg"
                ],
                "main": "http://i.mlcdn.com.br/210x210/206544800.jpg"
            },
            "showcase": {
                "details": [
                    "http://i.mlcdn.com.br/210x210/206544800a.jpg"
                ],
                "main": "http://i.mlcdn.com.br/210x210/206544800.jpg"
            },
            "showcaseLarge": {
                "details": [
                    "http://i.mlcdn.com.br/1500x1500/206544800a.jpg"
                ],
                "main": "http://i.mlcdn.com.br/1500x1500/206544800.jpg"
            }
        },
        "master": "2065448",
        "model": "00",
        "ncm": "",
        "needsMount": false,
        "price": "329.90",
        "reference": "para Lou\u00e7a Celite - Pontto Lavabo",
        "salePrice": "329.90",
        "subcategory": "CJSA",
        "voltage": {
            "code": 3,
            "description": "Does not use electricity"
        }
    }
]

Tipos e referências de valores do objeto retornado com a API

As imagens estão no objeto images, e estão separadas em outros dois objetos: main e details, onde main é a imagem principal, e, em details, está um array com as imagens de detalhes do produto:

{
    action: <String> ACAO,
    active: <Boolean> ATIVO,
    amountImageDetails: <Number> QTDE_DETALHES,
    category: <String> CATEGORIA,
    ncm: <String> CLASSIFICACAO_FISCAL,
    id: <String> CODIGO,
    changeDate: <Date String> DATA_ALTERACAO,
    description: <String> DESCRICAO,
    descriptionCategory: <String> DESC_CATEGORIA,
    descriptionSubcategory: <String> DESC_SUBCATEGORIA,
    images: {
        category: {
            details: <Array> [ IMAGEM_CATEGORIA ],
            main: <String> IMAGEM_CATEGORIA
        },
        default: {
            details: <Array> [ IMAGEM ],
            main: <String> IMAGEM
        },
        productDetail: {
            details: <Array> [ IMAGEM_PRODUTO_DETALHE ],
            main: <String> IMAGEM_PRODUTO_DETALHE
        },
        productLarge: {
            details: <Array> [ IMAGEM_PRODUTO_GRANDE ],
            main: <String> IMAGEM_PRODUTO_GRANDE
        },
        productPPI: {
            details: <Array> [ IMAGEM_PRODUTO_PPI ],
            main: <String> IMAGEM_PRODUTO_PPI
        },
        showcase: {
            details: <Array> [ IMAGEM_VITRINE ],
            main: <String> IMAGEM_VITRINE
        },
        showcaseLarge: {
            details: <Array> [ IMAGEM_VITRINE_GRANDE ],
            main: <String> IMAGEM_VITRINE_GRANDE
        }
    },
    brand: <String> MARCA,
    master: <String> MESTRE,
    model: <String> MODELO,
    reference: <String> REFERENCIA,
    subcategory: <String> SUBCATEGORIA,
    needsMount: <String> TEM_MONTAGEM,
    price: <String> VALOR,
    salePrice: <String> VALOR_VENDA,
    voltage: {
        code: <Number> VOLTAGEM,
        description: <String>
    }
}