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 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, é 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.
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/"+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
.
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, é 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 excluir 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'
}
Comentários