LogoLogo
Documentação de Temas
Documentação de Temas
  • 🚀COMECE POR AQUI
    • Temas Tray
    • Entenda o Tema
    • Meu primeiro tema
  • 💻Tray CLI
    • Instalação
    • Comandos
      • Erros Retornados
    • API para integrações Tray CLI
  • 🧱Construindo seu Template
    • Twig
      • O que é o Twig
      • Como ele é utilizado nos temas
      • Possibilidades de uso
      • Documentação para consulta
    • Visão Geral
      • Estrutura do Tema
      • Arquivo de configuração
      • Extensões de arquivos
      • Codificação de Arquivos
      • Avisos e Recomendações
      • Flags
    • Editor do Tema
      • Antigo
        • Como criar um Editor
        • Settings.html
      • Novo
        • Estrutura
          • Seções
          • Ícones
          • Componentes
            • Text
            • Textarea
            • Email
            • Number
            • Color
            • Checkbox
            • Radio
            • Select
            • Toggle
            • Upload
            • Tab
            • Alert
          • Exemplo de utilização
        • Thumb preview do tema
        • Imagens padrões
        • Como desabilitar e reabilitar?
      • Settings.json
    • Desenvolver
      • Atributo Google Analytics 4
      • Como adicionar o botão comprar na listagem dos produtos
      • Como criar um carrossel de produtos
      • Como inserir um vídeo na home da loja
      • Como manipular as variações de produtos
      • Como saber se o usuário está logado
      • Descontinuação do carrinho.php
      • Exibindo as formas de pagamento de um produto
      • Informação de preço com tempo de cache menor
      • Order Bump - Produtos Relacionados
      • Páginas Institucionais
      • Página de recuperação de senha
      • Página Live Shop
      • Recursos extras
      • Personalização das paginas de carrinho e checkout
    • Core Web Vitals
      • Desempenho
        • Lazyload
        • Primeira dobra
        • Fontes
        • Definição largura e altura
        • Sprite formas de pagamentos
      • Boas Práticas
        • Origem cruzada
      • Acessibilidade
        • Atributo Lang
        • Nome discernível
        • Atributo ALT
        • Contraste
        • IDs únicos
        • ARIA Labelled By
        • Tabindex
    • Otimizar e Medir
      • Carregamento na home
      • Layout AMP
      • Utilizando PWA na loja
    • Referências
      • Objetos
        • banner
        • breadcrumb
        • category
        • categories
        • filters
        • filter_options
        • links
        • pages
        • paginate
        • paymentMethods
        • product
        • productTabs
        • products
        • productFeatured
        • seals
        • search
        • settings
        • store
        • tags
        • tray
        • themePath
        • utils
      • Funções
        • asset()
        • Brands()
        • Categories()
        • Image()
        • Products()
        • Translation()
      • Data Attributes
        • Banners
        • Cart
        • Compare
        • Filter
        • Logged User
        • Search (Suggestion)
      • Componentes
        • Adicionar ao carrinho sem sair da página
        • Banner Desconto Progressivo
        • Banner extra com contagem de cliques
        • Banner Régua
        • Banner Rotativo
        • Botão "Voltar para o topo"
        • Botões Quantidade
        • Carrinho Lateral
        • Exibir a segunda imagem ao passar o mouse
        • Filtro Inteligente
        • Link flutuante para Whatsapp
        • Menu de Categorias
        • Menu de Categorias em 3 Níveis
        • Menu de Categorias com ver mais categorias
        • Menu de Categorias com Imagens
        • Menu de Categorias com Imagens - Hover
        • Menu de Categorias com produto
        • Menu de Marcas
        • Modal de Ofertas
        • Notícias com imagem na home
        • Novo Filtro Inteligente
        • Paginação
        • Porcentagem Desconto
        • Popup de Newsletter
        • Star Ranking
        • Selos da Loja
        • Selos do produto
        • Showcase ( List / Grid )
        • Topo Flutuante
        • Tray Login
        • Whatsapp flutuante
    • APIs Disponíveis
      • Busca
      • Carrinho de Compra
      • Categorias
      • Produtos
      • Variações de Produto
  • ✔️Homologação
    • Loja de Temas Tray
    • Requerimentos
      • Exclusividade
      • Identidade única
      • Estrutura necessária
      • Funcionalidades
      • Nova Busca e Filtro inteligente
      • Selos de produtos
      • Google Lighthouse
      • Consistência e funcionalidade
      • Compatibilidade com navegadores
      • Assets
      • Otimização para buscadores (SEO)
      • Acessibilidade
      • Configurações
      • Sistema de cores
      • Imagens responsivas
      • Nomes dos temas
      • Versionamento e notas de lançamento
      • Lojas demonstrativas
      • Documentação e suporte
    • Checklist obrigatório
    • Templates
    • Homologando o tema
    • Atualizando o tema
    • FAQ
  • 📣NOVIDADES
    • Tray CLI
    • Checklist
    • Tema Draft
    • Novo Editor
Powered by GitBook
On this page
  • Sessão do Usuário
  • Consultar Informações do Carrinho de Compra
  • Attrs
  • Incluir Produto no Carrinho de Compra
  • Excluir Produto do Carrinho de Compra
  • Excluir Variação de um Produto no Carrinho de Compra
  • Excluir Carrinho de Compra

Was this helpful?

  1. Construindo seu Template
  2. APIs Disponíveis

Carrinho de Compra

Através da API de Carrinho de compra é possível incluir e remover produtos e resgatar as informações 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
Descrição

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 os dados necessários 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, jqXHRH ) {
        console.log(response);
    }).fail(function( jqXHR, status, errorThrown ){
        var response = $.parseJSON( jqXHR.responseText );
        console.log(response);
    });
</script>

Ao incluir produtos do carrinho de compra, é retornada 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 serã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 excluir 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, é retornada uma resposta em JSON.

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

JSON de Resposta
Descrição

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 excluir 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/"+dataSession+"/"+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, é retornada uma resposta em JSON.

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

JSON de Resposta
Descrição

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 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_api/carts/{session_id}

Protocolo

Rest/HTTP

Veja abaixo uma chamada de exemplo para excluir 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, é retornada uma resposta em JSON.

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

JSON de Resposta
Descrição

message

Mensagem de Retorno

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',
    'session_id': 'rkqeli8b00a697r4q9jnbi6il6',
    'cart_url': 'https://sualojavirtual.commercesuite.com.br/loja/carrinho.php?loja=12&transID=rkqeli8b00a697r4q9jnbi6il6,
    'code': '200'
}
PreviousBuscaNextCategorias

Last updated 2 years ago

Was this helpful?

Para mais detalhes sobre as APIs de carrinho de compra acesse o link da documentação

🧱
https://developers.tray.com.br/#apis-de-carrinho-de-compra