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 Resposta
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 Entrada Obrig. 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);
  });