Produtos

Através da API de Produtos é possível consultar e listar os produtos contidos na loja virtual.

Endereço para Integração

URL de Acesso

https://{URL_LOJA}/web_api/products

Protocolo

Rest/HTTP

Consultar Informações do Produto

Para retornar as informações do produto, basta realizar uma requisição via GET, enviando na URL o código do produto desejado.

Veja abaixo uma chamada de exemplo para consultar informações do produto:

<script type="text/javascript">  
    var productId =  "84";
    
    $.ajax({
        method: "GET",
        url: "/web_api/products/"+productId
    }).done(function( response, textStatus, jqXHR ) {
        console.log(response);
    }).fail(function( jqXHR, status, errorThrown ){
        var response = $.parseJSON( jqXHR.responseText );
        console.log(response);
    });
</script>

Na consulta do produto, a API retorna a resposta em JSON.

Abaixo um detalhamento de cada nó do JSON de resposta:

JSON de RespostaDescrição

Product

Dados do Produto

Product.ean

EAN do Produto

Product.id

Código do Produto

Product.name

Nome do Produto

Product.price

Preço do Produto

Product.promotional_price

Preço Promocional do Produto

Product.start_promotion

Data Inicial da Promoção do Produto

Product.end_promotion

Data Final da Promoção do Produto

Product.brand

Marca do Produto

Product.model

Modelo do Produto

Product.category_id

Código da Categoria do Produto

Product.available

Disponibilidade do Produto

Product.hot

Produto em Destaque

Product.release

Liberação do Produto

Product.additional_button

Botão Adicional do Produto

Product.has_variation

Confirmação de Produto com Variação

Product.url

Objeto com as URLs do Produto

Product.url.http

URL Simples do Produto

Product.url.https

URL Segura do Produto

Product.payment_option

Informações de Pagamento

Product.payment_option_details[]

Informações de Pagamento

Product.payment_option_details[].display_name

Nome da Forma de Pagamento

Product.payment_option_details[].plots

Quantidade de parcelas

Product.payment_option_details[].value

Valor da parcela

Product.related_categories

Categorias Relacionadas do Produto

Product.release_date

Data da Liberação do Produto

Product.virtual_product

Produto Virtual

Product.ProductImage[]

Imagens do Produto

Product.ProductImage[].http

URL Simples da Imagem do Produto

Product.ProductImage[].https

URL Segura da Imagem do Produto

Product.ProductImage[].thumbs

Miniatura da Imagem do Produto

Product.ProductImage[].thumbs.30

Miniatura de Tamanho 90px

Product.ProductImage[].thumbs.30.http

URL Simples da Miniatura de 90px

Product.ProductImage[].thumbs.30.https

URL Segura da Miniatura de 90px

Product.ProductImage[].thumbs.90

Miniatura de Tamanho 300px

Product.ProductImage[].thumbs.90.http

URL Simples da Miniatura de 300px

Product.ProductImage[].thumbs.90.https

URL Segura da Miniatura de 300px

Product.ProductImage[].thumbs.180

Miniatura de Tamanho 450px

Product.ProductImage[].thumbs.180.http

URL Simples da Miniatura de 450px

Product.ProductImage[].thumbs.180.https

URL Segura da Miniatura de 450px

Product.Variant[]

Variações do Produto

Exemplo de resposta com sucesso baseando no envio do exemplo acima:

{
    "Product": {
        "ean": "8882",
        "id": "84",
        "name": "Produto Teste 4",
        "description": "Produto para Teste Automatizado. Produto sem variação.<\/p>\r\n",
        "description_small": "Produto de Teste 4",
        "price": "199.90",
        "promotional_price": "0.00",
        "start_promotion": "0000-00-00",
        "end_promotion": "0000-00-00",
        "brand": "Paginacao",
        "model": "Modelo 3",
        "category_id": "16",
        "available": "1",
        "availability": "Em estoque",
        "hot": "1",
        "release": "0",
        "additional_button": "",
        "has_variation": "",
        "additional_message": "Mensagem.",
        "warranty": "1 ano",
        "rating": "0",
        "count_rating": "0",
        "ProductImage": [
            {
                "http": "http://images.tcdn.com.br/img/img_prod/123/1.png",
                "https": "https://images.tcdn.com.br/img/img_prod/123/1.png",
                "thumbs": {
                    "30": {
                        "http": "http://images.tcdn.com.br/img/img_prod/123/30_1.png",
                        "https": "https://images.tcdn.com.br/img/img_prod/123/30_1.png"
                    },
                    "90": {
                        "http": "http://images.tcdn.com.br/img/img_prod/123/90_1.png",
                        "https": "https://images.tcdn.com.br/img/img_prod/123/90_1.png"
                    },
                    "180": {
                        "http": "http://images.tcdn.com.br/img/img_prod/400636/180_1.png",
                        "https": "https://images.tcdn.com.br/img/img_prod/400636/180_1.png"
                    }
                }
            }
        ],
        "image": "1",
        "url": {
            "http": "http://sualojavirtual.commercesuite.com.br/produto-teste-4-pr.htm",
            "https": "https://sualojavirtual.commercesuite.com.br/produto-teste-4-pr.htm"
        },
        "Properties": [],
        "payment_option": "ou 12x com juros de R$ 18,89",
        "related_categories": [
            "16"
        ],
        "release_date": "0000-00-00",
        "virtual_product": "",
        "Variant": []
    }
}

Attrs

Caso deseje exibir apenas alguns atributos da API, pode-se utilizar o parâmetro attrs.

O parâmetro Attrs deve ser passado pela url da requisição da API, nela você deve passar os atributos da qual deseja exibir separados por (,).

Exemplo:

https://{URL_LOJA}/web_api/products?attrs=Product.ean,Product.price

Terá como resposta o conteúdo abaixo:

 "Products": [
     {
       "Product": {
         "ean": "",
         "id": "110",
         "price": "3000.00"
       }
     },

Abaixo um exemplo de utilização desse parâmetro:

<script type="text/javascript">
  var params = {};

  params["id"] = "2";
  params["attrs"] = "Product.price,Product.ean";

  $.ajax({
    method: "GET",
    url: "/web_api/products/",
    data: params
  }).done(function( response, textStatus, jqXHR ) {
    console.log(response);
  }).fail(function( jqXHR, status, errorThrown ){
    var response = $.parseJSON( jqXHR.responseText );
    console.log(response);
  });
</script>

Listagem de Produtos

Para a listagem de produtos, deverá ser realizada uma requisição via GET.

Podem ser enviados alguns parâmetros nesta integração para realizar filtros na listagem de produtos. Segue abaixo um detalhamento de cada nó do JSON de resposta:

Dados de EntradaObrig.Descrição

id

Não

Código do Produto

name

Não

Nome do Produto

category_id

Não

Categoria do Produto

ean

Não

EAN do Produto

price

Não

Preço do Produto

brand

Não

Marca do Produto

available

Não

Dsiponibilidade do Produto

attrs

Não

Atributos do Produto

created

Não

Data de Criação do Produto

modified

Não

Data de Modificação do Produto

stock

Não

Estoque do Produto

promotion

Não

Produto Promocional

free_shipping

Não

Produto com Frete Grátis

release

Não

Produto em Lançamento

hot

Não

Produto em Destaque

quantity_sold

Não

Quantidade Vendida do Produto

rand

Não

Retornar Produtos Randômicos

sort

Não

Ordenação da Consulta

limit

Não

Quantidade Limite de Registros

page

Não

Página da Consulta

Veja abaixo uma chamada de exemplo listagem de produtos:

<script type="text/javascript">  
    var params = {};

    params["category_id"] = "123";
    params["page"] = "2";
    params["limit"] = "20";

    $.ajax({
        method: "GET",
        url: "/web_api/products/",
        data: params
    }).done(function( response, textStatus, jqXHR ) {
        console.log(response);
    }).fail(function( jqXHR, status, errorThrown ){
        var response = $.parseJSON( jqXHR.responseText );
        console.log(response);
    });
</script>

Na listagem de produtos, a API retorna a resposta em JSON.

Abaixo um detalhamento de cada nó do JSON de resposta:

JSON de RespostaDescrição

paging

Dados do Produto

paging.total

Total de Registros

paging.page

Páginas corrente

paging.offset

Registro Inicial da Página

paging.limit

Limite de Registros

paging.maxLimit

Máximo de Registros

sort

Ordenação

availableFilters

Filtros Disponíveis

appliedFilters

Filtros Utilizados

Products[]

Lista de Produtos

Products[].Product

Dados do Produto

Products[].Product.ean

EAN do Produto

Products[].Product.id

Código do Produto

Products[].Product.name

Nome do Produto

Products[].Product.price

Preço do Produto

Products[].Product.promotional_price

Preço Promocional do Produto

Products[].Product.start_promotion

Data Inicial da Promoção do Produto

Products[].Product.end_promotion

Data Final da Promoção do Produto

Products[].Product.brand

Marca do Produto

Products[].Product.model

Modelo do Produto

Products[].Product.category_id

Código da Categoria do Produto

Products[].Product.available

Produto Disponível

Products[].Product.availability

Disponibilidade do Produto

Products[].Product.hot

Produto em Destaque

Products[].Product.release

Liberação do Produto

Products[].Product.additional_button

Botão Adicional do Produto

Products[].Product.has_variation

Confirmação de Produto com Variação

Products[].Product.url

Objeto com as URLs do Produto

Products[].Product.url.http

URL Simples do Produto

Products[].Product.url.https

URL Segura do Produto

Products[].Product.payment_option

Informações de Pagamento

Products[].Product.related_categories

Categorias Relacionadas do Produto

Products[].Product.release_date

Data da Liberação do Produto

Products[].Product.virtual_product

Produto Virtual

Products[].Product.ProductImage[]

Imagens do Produto

Products[].Product.ProductImage[].http

URL Simples da Imagem do Produto

Products[].Product.ProductImage[].https

URL Segura da Imagem do Produto

Products[].Product.ProductImage[].thumbs

Miniatura da Imagem do Produto

Products[].Product.ProductImage[].thumbs.30

Miniatura de Tamanho 30px

Products[].Product.ProductImage[].thumbs.30.http

URL Simples da Miniatura de 30px

Products[].Product.ProductImage[].thumbs.30.https

URL Segura da Miniatura de 30px

Products[].Product.ProductImage[].thumbs.90

Miniatura de Tamanho 90px

Products[].Product.ProductImage[].thumbs.90.http

URL Simples da Miniatura de 90px

Products[].Product.ProductImage[].thumbs.90.https

URL Segura da Miniatura de 90px

Products[].Product.ProductImage[].thumbs.180

Miniatura de Tamanho 180px

Products[].Product.ProductImage[].thumbs.180.http

URL Simples da Miniatura de 180px

Products[].Product.ProductImage[].thumbs.180.https

URL Segura da Miniatura de 180px

Products[].Product.Variant[]

Variações do Produto

Exemplo de resposta com sucesso baseando no envio do exemplo acima:

{
    "paging": {
        "total": 201,
        "page": 1,
        "offset": 0,
        "limit": 1,
        "maxLimit": 50
    },
    "sort": [ { "id": "asc" } ],
    "availableFilters": [
        "id", "name", "category_id", "ean", "available", "price",
        "brand", "model", "hot", "quantity_sold", "release",
        "free_shipping", "weight", "image", "release_date", "stock",
        "promotion", "modified", "created" ],
    "appliedFilters": [],
    "Products": [
        {
            "Product": {
                "ean": "8882",
                "id": "84",
                "name": "Produto Teste 4",
                "price": "199.90",
                "promotional_price": "0.00",
                "start_promotion": "0000-00-00",
                "end_promotion": "0000-00-00",
                "brand": "Paginacao",
                "model": "Modelo 3",
                "category_id": "16",
                "available": "1",
                "availability": "Em estoque",
                "hot": "1",
                "release": "0",
                "additional_button": "",
                "has_variation": "",
                "url": {
                    "http": "http://sualoja.commercesuite.com.br/produto1.htm",
                    "https": "https://sualoja.commercesuite.com.br/produto1.htm"
                },
                "payment_option": "ou 12x com juros de R$ 18,89",
                "related_categories": ["16"],
                "release_date": "0000-00-00",
                "virtual_product": "",
                "ProductImage": [{
                    "http": "http://images.tcdn.com.br/img/img_prod/123/1.png",
                    "https": "https://images.tcdn.com.br/img/img_prod/123/1.png",
                    "thumbs": {
                        "30": {
                            "http": "http://images.tcdn.com.br/img/img_prod/123/30_1.png",
                            "https": "https://images.tcdn.com.br/img/img_prod/123/30_1.png"
                        },
                        "90": {
                            "http": "http://images.tcdn.com.br/img/img_prod/123/90_1.png",
                            "https": "https://images.tcdn.com.br/img/img_prod/123/90_1.png"
                        },
                        "180": {
                            "http": "http://images.tcdn.com.br/img/img_prod/132/180_1.png",
                            "https": "https://images.tcdn.com.br/img/img_prod/123/180_1.png"
                        }
                    }
                } ],
                "Variant": []
            }
        }
    ]
}

Para mais detalhes sobre a API de produtos acesse o link da documentação https://developers.tray.com.br/?java#api-de-produtos

Last updated