Carrinho de Compra

Através da API de Carrinho de compra é possível incluir produtos e resgatar informações do carrinho de compra, retornando a URL deste carrinho para exibição ao cliente.

Endereço para Integração
URL de Acesso https://{sualojavirtual}.commercesuite.com.br/web_api/cart
Protocolo Rest/HTTP

Sessão do Usuário

Na API de Carrinho de Compra também será necessário resgatar a informação da sessão do usuário no carrinho. Esta informação poderá ser capturada através de um código javascript.

Apesar da sessão do usuário já existir no dataLayer, algumas páginas possuem cache e poderão trazer as informações de forma incorreta. Para evitar este problema, caso seja necessário, disponibilizamos a sessão também no código fonte das páginas do sistema para que possa ser recuperado.

Abaixo apresentamos um código exemplo para que seja feita a captura da sessão:

    <script type="text/javascript">  
	var dataSession =  $("html").attr("data-session");
    </script>

Consultar Informações do Carrinho de Compra

Para retornar as informações do Carrinho de Compra, basta realizar uma requisição via GET, enviando na URL o código da sessão do carrinho.

Para a integração com esta API, deverá ser realizada uma requisição via GET, concatenando o código da sessão do usuário no final da URL.

Veja abaixo uma chamada de exemplo para consultar informações do carrinho de compra:

    <script type="text/javascript">  
	var dataSession =  $("html").attr("data-session");
	$.ajax({
		method: "GET",
		url: "/web_api/cart/"+dataSession
	}).done(function( response, textStatus, jqXHR ) {
		console.log(response);
	}).fail(function( jqXHR, status, errorThrown ){
		var response = $.parseJSON( jqXHR.responseText );
		console.log(response);
	});
    </script>

A consulta de informações do carrinho de compra retorna uma resposta em JSON.

Abaixo um detalhamento de cada nó do JSON de resposta:

JSON de Resposta
Cart Nó principal da resposta
Cart.session_id Código da Sessão do Carrinho
Cart.product_id Código do Produto
Cart.product_name Nome do Produto
Cart.quantity Quantidade
Cart.price Preço do Produto
Cart.weight Peso do Produto
Cart.date Data
Cart.variant_id Código da Variação
Cart.user_id ID do usuário
Cart.user_cod Código do Usuário
Cart.hour Hora
Cart.product_url Objeto com as URLs do Produto
Cart.product_url.http URL Simples do Produto
Cart.product_url.https URL Segura do Produto
Cart.product_image Objeto com as imagens do Produto
Cart.product_image.http URL Simples da Imagem do produto
Cart.product_image.https URL Segura da Imagem do produto
Cart.product_image.thumbs Miniatura da Imagem do Produto
Cart.product_image.thumbs.30 Miniatura de Tamanho 30px
Cart.product_image.thumbs.30.http URL Simples da Miniatura de 30px
Cart.product_image.thumbs.30.https URL Segura da Miniatura de 30px
Cart.product_image.thumbs.90 Miniatura de Tamanho 90px
Cart.product_image.thumbs.90.http URL Simples da Miniatura de 90px
Cart.product_image.thumbs.90.https URL Segura da Miniatura de 90px
Cart.product_image.thumbs.180 Miniatura de Tamanho 180px
Cart.product_image.thumbs.180.http URL Simples da Miniatura de 180px
Cart.product_image.thumbs.180.https URL Segura da Miniatura de 180px
Cart.email Email do Usuário
Cart.additional_information Informações Adicionais

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

	
[
  {
    "Cart": {
      "email": "",
      "session_id": "pfhqg4ekivc5hqrdh3me2e8dp4",
      "product_id": "6",
      "product_name": "Nome do Produto",
      "quantity": "1",
      "price": "50.00",
      "weight": "100",
      "date": "2016-09-30",
      "variant_id": "0",
      "additional_information": "",
      "user_id": "0",
      "customer_id": "0",
      "user_cod": "0",
      "hour": "13:55:43",
      "product_url": {
        "http": "http://urldaloja.commercesuite.com.br/acessorios/sleeves-protetores/dragon-shield-fusion",
        "https": "https://urldaloja.commercesuite.com.br/acessorios/sleeves-protetores/dragon-shield-fusion"
      },
      "product_image": {
        "http": "http://images2.tcdn.com.br/img/img_prod/888/6_1_20141201121139.jpg",
        "https": "https://images2.tcdn.com.br/img/img_prod/888/6_1_20141201121139.jpg",
        "thumbs": {
          "30": {
            "http": "http://images1.tcdn.com.br/img/img_prod/888/30_6_1_20141201121139.jpg",
            "https": "https://images1.tcdn.com.br/img/img_prod/888/30_6_1_20141201121139.jpg"
          },
          "90": {
            "http": "http://images3.tcdn.com.br/img/img_prod/888/90_6_1_20141201121139.jpg",
            "https": "https://images.tcdn.com.br/img/img_prod/888/90_6_1_20141201121139.jpg"
          },
          "180": {
            "http": "http://images2.tcdn.com.br/img/img_prod/888/180_6_1_20141201121139.jpg",
            "https": "https://images2.tcdn.com.br/img/img_prod/888/180_6_1_20141201121139.jpg"
          }
        }
      }
    }
  }

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/cart/dataSession?attrs=Cart.product_name

Terá como resposta o conteúdo abaixo:


    "Cart": {
       "id": "660",
       "product_name": "Camisa basica<br /><strong>Cor</strong> Vermelho"
     }

Abaixo um exemplo de utilização desse parâmetro:


    var dataSession =  $("html").attr("data-session");
    var params = {};

    params["attrs"] = "Cart.product_name,Cart.product_id";

    $.ajax({
      method: "GET",
      url: "/web_api/cart/"+dataSession,
      data: params
    }).done(function( response, textStatus, jqXHR ) {
      console.log(response);
    }).fail(function( jqXHR, status, errorThrown ){
      var response = $.parseJSON( jqXHR.responseText );
      console.log(response);
    });

Incluir Produto no Carrinho de Compra

Para incluir produtos no carrinho de compra, basta realizar uma requisição via POST, enviando os parâmetros com informações do produto.

A requisição para a integração será via POST, onde segue abaixo o dado necessário para envio:

Dados de Entrada Obrig. Formato / Tam. Max Descrição
Cart Sim Objeto Nó principal da resposta
Cart.session_id Sim Texto / 32 Código da Sessão
Cart.product_id Sim Número Código do Produto
Cart.quantity Sim Número Quantidade
Cart.variant_id Não Número Código da Variação

Exemplo de um JSON de envio baseando nos dados de envio acima:

{
	"Cart": {
		"session_id": "rkqeli8b00a697r4q9jnbi6il6",
		"product_id": "100",
		"quantity": "2",
		"variant_id": "0"
	}
}

Veja abaixo uma chamada de exemplo para incluir produtos no carrinho de compra:

    <script type="text/javascript">  
	var dataSession =  $("html").attr("data-session");
		
        $.ajax({
		method: "POST",
		url: "/web_api/cart/",
		contentType: "application/json; charset=utf-8",
		data: '{"Cart":{"session_id":"'+dataSession+'","product_id":"100","quantity":"2","variant_id":"0"}}'
	}).done(function( response, textStatus, jqXHR ) {
		console.log(response);
	}).fail(function( jqXHR, status, errorThrown ){
		var response = $.parseJSON( jqXHR.responseText );
		console.log(response);
	});
    </script>

Ao incluir produtos do carrinho de compra, é retorna uma resposta em JSON.

Abaixo um detalhamento de cada nó do JSON de resposta:

JSON de Resposta
message Mensagem de Retorno
id Código do Carrinho
session_id Código da Sessão do Carrinho
cart_url URL do Carrinho
code HTTP Code de Resposta

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

{
	'message': 'Created',
	'id': '615440',
	'session_id': 'rkqeli8b00a697r4q9jnbi6il6',
	'cart_url': 'https://sualojavirtual.commercesuite.com.br/loja/carrinho.php?loja=12&transID=rkqeli8b00a697r4q9jnbi6il6,
	'code': '201'
}

Excluir Produto do Carrinho de Compra

Para excluir um produto especifico no carrinho de compra, basta realizar uma requisição utilizando o método DELETE, passando na url o session_id e o product_id do produto.

Esta requisição exclui um produto inteiro do carrinho. Caso ele tenha uma ou mais variações, todas são excluídas do carrinho.

Endereço para Integração
URL de Acesso https://{sualojavirtual}.commercesuite.com.br/web_api/carts/{session_id}/{product_id}
Protocolo Rest/HTTP

Veja abaixo uma chamada de exemplo para incluir produtos no carrinho de compra:


  <script type="text/javascript">
    var dataSession =  $("html").attr("data-session");
    var productID = 6
    $.ajax({
      method: "DELETE",
      url: "/web_api/carts/"+dataSession+"/"+productID
    }).done(function( response, textStatus, jqXHR ) {
      console.log(response);
    }).fail(function( jqXHR, status, errorThrown ){
      var response = $.parseJSON( jqXHR.responseText );
      console.log(response);
    });
  </script>

Ao excluir produtos do carrinho de compra, é retorna uma resposta em JSON.

Abaixo um detalhamento de cada nó do JSON de resposta:

JSON de Resposta
message Mensagem de Retorno
id Código do Carrinho
session_id Código da Sessão do Carrinho
cart_url URL do Carrinho
code HTTP Code de Resposta

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

{
   'message': 'Deleted',
   'id': '615440',
   'session_id': 'rkqeli8b00a697r4q9jnbi6il6',
   'cart_url': 'https://sualojavirtual.commercesuite.com.br/loja/carrinho.php?loja=12&transID=rkqeli8b00a697r4q9jnbi6il6,
   'code': '201'
}

Excluir Variação de um Produto no Carrinho de Compra

Para excluir uma variação especifica do produto no carrinho de compra, basta realizar uma requisição utilizando o método DELETE, passando na url o session_id e o product_id e o variant_id do produto.

Esta requisição exclui uma variação específica do carrinho.

Endereço para Integração
URL de Acesso https://{sualojavirtual}.commercesuite.com.br/web_api/carts/{session_id}/{product_id}/{variant_id}
Protocolo Rest/HTTP

Veja abaixo uma chamada de exemplo para incluir produtos no carrinho de compra:

    <script type="text/javascript">  
	var dataSession =  $("html").attr("data-session");
	var productID = 6;
var variantID = 122; $.ajax({ method: "DELETE", url: "/web_api/carts/"+session_id+"/"+productID+"/"+variantID, contentType: "application/json; charset=utf-8", }).done(function( response, textStatus, jqXHR ) { console.log(response); }).fail(function( jqXHR, status, errorThrown ){ var response = $.parseJSON( jqXHR.responseText ); console.log(response); }); </script>

Ao excluir uma variação do carrinho de compra, é retorna uma resposta em JSON.

Abaixo um detalhamento de cada nó do JSON de resposta:

JSON de Resposta
message Mensagem de Retorno
id Código do Carrinho
session_id Código da Sessão do Carrinho
cart_url URL do Carrinho
code HTTP Code de Resposta

 

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

	{
		'message': 'Deleted',
		'id': '615440',
		'session_id': 'rkqeli8b00a697r4q9jnbi6il6',
		'cart_url': 'https://sualojavirtual.commercesuite.com.br/loja/carrinho.php?loja=12&transID=rkqeli8b00a697r4q9jnbi6il6,
		'code': '201'
	}

Excluir Sessão do Carrinho de Compra

Para excluir a sessão de um carrinho de compra, basta realizar uma requisição utilizando o método DELETE, passando na url o session_id.

Esta requisição exclui todos os produtos e variações do carrinho. Inclusive o carrinho é excluído, ele torna-se indisponível após a operação.

Endereço para Integração
URL de Acesso https://{sualojavirtual}.commercesuite.com.br/web_api/carts/{session_id}
Protocolo Rest/HTTP

Veja abaixo uma chamada de exemplo para incluir produtos no carrinho de compra:


  <script type="text/javascript">
    var dataSession =  $("html").attr("data-session");

    $.ajax({
      method: "DELETE",
      url: "/web_api/carts/"+dataSession
    }).done(function( response, textStatus, jqXHR ) {
      console.log(response);
    }).fail(function( jqXHR, status, errorThrown ){
      var response = $.parseJSON( jqXHR.responseText );
      console.log(response);
    });
  </script>

Ao excluir o carrinho de compra, é retorna uma resposta em JSON.

Abaixo um detalhamento de cada nó do JSON de resposta:

JSON de Resposta
message Mensagem de Retorno
id Código do Carrinho
session_id Código da Sessão do Carrinho
cart_url URL do Carrinho
code HTTP Code de Resposta

 

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

	{
		'message': 'Deleted',
		'id': '615440',
		'session_id': 'rkqeli8b00a697r4q9jnbi6il6',
		'cart_url': 'https://sualojavirtual.commercesuite.com.br/loja/carrinho.php?loja=12&transID=rkqeli8b00a697r4q9jnbi6il6,
		'code': '200'
	}

Excluir Carrinho de Compra

Para excluir o carrinho de compra, basta realizar uma requisição utilizando o método DELETE.

Esta requisição exclui o carrinho com id passado por parâmetro. A exclusão só será feita caso o id tenha a sessão também passada.

Endereço para Integração
URL de Acesso https://{sualojavirtual}.commercesuite.com.br/web_ap/carts/{session_id}/id/{id}
Protocolo Rest/HTTP

Veja abaixo uma chamada de exemplo para incluir produtos no carrinho de compra:


  <script type="text/javascript">
    var dataSession =  $("html").attr("data-session");
var cartID = 615440; $.ajax({ method: "DELETE", url: "/web_api/carts/"+dataSession+"/id/"+cartID }).done(function( response, textStatus, jqXHR ) { console.log(response); }).fail(function( jqXHR, status, errorThrown ){ var response = $.parseJSON( jqXHR.responseText ); console.log(response); }); </script>

Ao excluir o carrinho de compra, é retorna uma resposta em JSON.

Abaixo um detalhamento de cada nó do JSON de resposta:

JSON de Resposta
message Mensagem de Retorno
id Código do Carrinho
session_id Código da Sessão do Carrinho
cart_url URL do Carrinho
code HTTP Code de Resposta

 

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

	{
		'message': 'Deleted',
		'id': '615440',
		'session_id': 'rkqeli8b00a697r4q9jnbi6il6',
		'cart_url': 'https://sualojavirtual.commercesuite.com.br/loja/carrinho.php?loja=12&transID=rkqeli8b00a697r4q9jnbi6il6,
		'code': '200'
	}