As APIs de Carrinho de Compras disponibiliza a manutenção dos carrinhos de compra dentro da plataforma Tray, possibilitando criar, atualizar e excluir algum carrinho de compra por aplicações externas. Para essas APIs é necessário realizar a autorização da aplicação, para mais informações veja os passos iniciais para a integração.

 

Consultar Dados do Carrinho

Requisição para a consulta de dados de um carrinho de compra.

Método GET

https://{api_address}/carts/:session_id

Código de Exemplo

<?php
    $params["access_token"] = "### Chave de Acesso ###";

    $url = "https://{api_address}/carts/123ABC456DEF789GHI?".http_build_query($params);

    ob_start();

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET");
    curl_exec($ch);

    // JSON de retorno  
    $resposta = json_decode(ob_get_contents());
    $code = curl_getinfo($ch, CURLINFO_HTTP_CODE);

    ob_end_clean();
    curl_close($ch);

    if($code == "200"){
        //Tratamento dos dados de resposta da consulta.
    }else{
        //Tratamento das mensagens de erro
    }
?>

string URLAuth = "https://{api_address}/carts/123ABC456DEF789GHI";

NameValueCollection queryParameters = new NameValueCollection();

queryParameters.Add("access_token", "### Chave de Acesso ###");    

List items = new List();

foreach (String name in queryParameters)
    items.Add(String.Concat(name, "=", System.Web.HttpUtility.UrlEncode(queryParameters[name])));

string argsString = String.Join("&", items.ToArray());

WebRequest request = WebRequest.Create(URLAuth + "?" + argsString);
    
request.Credentials = CredentialCache.DefaultCredentials;
    
WebResponse response = request.GetResponse();
  
Console.WriteLine(((HttpWebResponse)response).StatusDescription);
    
Stream dataStream = response.GetResponseStream();
    
StreamReader reader = new StreamReader(dataStream);

string responseData = reader.ReadToEnd();

Console.WriteLine(responseData);
reader.Close();
response.Close();
      

String url = "https://{api_address}/carts/123ABC456DEF789GHI";

Map<String, String> mapToConvert = new HashMap<>();
mapToConvert.put("access_token", "### Chave de Acesso ###");

String queryString = "";

for (Entry<String, String> entry : mapToConvert.entrySet()) {
    queryString += entry.getKey()+"="+ entry.getValue()+"&";
}

try {
    URL obj = new URL(url+"?"+queryString);
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    
    con.setRequestMethod("GET");
    con.setRequestProperty("User-Agent", USER_AGENT);

    int responseCode = con.getResponseCode();

    BufferedReader in ;
    if (responseCode >= 200 && responseCode < 300){
        in = new BufferedReader(
            new InputStreamReader(con.getInputStream()));
    }else{
        in = new BufferedReader(
            new InputStreamReader(con.getErrorStream()));
    }
    
    String inputLine;
    StringBuilder response = new StringBuilder();

    while ((inputLine = in.readLine()) != null) {
            response.append(inputLine);
    }
    in.close();
    
    String resposta = response.toString();

} catch (Exception ex){
    // Tratamento da Exception
}
      

Parâmetros enviados

Campo Tipo Descrição
access_token String Chave de acesso
:session_id String Código da sessão do carrinho

Retorno em caso de sucesso (status code 200 ou 201)

Field Type Description
Cart Object [] Dados do carrinho de compra
    email Number Email do cliente
    variants_kit Number  
    additional_info_kit Number  
    session_id String Código da sessão do carrinho
    product_id String Código do produto
    product_name String Nome do produto
    quantity String Quantidade do produto
    price String Preço do produto
    weight Date Peso do produto
    date Number Data do produto no carrinho
    variant_id String Código da variação do produto
    additional_information String Informações adicionais
    customer_id Number Código do cliente
    user_cod Number Código do cliente
    hour Number Hora do produto no carrinho
    product_url Object[] Contém as URLs do produto
        http String Contém a URL HTTP do produto
        https String Contém a URL HTTPS do produto
    product_image Object[] Contém as URLs dos imagens do produto
        http String Contém a URL HTTP do imagem do produto
        https String Contém a URL HTTPS do imagem do produto
        thumbs Object[] Contém a URL dos thumbs do produto
            30 Object[] Contém aa URLa dos thumbs 30 px do produto
                http String Contém a URL HTTP do thumb 30 px do produto
                https String Contém a URL HTTPS do thumb 30 px do produto
            90 Object[] Contém aa URLa dos thumbs 90 px do produto
                http String Contém a URL HTTP do thumb 90 px do produto
        https String Contém a URL HTTPS do thumb 90 px do produto
      180 Object[] Contém aa URLa dos thumbs 180 px do produto
        http String Contém a URL HTTP do thumb 180 px do produto
        https String Contém a URL HTTPS do thumb 180 px do produto

Retorno do sucesso


HTTP/1.1 200 OK
[
  {
    "Cart": {
      "email": "",
      "variants_kit": "",
      "additional_info_kit": "",
      "session_id": "123ABC456DEF789GHI",
      "product_id": "2",
      "product_name": "Produto de Teste",
      "quantity": "4",
      "price": "100.00",
      "weight": "1000",
      "date": "2018-10-18",
      "variant_id": "0",
      "additional_information": "",
      "user_id": "0",
      "customer_id": "0",
      "user_cod": "0",
      "hour": "07:54:06",
      "product_url": {
          "http": "http://ulrdaloja.com.br/categoria/produto",
          "https": "https://urldaloja.com.br/categoria/produto"
       },
      "product_image": {
        "http": "http://images.tcdn.com.br/img/img_prod/produto_exemplo_6_12_1_20180716141523.jpg",
        "https": "https://images.tcdn.com.br/img/img_prod/produto_exemplo_6_12_1_20180716141523.jpg",
        "thumbs": {
           "30": {
             "http": "http://images.tcdn.com.br/img/img_prod/30_produto_exemplo_6_12_1_20180716141523.jpg",
             "https": "https://images.tcdn.com.br/img/img_prod/30_produto_exemplo_6_12_1_20180716141523.jpg"
            },
           "90": {
             "http": "http://images.tcdn.com.br/img/img_prod/90_produto_exemplo_6_12_1_20180716141523.jpg",
             "https": "https://images.tcdn.com.br/img/img_prod90_produto_exemplo_6_12_1_20180716141523.jpg"
            },
           "180": {
             "http": "http://images.tcdn.com.br/img/img_prod/180_produto_exemplo_6_12_1_20180716141523.jpg",
             "https": "https://images.tcdn.com.br/img/img_prod/180_produto_exemplo_6_12_1_20180716141523.jpg"
                 }
             }
         }
        }
    },
    {
     "Cart": {
        "email": "",
        "variants_kit": "",
        "additional_info_kit": "",
        "session_id": "123ABC456DEF789GHI",
        "product_id": "20",
        "product_name": "Produto Teste 2",
        "quantity": "1",
        "price": "100.00",
        "weight": "1000",
        "date": "2018-10-18",
        "variant_id": "0",
        "additional_information": "",
        "user_id": "0",
        "customer_id": "0",
        "user_cod": "0",
        "hour": "07:54:56",
        "product_url": {
           "http": "http://ulrdaloja.com.br/categoria/produto",
           "https": "https://ulrdaloja.com.br/categoria/produto"
        },
        "product_image": {
          "http": "http://images.tcdn.com.br/img/img_prod/produto_exemplo_10_20_1_20180716141527.jpg",
          "https": "https://images.tcdn.com.br/img/img_prod/produto_exemplo_10_20_1_20180716141527.jpg",
            "thumbs": {
                "30": {
                  "http": "http://images.tcdn.com.br/img/img_prod/30_produto_exemplo_10_20_1_20180716141527.jpg",
                  "https": "https://images.tcdn.com.br/img/img_prod/30_produto_exemplo_10_20_1_20180716141527.jpg"
                },
                "90": {
                  "http": "http://images.tcdn.com.br/img/img_prod/90_produto_exemplo_10_20_1_20180716141527.jpg",
                  "https": "https://images.tcdn.com.br/img/img_prod/90_produto_exemplo_10_20_1_20180716141527.jpg"
                },
                "180": {
                  "http": "http://images.tcdn.com.br/img/img_prod/180_produto_exemplo_10_20_1_20180716141527.jpg",
                  "https": "https://images.tcdn.com.br/img/img_prod/180_produto_exemplo_10_20_1_20180716141527.jpg"
                 }
             }
         }
     }
  }
]

 

Consultar Carrinho Completo

Requisição para consultar os dados completos do carrinho.

Método GET

https://{api_address}/carts/:session_id/complete

Código de Exemplo

<?php
    $params["access_token"] = "### Chave de Acesso ###";
    $params["sort"] = "id_desc";

    $url = "https://{api_address}/carts/123ABC456DEF789GHI/complete/?".http_build_query($params);

    ob_start();

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET");
    curl_exec($ch);

    // JSON de retorno  
    $resposta = json_decode(ob_get_contents());
    $code = curl_getinfo($ch, CURLINFO_HTTP_CODE);

    ob_end_clean();
    curl_close($ch);

    if($code == "200"){
        //Tratamento dos dados de resposta da consulta.
    }else{
        //Tratamento das mensagens de erro
    }
?>

string URLAuth = "https://{api_address}/carts/123ABC456DEF789GHI/complete/";

NameValueCollection queryParameters = new NameValueCollection();

queryParameters.Add("access_token", "### Chave de Acesso ###");    
queryParameters.Add("sort", "id_desc");

List items = new List();

foreach (String name in queryParameters)
    items.Add(String.Concat(name, "=", System.Web.HttpUtility.UrlEncode(queryParameters[name])));

string argsString = String.Join("&", items.ToArray());

WebRequest request = WebRequest.Create(URLAuth + "?" + argsString);
    
request.Credentials = CredentialCache.DefaultCredentials;
    
WebResponse response = request.GetResponse();
  
Console.WriteLine(((HttpWebResponse)response).StatusDescription);
    
Stream dataStream = response.GetResponseStream();
    
StreamReader reader = new StreamReader(dataStream);

string responseData = reader.ReadToEnd();

Console.WriteLine(responseData);
reader.Close();
response.Close();
      

String url = "https://{api_address}/carts/123ABC456DEF789GHI/complete/";

Map<String, String> mapToConvert = new HashMap<>();
mapToConvert.put("access_token", "### Chave de Acesso ###");
mapToConvert.put("sort", "id_desc");

String queryString = "";

for (Entry<String, String> entry : mapToConvert.entrySet()) {
    queryString += entry.getKey()+"="+ entry.getValue()+"&";
}

try {
    URL obj = new URL(url+"?"+queryString);
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    
    con.setRequestMethod("GET");
    con.setRequestProperty("User-Agent", USER_AGENT);

    int responseCode = con.getResponseCode();

    BufferedReader in ;
    if (responseCode >= 200 && responseCode < 300){
        in = new BufferedReader(
            new InputStreamReader(con.getInputStream()));
    }else{
        in = new BufferedReader(
            new InputStreamReader(con.getErrorStream()));
    }
    
    String inputLine;
    StringBuilder response = new StringBuilder();

    while ((inputLine = in.readLine()) != null) {
            response.append(inputLine);
    }
    in.close();
    
    String resposta = response.toString();

} catch (Exception ex){
    // Tratamento da Exception
}
      

Parameter

Field Type Description
access_token String Token de acesso
:session_id String Código da sessão do carrinho

Success 200

  ncmNumber 

Field Type Description
Cart Object Dados do carrinho de compra
    session_id String Código da sessão do carrinho
    customer_id Number Código do cliente
    previous_url String URL da loja
    progressive_discount Number Desconto progressivo
    coupon_discount Number Cupom de desconto
    order_discount Number Desconto do pedido
    use_taxes Number  Taxas
    Products Object[] Dados dos produtos
        id Number Código do produto
        quantity Number Quantidade do produto no carrinho
        price Decimal Preço do produto
        variant_id Number Código da variação do produto
        additional_information String Informações adicionais do produto
        name String Nome do produto
        bought_together_id Number Id do compre junto
        cart_id Number Id do carrinho  
        text_variant Number Texto de variação 
        id_campaign Number Id da campanha 
        PaymentMethodByProduct Object[] Forma de pagamento por produto
            payment_method_id Number Código da forma de pagamento
            blocked Number Forma de pagamento bloqueada (Veja Tabela A)
            max_plots Number Máximo de parcelas por forma de pagamento
        Category Object Dados da categoria
            id Number Código da categoria
            name String Nome da categoria
        ProductImage Object[] Imagens do produto
            http String URL da imagem do produto
            https String URL segura da imagem do produto
            thumbs Object Miniaturas da imagem do produto
                30 Object Miniaturas da imagem do produto (30px)
                    http String URL da miniaturas da imagem do produto (30px)
                    https String URL segura da miniaturas da imagem do produto (30px)
                90 Object Miniaturas da imagem do produto (90px)
                    http String URL da miniaturas da imagem do produto (90px)
                    https String URL segura da miniaturas da imagem do produto (90px)
               180 Object Miniaturas da imagem do produto (180px)
                    http String URL da miniaturas da imagem do produto (180px)
                    https String URL segura da miniaturas da imagem do produto (180px)
        url Object Dados da URL da loja
            http String URL da loja
            https String URL segura da loja
        stock Number Quantidade em estoque do produto
        available Number Disponibilidade do Produto (verdadeiro ou falso)
        brand String Marca do produto
       Variant Object Variações do produto
        can_be_wrapped Object Embrulho para presente 
        Tax Object Taxas 
        sub_total Number Subtotal 
        Store Object Dados da LOja
            id Number Código da loja
            name String Nome da loja
            url String URL da loja
        Coupon Object Cupom aplicado 
        Extensions Object Extensões do Produto 
            AdditionalProductInfo Object Informações adicionais do produto 
                product_id Number Id do produto 
                product_name String Nome do produto 
                variant_id String Id da variação 
                information String Informação adicional 
        partner_id Number Id do parceiro 
        partner_name String Nome do parceiro 
        tax_name String Descrição de acréscimo / taxa 
        Tax Object Taxa/Acrécimo
           name String Descrição de acréscimo / taxa 
           value String Valor de acréscimo / taxa 
        total String Total do carrinho 
        sub_total String Subtotal do carrinho 

{
  "Cart": {
     "session_id": "5kgnpd4cc6ehgo029odv65utk1",
     "customer_id": "0",
     "previous_url": "http://redsene.commercesuite.com.br",
     "progressive_discount": "0",
     "coupon_discount": "0",
     "order_discount": "0",
     "use_taxes": "1",
     "Products": [
        {
           "id": "8",
           "quantity": "3",
           "price": "100.00",
           "variant_id": "0",
           "additional_information": "",
           "name": "Produto com Embalagem",
           "bought_together_id": "0",
           "cart_id": "237",
           "text_variant": "",
           "id_campaign": "",
           "PaymentMethodByProduct": [],
           "Category": {
               "id": "12",
               "name": "Blusas"
           },
           "ProductImage": [
             {
              "http": "http://images.tcdn.com.br/img/img_prod/558228/produto_exemplo_4_8_1_20180716141522.jpg",
              "https": "https://images.tcdn.com.br/img/img_prod/558228/produto_exemplo_4_8_1_20180716141522.jpg",
              "thumbs": {
                  "30": {
                      "http": "http://images.tcdn.com.br/img/img_prod/558228/30_produto_exemplo_4_8_1_20180716141522.jpg",
                      "https": "https://images.tcdn.com.br/img/img_prod/558228/30_produto_exemplo_4_8_1_20180716141522.jpg"
                  },
                  "90": {
                      "http": "http://images.tcdn.com.br/img/img_prod/558228/90_produto_exemplo_4_8_1_20180716141522.jpg",
                      "https": "https://images.tcdn.com.br/img/img_prod/558228/90_produto_exemplo_4_8_1_20180716141522.jpg"
                  },
                  "180": {
                      "http": "http://images.tcdn.com.br/img/img_prod/558228/180_produto_exemplo_4_8_1_20180716141522.jpg",
                      "https": "https://images.tcdn.com.br/img/img_prod/558228/180_produto_exemplo_4_8_1_20180716141522.jpg"
                      }
                  }
              }
          ],
          "url": {
            "http": "http://redsene.commercesuite.com.br/blusas/produto-exemplo-4",
            "https": "https://redsene.commercesuite.com.br/blusas/produto-exemplo-4"
           },
          "ncm": "0",
          "stock": "100",
          "available": "1",
          "brand": "",
          "Variant": [],
          "can_be_wrapped": "1",
          "Tax": [],
           "sub_total": "300.00"
       }
   ],
   "Store": {
        "id": "558228",
        "name": "redsene",
        "url": "https://redsene.commercesuite.com.br"
   },
    "Coupon": [],
    "Extensions": {
    "AdditionalProductInfo": [
           {
                "product_id": "4",
                 "product_name": "Produto Informação Adicional",
                 "variant_id": "0",
                 "information": "nome: asas"
             }
         ]
     },
     "partner_id": "",
     "partner_name": "",
     "tax_name": "Emissão de Nota Fiscal",
     "Tax": {
         "name": "Emissão de Nota Fiscal",
          "value": "0"
      },
     "total": "1005.00",
     "sub_total": "1005.00"
   }
}

Criar Novo Carrinho

Requisição para criação de um carrinho de compras. Deverá enviar o JSON com os dados do carrinho para a criação.

Método POST

https://{api_address}/carts/

Código de Exemplo

<?php
    $params["access_token"] = "### Chave de Acesso ###";

    $data["Cart"]["session_id"] = "123ABC456DEF789GHI";
    $data["Cart"]["product_id"] = "123";
    $data["Cart"]["variant_id"] = "";
    $data["Cart"]["quantity"] = "1";
    $data["Cart"]["price"] = "50.00";
    $data["Cart"]["additional_information"] = "Informações adicionais";
    $data["Cart"]["Shipping"]["id_shipping"] = "123";
    $data["Cart"]["Shipping"]["name"] = "Sedex";
    $data["Cart"]["Shipping"]["min_period"] = "1";
    $data["Cart"]["Shipping"]["max_period"] = "3";
    $data["Cart"]["Shipping"]["zip_code"] = "04001001";
    $data["Cart"]["Shipping"]["price"] = "16.85";
    $data["Cart"]["Shipping"]["tax_name"] = "Acréscimo";
    $data["Cart"]["Shipping"]["tax_value"] = "2.00";
    $data["Cart"]["Shipping"]["city"] = "São Paulo";
    $data["Cart"]["Shipping"]["state"] = "SP";

    $url = "https://{api_address}/carts/?".http_build_query($params);

    ob_start();

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
        'Content-Type: application/json',
        'Content-Length: ' . strlen(json_encode($data)))
    );
    curl_exec($ch);

    // JSON de retorno  
    $resposta = json_decode(ob_get_contents());
    $code = curl_getinfo($ch, CURLINFO_HTTP_CODE);

    ob_end_clean();
    curl_close($ch);

    if($code == "201"){
        //Tratamento dos dados de resposta da consulta.
    }else{
        //Tratamento das mensagens de erro
    }
?>

string URLAuth = "https://{api_address}/carts/";

NameValueCollection queryParameters = new NameValueCollection();

queryParameters.Add("access_token", "### Chave de Acesso ###");

List items = new List();

foreach (String name in queryParameters)
    items.Add(String.Concat(name, "=", System.Web.HttpUtility.UrlEncode(queryParameters[name])));

string argsString = String.Join("&", items.ToArray());

string postString  = "{";
       postString += "  \"Cart\": {";
       postString += "      \"session_id\": \"123ABC456DEF789GHI\",";
       postString += "      \"product_id\": \"123\",";
       postString += "      \"variant_id\": \"\",";
       postString += "      \"quantity\": \"1\",";
       postString += "      \"price\": \"50.00\",";
       postString += "      \"additional_information\": \"Informações adicionais\",";
       postString += "      \"Shipping\": {";
       postString += "          \"id_shipping\": \"123\",";
       postString += "          \"name\": \"Sedex\",";
       postString += "          \"min_period\": \"1\",";
       postString += "          \"max_period\": \"3\",";
       postString += "          \"zip_code\": \"04001001\",";
       postString += "          \"price\": \"16.85\",";
       postString += "          \"tax_name\": \"Acréscimo\",";
       postString += "          \"tax_value\": \"2.00\",";
       postString += "          \"city\": \"São Paulo\",";
       postString += "          \"state\": \"SP\"";
       postString += "      }";
       postString += "  }";
       postString += "}";

HttpWebRequest webRequest = WebRequest.Create(URLAuth + "?" + argsString) as HttpWebRequest;
webRequest.Method = "POST";
webRequest.ContentType = "application/json";

StreamWriter requestWriter = new StreamWriter(webRequest.GetRequestStream());
requestWriter.Write(postString);
requestWriter.Close();

StreamReader responseReader = new StreamReader(webRequest.GetResponse().GetResponseStream());
string responseData = responseReader.ReadToEnd();

responseReader.Close();
webRequest.GetResponse().Close();
      

String url = "https://{api_address}/carts/";
StringBuffer response = null ;
try{
    String access_token = "?access_token=### Chave de Acesso ###";
    
    URL obj = new URL(url+access_token);
    HttpsURLConnection con = (HttpsURLConnection) obj.openConnection();

    //add reuqest header
    con.setRequestMethod("POST");
    con.setRequestProperty("User-Agent", USER_AGENT);
    con.setRequestProperty("Content-Type", "application/json");
    con.setRequestProperty("Accept-Language", "en-US,en;q=0.5");

    String postString  = "{";
           postString += "      \"session_id\": \"123ABC456DEF789GHI\",";
           postString += "      \"product_id\": \"123\",";
           postString += "      \"variant_id\": \"\",";
           postString += "      \"quantity\": \"1\",";
           postString += "      \"price\": \"50.00\",";
           postString += "      \"additional_information\": \"Informações adicionais\",";
           postString += "      \"Shipping\": {";
           postString += "          \"id_shipping\": \"123\",";
           postString += "          \"name\": \"Sedex\",";
           postString += "          \"min_period\": \"1\",";
           postString += "          \"max_period\": \"3\",";
           postString += "          \"zip_code\": \"04001001\",";
           postString += "          \"price\": \"16.85\",";
           postString += "          \"tax_name\": \"Acréscimo\",";
           postString += "          \"tax_value\": \"2.00\",";
           postString += "          \"city\": \"São Paulo\",";
           postString += "          \"state\": \"SP\"";
           postString += "      }";
           postString += "  }";
           postString += "}";
           
    // Send post request
    con.setDoOutput(true);
    DataOutputStream wr = new DataOutputStream(con.getOutputStream());
    wr.writeBytes(postString);
    wr.flush();
    wr.close();

    int responseCode = con.getResponseCode();

    BufferedReader in ;
    if (responseCode >= 200 && responseCode < 300){
        in = new BufferedReader(
            new InputStreamReader(con.getInputStream()));
    }else{
        in = new BufferedReader(
            new InputStreamReader(con.getErrorStream()));
    }
    
    String inputLine;
    response = new StringBuffer();

    while ((inputLine = in.readLine()) != null) {
            response.append(inputLine);
    }
    in.close();

} catch (Exception ex){
    // Tratamento da Exception
}
String resposta = response.toString();
			

Parâmetros enviados

  ShippingObjectDados de entrega

Field Type Description
access_token String Chave de acesso
Cart JSON Dados do carrinho de compra
  session_id String Código da sessão do carrinho
  product_id Number Código do produto
  variant_id Number Código da variação
  quantity Number Quantidade do produto no carrinho
  price Decimal Preço do produto
  additional_information String Informações adicionais
    id_shipping Number Código da forma de envio
    name String Nome do destinatário
    min_period Number Período mínimo para envio
    max_period Number Período máximo para envio
    zip_code String CEP
    price Decimal Valor do envio
    tax_name String Descrição de acréscimo / taxa
    tax_value Decimal Valor de acréscimo / taxa
    city String Cidade de entrega
    state String Sigla do estado de entrega

Estrutura de Json

POST /carts/?access_token=abc96fb7b1defd2496b9a9d81071fa12319b12306465e057d0ebca9bd9ab19
{
    "Cart": {
        "session_id": "123ABC456DEF789GHI", 
        "product_id": "123", 
        "variant_id": "",
        "quantity": "1", 
        "price": "50.00", 
        "additional_information": "Informações adicionais", 
        "Shipping": {
            "id_shipping": "123", 
            "name": "Sedex", 
            "min_period": "1", 
            "max_period": "3",
            "zip_code": "04001001", 
            "price": "16.85", 
            "tax_name": "Acréscimo",
            "tax_value": "2.00", 
            "city": "São Paulo", 
            "state": "SP"
        }
    }
}

 

Retorno em caso de sucesso (status code 200 ou 201)

Field Type Description
message String Mensagem de retorno
id Number Código do carrinho
session_id String Código da sessão do carrinho
cart_url String URL do carrinho
code Number Código do retorno (201)

 

Json de retorno

HTTP/1.1 201 OK
{
    "message": "Created",
    "id": "123",
    "session_id": "123ABC456DEF789GHI",
    "cart_url": "http://loja.commercesuite.com.br/loja/carrinho.php?loja=123123&transID=123ABC456DEF789GHI&hash=",
    "code": 201
}

 

Atualizar Dados do Carrinho

Requisição para alterar os dados de um carrinho. Deverá enviar o JSON com os dados do carrinho para a alteração.

Método PUT

https://{api_address}/carts/

Código de Exemplo

<?php
   $params["access_token"] = "### Chave de Acesso ###";

    $data["Cart"]["email"] = "teste@teste.com.br";
    $data["Cart"]["variants_kit"] = "";
    $data["Cart"]["additional_info_kit"] = "";
    $data["Cart"]["date"] = "2018-11-13";
    $data["Cart"]["user_id"] = "2"
    $data["Cart"]["user_code"] = "2";
    $data["Cart"]["hour"] = "16:16:02";
    $data["Cart"]["Shipping"]["id_shipping"] = "123";
    $data["Cart"]["Shipping"]["name"] = "Sedex";
    $data["Cart"]["Shipping"]["min_period"] = "1";
    $data["Cart"]["Shipping"]["max_period"] = "3";
    $data["Cart"]["Shipping"]["zip_code"] = "04001001";
    $data["Cart"]["Shipping"]["price"] = "16.85";
    $data["Cart"]["Shipping"]["tax_name"] = "Acréscimo";
    $data["Cart"]["Shipping"]["tax_value"] = "2.00";
    $data["Cart"]["Shipping"]["city"] = "São Paulo";
    $data["Cart"]["Shipping"]["state"] = "SP";

    $url = "https://{api_address}/carts/123ABC456DEF789GHI?".http_build_query($params);

    ob_start();

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
        'Content-Type: application/json',
        'Content-Length: ' . strlen(json_encode($data)))
    );
    curl_exec($ch);

    // JSON de retorno  
    $resposta = json_decode(ob_get_contents());
    $code = curl_getinfo($ch, CURLINFO_HTTP_CODE);

    ob_end_clean();
    curl_close($ch);

    if($code == "200"){
        //Tratamento dos dados de resposta da consulta.
    }else{
        //Tratamento das mensagens de erro
    }
?>

string URLAuth = "https://{api_address}/carts/123ABC456DEF789GHI";

NameValueCollection queryParameters = new NameValueCollection();

queryParameters.Add("access_token", "### Chave de Acesso ###");

List items = new List();

foreach (String name in queryParameters)
    items.Add(String.Concat(name, "=", System.Web.HttpUtility.UrlEncode(queryParameters[name])));

string argsString = String.Join("&", items.ToArray());

string putString  = "{";
       putString += "  \"Cart\": {";
       putString += "      \"email\": \"teste@teste.com.br\",";
       putString += "      \"variants_kit\": \"\",";
       putString += "      \"date\": \"2018-11-13\",";
       putString += "      \"user_id\": \"2\",";
       putString += "      \"user_cod\": \"2\",";
       putString += "      \"hour"\: \"16:16:02\",";
       putString += "      \"Shipping\": {";
       putString += "          \"id_shipping\": \"123\",";
       putString += "          \"name\": \"Sedex\",";
       putString += "          \"min_period\": \"1\",";
       putString += "          \"max_period\": \"3\",";
       putString += "          \"zip_code\": \"04001001\",";
       putString += "          \"price\": \"16.85\",";
       putString += "          \"tax_name\": \"Acréscimo\",";
       putString += "          \"tax_value\": \"2.00\",";
       putString += "          \"city\": \"São Paulo\",";
       putString += "          \"state\": \"SP\"";
       putString += "      }";
       putString += "  }";
       putString += "}";

HttpWebRequest webRequest = WebRequest.Create(URLAuth + "?" + argsString) as HttpWebRequest;
webRequest.Method = "PUT";
webRequest.ContentType = "application/json";

StreamWriter requestWriter = new StreamWriter(webRequest.GetRequestStream());
requestWriter.Write(putString);
requestWriter.Close();

StreamReader responseReader = new StreamReader(webRequest.GetResponse().GetResponseStream());
string responseData = responseReader.ReadToEnd();

responseReader.Close();
webRequest.GetResponse().Close();
			

String url = "https://{api_address}/carts/123ABC456DEF789GHI";
StringBuffer response = null ;
try{
    String access_token = "?access_token=### Chave de Acesso ###";
    
    URL obj = new URL(url+access_token);
    HttpsURLConnection con = (HttpsURLConnection) obj.openConnection();

    //add reuqest header
    con.setRequestMethod("PUT");
    con.setRequestProperty("User-Agent", USER_AGENT);
    con.setRequestProperty("Content-Type", "application/json");
    con.setRequestProperty("Accept-Language", "en-US,en;q=0.5");

    String putString  = "{";
           putString += "  \"Cart\": {";
           putString += "      \"email\": \"teste@teste.com.br\",";
           putString += "      \"variants_kit\": \"\",";
           putString += "      \"additional_info_kit\": \"\",";
           putString += "      \"date\": \"2018-11-1\",";
           putString += "      \"user_id\": \"2\",";
           putString += "      \"user_cod\": \"2\",";
           putString += "      \"hour\": \"16:16:02\",";
           putString += "      \"Shipping\": {";
           putString += "          \"id_shipping\": \"123\",";
           putString += "          \"name\": \"Sedex\",";
           putString += "          \"min_period\": \"1\",";
           putString += "          \"max_period\": \"3\",";
           putString += "          \"zip_code\": \"04001001\",";
           putString += "          \"price\": \"16.85\",";
           putString += "          \"tax_name\": \"Acréscimo\",";
           putString += "          \"tax_value\": \"2.00\",";
           putString += "          \"city\": \"São Paulo\",";
           putString += "          \"state\": \"SP\"";
           putString += "      }";
           putString += "  }";
           putString += "}";
           
    // Send put request
    con.setDoOutput(true);
    DataOutputStream wr = new DataOutputStream(con.getOutputStream());
    wr.writeBytes(putString);
    wr.flush();
    wr.close();

    int responseCode = con.getResponseCode();

    BufferedReader in ;
    if (responseCode == 200){
        in = new BufferedReader(
            new InputStreamReader(con.getInputStream()));
    }else{
        in = new BufferedReader(
            new InputStreamReader(con.getErrorStream()));
    }
    
    String inputLine;
    response = new StringBuffer();

    while ((inputLine = in.readLine()) != null) {
            response.append(inputLine);
    }
    in.close();

} catch (Exception ex){
    // Tratamento da Exception
}
String resposta = response.toString();
			

Parâmetros enviados

  ShippingObjectDados de entrega

Field Type Description
access_token String Chave de acesso
Cart JSON Dados do carrinho de compra
  email String Email do cliente
  variants_kit Number  
  additional_info_kit Number  
  date String Data de criação
  user_id Decimal ID do usuario
  user_cod Decimal Códico do usuario
  hour String Hora de criação
  Shipping String Informações adicionais
    id_shipping Number Código da forma de envio
    name String Nome do destinatário
    min_period Number Período mínimo para envio
    max_period Number Período máximo para envio
    zip_code String CEP
    price Decimal Valor do envio
    tax_name String Descrição de acréscimo / taxa
    tax_value Decimal Valor de acréscimo / taxa
    city String Cidade de entrega
    state String Sigla do estado de entrega

 

Estrutura de Json

PUT /carts/?access_token=abc96fb7b1defd2496b9a9d81071fa12319b12306465e057d0ebca9bd9ab19

{
    "Cart": {
    	"email": "teste@teste.com.br",
    	"variants_kit":"5",
    	"additional_info_kit": "",
        "date": "2018-11-13",
        "user_id": "22",
        "user_cod": "2",
        "hour": "16:16:02",
        "Shipping": {
            "id_shipping": "321", 
            "name": "Sedex", 
            "min_period": "1", 
            "max_period": "3",
            "zip_code": "040010011", 
            "price": "16.81", 
            "tax_name": "Acréscimo",
            "tax_value": "2.0", 
            "city": "São Paulo", 
            "state": "SP"
        }
    }
}

 

Retorno em caso de sucesso (status code 200 ou 201)

Field Type Description
message String Mensagem de retorno
session_id String Código da sessão do carrinho
cart_url String URL do carrinho
code Number Código do retorno (201)

 

Json de retorno

HTTP/1.1 201 OK
{
    "message": "Created"
    "session_id": "123ABC456DEF789GHI",
    "cart_url": "http://loja.commercesuite.com.br/loja/carrinho.php?loja=123123&transID=123ABC456DEF789GHI&hash=",
    "code": 201
}

 

Excluir Carrinho

Requisição para excluir um carrinho de compra.

Método DELETE

https://{api_address}/carts/:session_id

Código de Exemplo

<?php
       $params["access_token"] = "### Chave de Acesso ###";

    $url = "https://{api_address}/carts/123ABC456DEF789GHI?".http_build_query($params);

    ob_start();

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "DELETE");
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
        'Content-Type: application/json',
        'Content-Length: ' . strlen(json_encode($data)))
    );
    curl_exec($ch);

    // JSON de retorno  
    $resposta = json_decode(ob_get_contents());
    $code = curl_getinfo($ch, CURLINFO_HTTP_CODE);

    ob_end_clean();
    curl_close($ch);

    if($code == "200"){
        //Tratamento dos dados de resposta da consulta.
    }else{
        //Tratamento das mensagens de erro
    }
?>

string URLAuth = "https://{api_address}/carts/123ABC456DEF789GHI";

NameValueCollection queryParameters = new NameValueCollection();

queryParameters.Add("access_token", "### Chave de Acesso ###");

List items = new List();

foreach (String name in queryParameters)
    items.Add(String.Concat(name, "=", System.Web.HttpUtility.UrlEncode(queryParameters[name])));

string argsString = String.Join("&", items.ToArray());

HttpWebRequest webRequest = WebRequest.Create(URLAuth + "?" + argsString) as HttpWebRequest;
webRequest.Method = "DELETE";
webRequest.ContentType = "application/json";

StreamReader responseReader = new StreamReader(webRequest.GetResponse().GetResponseStream());
string responseData = responseReader.ReadToEnd();

responseReader.Close();
webRequest.GetResponse().Close();
			

String url = "https://{api_address}/carts/123ABC456DEF789GHI";
StringBuffer response = null ;
try{
    String access_token = "?access_token=### Chave de Acesso ###";
    
    URL obj = new URL(url+access_token);
    HttpsURLConnection con = (HttpsURLConnection) obj.openConnection();

    //add reuqest header
    con.setRequestMethod("DELETE");
    con.setRequestProperty("User-Agent", USER_AGENT);
    con.setRequestProperty("Content-Type", "application/json");
    con.setRequestProperty("Accept-Language", "en-US,en;q=0.5");

    int responseCode = con.getResponseCode();

    BufferedReader in ;
    if (responseCode == 200){
        in = new BufferedReader(
            new InputStreamReader(con.getInputStream()));
    }else{
        in = new BufferedReader(
            new InputStreamReader(con.getErrorStream()));
    }
    
    String inputLine;
    response = new StringBuffer();

    while ((inputLine = in.readLine()) != null) {
            response.append(inputLine);
    }
    in.close();

} catch (Exception ex){
    // Tratamento da Exception
}
String resposta = response.toString();
			

Parâmetros enviados

Field Type Description
access_token String Chave de acesso
:session_id String Código da sessão do carrinho

 

Retorno em caso de sucesso (status code 200 ou 201)

Field Type Description
message String Mensagem de retorno
session_id String Código da sessão do carrinho
cart_url String URL do carrinho
code Number Código do retorno (200)

 

Json de retorno

 
HTTP/1.1 200 OK
{
    "message": "Deleted",
    "session_id": "123ABC456DEF789GHI",
    "cart_url": "http://loja.commercesuite.com.br/loja/carrinho.php?loja=123123&transID=123ABC456DEF789GHI&hash=",
    "code": 200
}

Tabela Auxiliar

Tabela Auxiliar de Carrinho de Compra

Tabela A - Bloqueio de forma de pagamento (campo blocked)

Valor Descrição
0 Forma de pagamento desbloqueada
1 Forma de pagamento bloqueada
Frontend - Agencia 
Tem mais dúvidas? Envie uma solicitação

Comentários

    Artigos nessa seção

    Powered by Zendesk