Introdução

Esta API foi desenvolvida para que você cliente Trackcash, possa enviar os seus pedidos independentemente do tipo de loja virtual que utiliza. A Api foi construida sobre o modelo RESTful é intuita e sem complicação!

A seguir vamos apresentar a estrutura e o formato de dados esperados do nosso lado, para que você possa utilizar todos os beneficios da API sem maiores dificuldades

Formato de dados

No cabeçalho da requisição você precisará enviar duas informações: Content-Type que definirá o tipo de requisição - neste caso usaremos o formato json e o chartset em utf-8. obs: é importante que os dados enviandos também estejam com o mesmo charset, por fim enviaremos também a token - que será a combinação do seu usuário e senha

Headers

Content-Type: application/json charset=utf-8
token: dGVzdGVAbWV1ZW1haWwuY29tOm11ZGFyMTIz

Autenticação

Para a autenticação utilizaremos o modelo Basic Autentication, basicamente você precisará combinar o Usuário e Senha (Administrador) e criptografar via code_64, o resultado será enviado no cabeçalho da solicitação como token

Vamos imaginar que seu usuário seja teste@meuemail.com e sua senha mudar123

Em php ficará assim:

<?php $token = base64_encode('teste@meuemail.com:mudar123'); ?>

A saida será: dGVzdGVAbWV1ZW1haWwuY29tOm11ZGFyMTIz


Agora que já sabe como autenticar chegou a hora de testar nossa API clique aqui e faça os testes através da API explorer

Fonte: https://en.wikipedia.org/wiki/Basic_access_authentication

Exemplos

Consultar pedidos

<?php

$curl = curl_init("https://trackcash.com.br/api/orders");

$headers = array(
"Content-Type: application/json; charset=utf-8",
"token: dGVzdGVAbWV1ZW1haWwuY29tOm11ZGFyMTIz"
);

curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "GET");

curl_setopt($curl, CURLOPT_HEADER, false);

curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);

$response = curl_exec($curl);

$return = json_decode($response);

?>

Filtros

  • date
  • date_start
  • date_end
  • status (Consulte a tabela)
$url = "https://trackcash.com.br/api/orders?date=2018-01-01";

$url = "https://trackcash.com.br/api/orders?date_start=2018-01-01&date_end=2018-01-31";

$url = "https://trackcash.com.br/api/orders?status=1";

Cadastro de pedidos

Definindo o body (json)

{  
   "orders":[  
      {  
         "id_order":"1415",
         "invoice":"1574",
         "status":"4",
         "date":"2018-12-10",
         "partial_total":"829.90",
         "taxes":"0",
         "discount":"0",
         "type_factor":"cubagem",
         "type_factor_value":"0.55",
         "logis_shipping_preview":"45.00",
         "shipment":"B2W Entregas",
         "shipment_value":"25.50",
         "shipment_code":"",
         "shipment_date":"2018-12-11",
         "delivered":"1",
         "paid":"855.40",
         "refunded":"0",
         "total":"855.40",
         "products":[  
            {  
               "sku":"123",
               "quantity":"12",
               "selling_price":"120.22",
               "discount":"0.22"
            },
            {  
               "sku":"123456",
               "quantity":"122",
               "selling_price":"10.222",
               "discount":"0.211"
            }
         ],
         "point_sale":"5",
         "point_sale_code":"268461388701"
      },
      {  
         "id_order":"1416",
         "invoice":"1575",
         "status":"2",
         "date":"2018-12-10",
         "partial_total":"100.90",
         "taxes":"0",
         "discount":"0",
         "type_factor":"cubagem",
         "type_factor_value":"0.55",
         "logis_shipping_preview":"45.00",
         "shipment":"B2W Entregas",
         "shipment_value":"10.50",
         "shipment_code":"",
         "shipment_date":"2018-12-11",
         "delivered":"1",
         "paid":"111.40",
         "refunded":"0",
         "total":"111.40",
         "products":[  
            {  
               "sku":"123",
               "quantity":"1",
               "selling_price":"100.90",
               "discount":"0"
            }
         ],
         "point_sale":"5",
         "point_sale_code":"268461388702"
      }
   ]
}

Requisição (post)

<?php

$curl = curl_init("https://trackcash.com.br/api/orders");

$headers = array(
"Content-Type: application/json; charset=utf-8",
"token: dGVzdGVAbWV1ZW1haWwuY29tOm11ZGFyMTIz"
);

curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "POST");

curl_setopt($curl, CURLOPT_HEADER, false);

curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);

curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($body));

$response = curl_exec($curl);

$return = json_decode($response);

?>

Atualização de pedidos

Definindo o body (json) - Envie os campos que desejar atualizar

<?php
$body = ' {
 "orders": [
   {
        "id_order": "123456",
        "status": "1",
    },
   {
        "id_order": "7891011",
        "delivered": "0",
  }
]}
'; ?>

Requisição (put)

<?php

$curl = curl_init("https://trackcash.com.br/api/orders");

$headers = array(
"Content-Type: application/json; charset=utf-8",
"token: dGVzdGVAbWV1ZW1haWwuY29tOm11ZGFyMTIz"
);

curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "PUT");

curl_setopt($curl, CURLOPT_HEADER, false);

curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);

curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($body));

$response = curl_exec($curl);

$return = json_decode($response);

?>

Buscar pedido especifico

<?php

$curl = curl_init("https://trackcash.com.br/api/order/123456");

$headers = array(
"Content-Type: application/json; charset=utf-8",
"token: dGVzdGVAbWV1ZW1haWwuY29tOm11ZGFyMTIz"
);

curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "GET");

curl_setopt($curl, CURLOPT_HEADER, false);

curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);

$response = curl_exec($curl);

$return = json_decode($response);

?>

Deletar pedido

<?php

$curl = curl_init("https://trackcash.com.br/api/order/123456");

$headers = array(
"Content-Type: application/json; charset=utf-8",
"token: dGVzdGVAbWV1ZW1haWwuY29tOm11ZGFyMTIz"
);

curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "DELETE");

curl_setopt($curl, CURLOPT_HEADER, false);

curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);

$response = curl_exec($curl);

$return = json_decode($response);

?>

Deletar produto do Pedido

<?php

$curl = curl_init("https://trackcash.com.br/api/order/1416/123");

$headers = array(
"Content-Type: application/json; charset=utf-8",
"token: dGVzdGVAbWV1ZW1haWwuY29tOm11ZGFyMTIz"
);

curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "DELETE");

curl_setopt($curl, CURLOPT_HEADER, false);

curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);

$response = curl_exec($curl);

$return = json_decode($response);

?>

Tratamento de Erros

<?php

$response = curl_exec($curl);

$code = curl_getinfo($curl, CURLINFO_HTTP_CODE);

$return = json_decode($response);

if($code==200){
      //success
}else{
      //error
}
?>

Códigos de retorno

  • 200 - Sucesso
  • 401 - token inválido
  • 400 - Requisição inválida
  • 404 - Recurso não encontrado
  • 500 - Erro interno no servidor