Variações de Produto

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.

Endereço para Integração

URL de Acesso

https://{URL_LOJA}/web_api/variants

Protocolo

Rest/HTTP

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:

<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:

JSON de RespostaDescrição

Variant

Dados da Variação do Produto

Variant.ean

EAN da Variação do Produto

Variant.id

Código da Variação do Produto

Variant.product_id

Código do Produto

Variant.price

Preço da Variação do Produto

Variant.promotional_price

Preço Promocional da Variação do Produto

Variant.start_promotion

Data Inicial da Promoção da Variação do Produto

Variant.end_promotion

Data Final da Promoção da Variação do Produto

Variant.payment_option

Informações de Pagamento

Variant.illustrative_image

Imagem Ilustrativa da Variação do Produto

Variant.VariantImage[]

Imagens da Variação do Produto

Variant.VariantImage[].http

URL Simples da Imagem da Variação do Produto

Variant.VariantImage[].https

URL Segura da Imagem da Variação do Produto

Variant.VariantImage[].thumbs

Miniaturas da Imagem da Variação do Produto

Variant.VariantImage[].thumbs.30

Miniatura de Tamanho 30px

Variant.VariantImage[].thumbs.30.http

URL Simples da Miniatura de 30px

Variant.VariantImage[].thumbs.30.https

URL Segura da Miniatura de 30px

Variant.VariantImage[].thumbs.90

Miniatura de Tamanho 90px

Variant.VariantImage[].thumbs.90.http

URL Simples da Miniatura de 90px

Variant.VariantImage[].thumbs.90.https

URL Segura da Miniatura de 90px

Variant.VariantImage[].thumbs.180

Miniatura de Tamanho 180px

Variant.VariantImage[].thumbs.180.http

URL Simples da Miniatura de 180px

Variant.VariantImage[].thumbs.180.https

URL Segura da Miniatura de 180px

Variant.Sku[]

Sku da Variação do Produto

Variant.Sku[].type

Tipo da Variação do Produto

Variant.Sku[].value

Dados da Variação do Produto

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

{
    "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:

Dados de EntradaObrig.Descrição

id

Não

Código do Produto

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 para a listagem de variações de produtos:

<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:

JSON de Resposta

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

Variants[]

Lista de Produtos

Variants[].Variant

Dados da Variação do Produto

Variants[].Variant.ean

EAN da Variação do Produto

Variants[].Variant.id

Código da Variação do Produto

Variants[].Variant.product_id

Código do Produto

Variants[].Variant.price

Preço da Variação do Produto

Variants[].Variant.promotional_price

Preço Promocional da Variação do Produto

Variants[].Variant.start_promotion

Data Inicial da Promoção da Variação do Produto

Variants[].Variant.end_promotion

Data Final da Promoção da Variação do Produto

Variants[].Variant.payment_option

Informações de Pagamento

Variants[].Variant.illustrative_image

Imagem Ilustrativa da Variação do Produto

Variants[].Variant.VariantImage[]

Imagens da Variação do Produto

Variants[].Variant.VariantImage[].http

URL Simples da Imagem da Variação do Produto

Variants[].Variant.VariantImage[].https

URL Segura da Imagem da Variação do Produto

Variants[].Variant.VariantImage[].thumbs

Miniaturas da Imagem da Variação do Produto

Variants[].Variant.VariantImage[].thumbs.30

Miniatura de Tamanho 30px

Variants[].Variant.VariantImage[].thumbs.30.http

URL Simples da Miniatura de 30px

Variants[].Variant.VariantImage[].thumbs.30.https

URL Segura da Miniatura de 30px

Variants[].Variant.VariantImage[].thumbs.90

Miniatura de Tamanho 90px

Variants[].Variant.VariantImage[].thumbs.90.http

URL Simples da Miniatura de 90px

Variants[].Variant.VariantImage[].thumbs.90.https

URL Segura da Miniatura de 90px

Variants[].Variant.VariantImage[].thumbs.180

Miniatura de Tamanho 180px

Variants[].Variant.VariantImage[].thumbs.180.http

URL Simples da Miniatura de 180px

Variants[].Variant.VariantImage[].thumbs.180.https

URL Segura da Miniatura de 180px

Variants[].Variant.Sku[]

Sku da Variação do Produto

Variants[].Variant.Sku[].type

Tipo da Variação do Produto

Variants[].Variant.Sku[].value

Dados da Variação do Produto

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

{
    "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:

   https://{URL_LOJA}/web_api/variants?attrs=Variant.price,Variant.payment_option_details

Terá como resposta o conteúdo abaixo:

"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:

  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

Last updated