Introdução

Esta API foi desenvolvida para que você cliente Trackcash, possa analisar seus repasses 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 Pagamentos

<?php

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

$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
  • point_sale (Consulte a tabela)
  • order (Numero do pedido na Loja)
  • mkp_order (Numero do pedido no Marketplace )
$url = "https:// trackcash.com.br/api/payments?date=2018-01-01";

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

$url = "https:// trackcash.com.br/api/payments?point_sale=1";

$url = "https:// trackcash.com.br/api/payments?order=1123456789";

$url = "https:// trackcash.com.br/api/payments?mkp_order=1";

$url = "https:// trackcash.com.br/api/payments?point_sale=1,2,5";

Retorno

O retorno da consulta segue a seguinte estrutura em json:

"data":[{                         // Resultado da Consulta
   "Total":{                         // São as somatórias de todos os dados referentes aos pedidos e repasses na pesquisa realizada
      "total":0.00,                         // Total do Repasse (ja descontando custos, taxas e outros) da consulta realizada
     "shipping":0.00,                         // Total referente a frete
     "withdrawals":0.00,                         // Total referente a retiradas
     "anticipations":0.00,                         // Total de antecipação
     "cost_anticipations":0.00,                         // Total do custo de antecipação
     "comissions":0.00,                         // Comissões cobradas
     "disputes":0.00,                         // Valores em Disputa
     "refundeds":0.00,                         // Valores estornados
     "comissions_refundeds":0.00,                         // valores de comissão estornados
     "others":0.00,                         // Valores ligados
     "filter_order":null,                         // filtro usado em relação a pedidos
     "filter_status":null,                         // filtro usado em reslação a status
     "filter_channel":null                         // Filtro usado para Canais
   },
   "List":[{                         // Lista de Pedidos e Repasse
     "order":[                         // informações referente ao pedido
       "order_id": "91634202912001",                         // Numero do pedido na loja
       "name": "Vtex",                         // ERP,Loja Virtual ou integrador utilizado
       "status": "Entregue",                         // Status do pedido de acordo com ERP/Loja
       "invoice": "239063",                         // Numero de nota fiscal
       "mkp_order_id": "123456798",                         // Numero do pedido no Marketplace
       "mkp_channel": "Magazine Luiza",                         // Marketplace vendido
       "mkp_account": "",                         // Conta do Marketplace usado
       "mkp_status": "Entregue",                         // Status do pedido de acordo com o Marketplace
       "mkp_partial_total": "0.00",                         // valor de venda dos Itens
       "mkp_discount": "0.00",                         // Valor de Desconto
       "mkp_fee": "0.00",                         // Valor de taxas
       "mkp_shipping_customer": "0.00",                         // Valor de Frete pago pelo consumidor
       "mkp_shipping_shopkeeper_payments": "0.00",     //Frete pago pelo lojista ao Marketplace
       "logis_service_value_fulfilled": "0.00",        //Valor pago pelo lojista aos Correios/Transportadora
       "mkp_total": "0.00",                         // Valor total da venda
       "mkp_refunded": "0.00",                         // Valor estronado
       "Product": [{
         "sku": 10,                         // Sku do item vendido (loja)
         "mkp_sku": 10,                         // sku do item vendido (Marktplace)
         "mkp_quantity": 1,                         // quantidade vendida
         "mkp_partial_total": 0.00,                         // valor unitário do produto
         "mkp_total": 0.00                         // valor vendido do grupo do produto
       }]
     ],
     "payments":[                         // Lista de Movimentação Financeira realizados do Pedido acima
     {
       "date": "2018-01-1",                         // Data da Movimentação
       "name": "Vtex",                         // Loja Virtual
       "channel": "Magazine Luiza",                         // Canal de venda
       "account": null,                         // Conta no Canal de venda
       "code": "deposits",                         // Tipo de Movimentação
       "description": "Pagamento",                         // Descrição da Movimentação
       "value": "0.00"                         // Valor
     }
     ]
   }]
}],
"link":{                         // Link da paginação
   "first":"http:\/\/trackcash.com.br\/api\/payments?page=1",                         // primeira página
   "last":"http:\/\/trackcash.com.br\/api\/payments?page=1",                         // ultima página
   "prev":null,                         // página anterior
   "next":null                         // proxima página
},
"meta":{                         // Dados da paginação
   "current_page":1,                         // Página atual
   "from":1,                         // Página inicial
   "last_page":1,                         // Página final
   "path":"http:\/\/trackcash.com.br\/api\/payments",
   "per_page":50,                         // Itens por página
   "to":1,                         // index do item inicial da página
   "total":1                         // total de itens na consulta
}
}

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