Produtos

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

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:

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:

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:

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