Primeiros Passos

Requisições da API

Antes de prosseguir, certifique-se que leu o tópico Autenticação e Autorização.

Como já foi visto, é preciso estar devidamente autenticado para acessar um recurso.

Nas API's da Asteroide Tecnologia e Pagamentos os recursos podem ser acessados através dos métodos HTTP conforme listados na Tabela 01 a seguir.

Tabela 01 - Métodos HTTP
GET Usado quando se deseja obter um recurso.
POST Usado quando se deseja criar um recurso.
PUT Usado quando se deseja clonar um recurso.

Estrutura de uma URL

Todas as requisições possuem um URL e são compostas pelas seguintes partes, conforme Tabela 02:

Tabela 02 - Partes de uma URL
Protocolo Por exemplo: https:// (utilizado sempre)
Subdomínio Por exemplo: api
Domínio Por exemplo: asteroidetecnologia.com.br
Recurso Por exemplo: /transactions/all
Query Por exemplo: ?start_date=2018-12-28&end_date=2019-01-28
Endpoint Todas as partes acima resultariam, por exemplo, no URL: https://api.asteroidetecnologia.com.br/transactions/all?start_date=2018-12-28&end_date=2019-01-28

Importante

Nas documentações das API's serão passados o URL completo para o endpoint desejado, no entando, pode ser utilizado somente uma parte, como é o caso do URI.

Request Body - JSON

Para requisições que precisam fornecer dados é utilizado JSON em todas as requisições.

Cada API documentada contém exemplos, tal como:

{
  guid: 'GUID_DA_VENDA_AQUI',
  motivo_cancelamento: 'MOTIVO_CANCELAMENTO_AQUI'
}

Para tal é preciso utilizar o cabeçalho HTTP Content-Type: application/json e passar o Request Body JSON para cada endpoint, conforme documentado em cada API disponível no menu principal desta documentação.

Exemplos

Veja alguns exemplos de como realizar uma requisição à API de Transações enviando o Request Body JSON para solicitar o estorno de uma transação.

# certifique-se de ter o comando "curl" instalado \

curl -X POST https://api.asteroidetecnologia.com.br/transactions/refund \
  -H 'Content-Type: application/json' \
  -H 'asteroide-key: SEU_TOKEN_AQUI' \
  -H 'asteroide-pass: SUA_SENHA_AQUI' \
  -d '{
    "guid":"GUID_DA_VENDA_AQUI",
    "motivo_cancelamento": "MOTIVO_CANCELAMENTO_AQUI"
  }'
// certifique-se de ter a extensão php_curl instalada

$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => 'https://api.asteroidetecnologia.com.br/transactions/refund',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_HTTPHEADER => array(
        'Content-Type: application/json',
        'asteroide-key: SEU_TOKEN_ASTEROIDE',
        'asteroide-pass: SUA_SENHA_ASTEROIDE',
    ),
    CURLOPT_POSTFIELDS => json_encode(array(
        'guid' => 'GUID_DA_VENDA_AQUI',
        'motivo_cancelamento' => 'MOTIVO_CANCELAMENTO_AQUI'
    )),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
    echo 'cURL Error #:' . $err;
} else {
    echo $response;
}
// No mesmo diretório do arquivo "package.json"
// npm install --save request

var request = require("request");

var options = {
  method: 'POST',
  url: 'https://api.asteroidetecnologia.com.br/transactions/refund',
  headers: {
    'Content-Type': 'application/json',
    'asteroide-key': 'SEU_TOKEN_ASTEROIDE',
    'asteroide-pass': 'SUA_SENHA_ASTEROIDE'
  },
  json: true
  body :  {
    guid: 'GUID_DA_VENDA_AQUI',
    motivo_cancelamento: 'MOTIVO_CANCELAMENTO_AQUI'
  }
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);
  console.log(body);
});