Através da API de Produtos é possível consultar e listar os produtos contidos na loja virtual.
Endereço para Integração https://{URL_LOJA}/web_api/products
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:
Copy < 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 Resposta Descrição Product.promotional_price
Preço Promocional do Produto
Data Inicial da Promoção do Produto
Data Final da Promoção do Produto
Código da Categoria do Produto
Disponibilidade do Produto
Product.additional_button
Botão Adicional do Produto
Confirmação de Produto com Variação
Objeto com as URLs do Produto
Product.payment_option_details[]
Product.payment_option_details[].display_name
Nome da Forma de Pagamento
Product.payment_option_details[].plots
Product.payment_option_details[].value
Product.related_categories
Categorias Relacionadas do Produto
Data da Liberação 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
Exemplo de resposta com sucesso baseando no envio do exemplo acima:
Copy {
"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:
Copy https://{URL_LOJA}/web_api/products?attrs=Product.ean,Product.price
Terá como resposta o conteúdo abaixo:
Copy "Products" : [
{
"Product" : {
"ean" : "" ,
"id" : "110" ,
"price" : "3000.00"
}
} ,
Abaixo um exemplo de utilização desse parâmetro:
Copy <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 Entrada Obrig. Descrição Dsiponibilidade do Produto
Data de Criação do Produto
Data de Modificação do Produto
Quantidade Vendida do Produto
Retornar Produtos Randômicos
Quantidade Limite de Registros
Veja abaixo uma chamada de exemplo listagem de produtos:
Copy < 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 Resposta Descrição Registro Inicial da Página
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.category_id
Código da Categoria do Produto
Products[].Product.available
Products[].Product.availability
Disponibilidade do Produto
Products[].Product.release
Products[].Product.additional_button
Botão Adicional do Produto
Products[].Product.has_variation
Confirmação de Produto com Variação
Objeto com as URLs do Produto
Products[].Product.url.http
Products[].Product.url.https
Products[].Product.payment_option
Products[].Product.related_categories
Categorias Relacionadas do Produto
Products[].Product.release_date
Data da Liberação do Produto
Products[].Product.virtual_product
Products[].Product.ProductImage[]
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[]
Exemplo de resposta com sucesso baseando no envio do exemplo acima:
Copy {
"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