Introdução

Esta API foi desenvolvida para que você cliente Trackcash, possa enviar os seus produtos 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 produtos

<?php

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

$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);

?>

Cadastro de produtos

Definindo o body (json)

Observação: Pesos sao considerados em gramas e medidas em centimetros.

<?php
$body = ' {
 "products": [
   {
        "product_id": "123456",
        "name": "exemplo name - exemplo",
        "category": "cozinha",
        "image": "url_image",
        "sku": "48132546",
        "status": "1",
        "price_cost": "45.98",
        "price": "60.52",
        "quantity": "89",
        "model": "model_exemplo",
        "brand": "brand_exemplo",
        "weight": "45.00",
        "length": "89.00",
        "height": "500.00",
        "width": "80.55",
        "marketplace":[
          {
            "point_sale": "4",
            "name": "exemplo name mkp - exemplo",
            "category": "cozinha",
            "image": "url_image_mkp",
            "mkp_sku": "785413545",
            "status": "1",
            "price_cost": "45.88",
            "price": "50.56",
            "quantity": "45",
            "model": "model_exemplo",
            "brand": "brand_exemplo",
            "weight": "45.00",
            "length": "89.00",
            "height": "500.00",
            "width": "80.55"
          }
        ]
    }
]}
'; ?>

Requisição (post)

<?php

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

$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 produtos

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

<?php
$body = ' {
 "products": [
   {
        "product_id": "123456",
        "status": "0",
    },
   {
        "products_id": "7891011",
        "price_cost": "450.12",
  }
]}
'; ?>

Requisição (put)

<?php

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

$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 um produto especifico

<?php

$curl = curl_init("https://trackcash.com.br/api/products/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 um produto

<?php

$curl = curl_init("https://trackcash.com.br/api/products/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);

?>

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