Através da API de Variações de Produtos é possível identificar todas as variações contidas na loja virtual e identificar o produto relacionado à variação.
Consultar Informações de Variação do Produto
Para retornar as informações da variação do produto, basta realizar uma requisição via GET, enviando na URL o código da variação desejada.
Veja abaixo uma chamada de exemplo para consultar informações de variação do produto:
Copy < script type = "text/javascript" >
var variantId = "5" ;
$ .ajax ({
method : "GET" ,
url : "/web_api/variants/" + variantId
}) .done ( function ( response , textStatus , jqXHR ) {
console .log (response);
}) .fail ( function ( jqXHR , status , errorThrown ){
var response = $ .parseJSON ( jqXHR .responseText );
console .log (response);
});
</ script >
Na consulta de variação 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:
Copy {
"Variant" : {
"id" : "184" ,
"ean" : "" ,
"product_id" : "610" ,
"price" : "199.90" ,
"start_promotion" : "0000-00-00" ,
"end_promotion" : "0000-00-00" ,
"promotional_price" : "0.00" ,
"payment_option" : "ou 12x com juros de R$ 18,89" ,
"illustrative_image" : "" ,
"VariantImage" : [
{
"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/123/180_1.png" ,
"https" : "https://images.tcdn.com.br/img/img_prod/123/180_1.png"
}
}
}
] ,
"Sku" : [
{
"type" : "Cor" ,
"value" : "Verde"
} ,
{
"type" : "Tamanho" ,
"value" : "G"
}
]
}
}
Listagem de Variações do Produto
Para a listagem de variações do produto, deverá ser realizada uma requisição via GET.
Podem ser enviados alguns parâmetros nesta integração para realizar filtros na listagem de variações de produtos, segue abaixo o dado necessário para envio:
Veja abaixo uma chamada de exemplo para a listagem de variações de produtos:
Copy < script type = "text/javascript" >
var params = {};
params[ "page" ] = "1" ;
params[ "limit" ] = "5" ;
$ .ajax ({
method : "GET" ,
url : "/web_api/variants/" ,
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 variações 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:
Copy {
"paging" : {
"total" : 105 ,
"page" : 1 ,
"offset" : 0 ,
"limit" : 30 ,
"maxLimit" : 50
} ,
"sort" : [
{
"id" : "asc"
}
] ,
"availableFilters" : [
"id" ,
"product_id" ,
"ean" ,
"price" ,
"promotional_price" ,
"modified"
] ,
"appliedFilters" : [] ,
"Variants" : [
{
"Variant" : {
"id" : "182" ,
"ean" : "" ,
"product_id" : "610" ,
"price" : "199.90" ,
"start_promotion" : "0000-00-00" ,
"end_promotion" : "0000-00-00" ,
"promotional_price" : "0.00" ,
"payment_option" : "ou 12x com juros de R$ 18,89" ,
"illustrative_image" : "" ,
"Sku" : [
{
"type" : "Cor" ,
"value" : "Verde"
} ,
{
"type" : "Tamanho" ,
"value" : "P"
}
]
}
}
]
}
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/variants?attrs=Variant.price,Variant.payment_option_details
Terá como resposta o conteúdo abaixo:
Copy "Variants" : [
{
"Variant" : {
"id" : "9" ,
"product_id" : "8" ,
"price" : "40.00" ,
"payment_option_details" : [
{
"display_name" : "Boleto - TrayCheckout" ,
"plots" : "1" ,
"value" : "38.80"
}
]
}
} ,
Abaixo um exemplo de utilização desse parâmetro:
Copy var params = {};
params[ "attrs" ] = "Variant.price,Variant.payment_option_details" ;
$ .ajax ({
method : "GET" ,
url : "/web_api/variants/" ,
data : params
}) .done ( function ( response , textStatus , jqXHR ) {
console .log (response);
}) .fail ( function ( jqXHR , status , errorThrown ){
var response = $ .parseJSON ( jqXHR .responseText );
console .log (response);
});
Para mais detalhes sobre a API de variações de produto acesse o link da documentação https://developers.tray.com.br/?java#listagem-de-variacoes-get