API de Transações

Criar Transação Boleto

Antes de prosseguir, certifique-se que leu todos os tópicos seção Primeiros Passos.

Estrutura

Para criar uma transação de boleto é utilizada a estrutura, conforme Tabela 01:

Tabela 01 - Criar Transação Boleto
Método POST
URL https://api.asteroidetecnologia.com.br
Recurso /transactions/create
Endpoint https://api.asteroidetecnologia.com.br/transactions/create

Request Body - JSON

Para criar uma transação com o boleto é preciso enviar o Request Body JSON, conforme exemplo:
(em seguida veja o que cada parâmetro significa).

{
  "tipo": "boleto",
  "venda_id": "99999",
  "identificador": "99999",
  "valor_total": "100.00",
  "dias_vencimento" : "10",
  "comprador": {
    "nome": "John Doe",
    "documento": "12345678909",
    "email": "johndoe@gmail.com",
    "ddd": "11",
    "telefone": "987654321",
    "logradouro": "Av. Paulista",
    "numero": "1",
    "complemento": "CJ 222",
    "bairro": "Bela Vista",
    "cidade": "São Paulo",
    "estado": "SP",
    "cep": "01234567"
  },
  "products": {
    "code": "123456789",
    "name": "Nome do Produto",
    "value": "100.00",
    "amount": "1"
  }
}

Parâmetros

Tabela 02 - Parâmetros Criar Transação Boleto
Parâmetro Padrão Descrição
tipo:String not null O tipo da transação, que neste caso é boleto
venda_id:String not null Um código interno de sua aplicação que você precisa associar à transação
identificador:String not null O mesmo que venda_id
dias_vencimento:Integer 2 O total de dias úteis para o boleto vencer
valor_total:Float not null O valor da transação
data_desconto:String null A data do desconto. Formato YYYY-MM-DD
mensagem_desconto:String null A mensagem para o desconto
multa:Integer 0 A multa do boleto. Formato 99900 onde 9 são para inteiros e 0 para decimais. Ex 5545 seria o mesmo que 55.45
juros:Integer 0 Os juros do boleto. Formato 99900 onde 9 são para inteiros e 0 para decimais. Ex 5545 seria o mesmo que 55.45
comprador.nome:String not null O nome do comprador
comprador.documento:String not null O documento do comprador (CPF ou CNPJ)
comprador.email:String null O e-mail do comprador
comprador.ddd:Integer null O DDD do telefone do comprador
comprador.telefone:Integer null O telefone do comprador
comprador.logradouro:String null O logradouro do endereço do comprador. Exemplo: Rua da Consolação, Avenida Paulista, Praça Dom Gaspar, etc.
comprador.numero:String null O número do endereço do comprador
comprador.complemento:String null O complemento do endereço do comprador. Exemplo: Casa 1, Apto 2, Sala 3, etc.
comprador.bairro:String null O bairro do endereço do comprador
comprador.cidade:String null A cidade do endereço do comprador
comprador.estado:String null A UF do estado do endereço do comprador. Ex. SP, SC, RS, RJ, etc.
comprador.cep:String null A CEP do endereço do comprador
products.code:String null Código do produto
products.name:String null Nome do produto
products.value:Float null Valor unitário
products.amount:Integer null Quantidade

Exemplos

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

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

curl -X POST https://api.asteroidetecnologia.com.br/transactions/create \
  -H 'Content-Type: application/json' \
  -H 'asteroide-key: SEU_TOKEN_AQUI' \
  -H 'asteroide-pass: SUA_SENHA_AQUI' \
  -d '{
  "tipo": "boleto",
  "venda_id": "99999",
  "identificador": "99999",
  "valor_total": "100.00",
  "dias_vencimento": "10",
  "comprador": {
    "nome": "John Doe",
    "documento": "12345678909",
    "email": "johndoe@gmail.com",
    "ddd": "11",
    "telefone": "987654321",
    "logradouro": "Av. Paulista",
    "numero": "1",
    "complemento": "CJ 222",
    "bairro": "Bela Vista",
    "cidade": "São Paulo",
    "estado": "SP",
    "cep": "01234567"
  },
  "products": {
    "code": "123456789",
    "name": "Nome do Produto",
    "value": "100.00",
    "amount": "1"
  }
}'
// 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/create',
    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(
        'tipo' => 'boleto',
        'venda_id' => '99999',
        'identificador' => '99999',
        'valor_total' => '100.00',
        'dias_vencimento' => '10',
        'comprador' => array(
            'nome' => 'John Doe',
            'documento' => '12345678909',
            'email' => 'johndoe@gmail.com',
            'ddd' => '11',
            'telefone' => '987654321',
            'logradouro' => 'Av. Paulista',
            'numero' => '1',
            'complemento' => 'CJ 222',
            'bairro' => 'Bela Vista',
            'cidade' => 'São Paulo',
            'estado' => 'SP',
            'cep' => '01234567'
        ),
        'products' => array(
            'code' => '123456789',
            'name' => 'Nome do Produto',
            'value' => '100.00',
            'amount' => '1'
        )
    )),
));

$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/create',
  headers: {
    'Content-Type': 'application/json',
    'asteroide-key': 'SEU_TOKEN_ASTEROIDE',
    'asteroide-pass': 'SUA_SENHA_ASTEROIDE'
  },
  json: true
  body :  {
    tipo: "boleto",
    venda_id: "99999",
    identificador: "99999",
    valor_total: "100.00",
    dias_vencimento: "10",
    comprador: {
      nome: "John Doe",
      documento: "12345678909",
      email: "johndoe@gmail.com",
      ddd: "11",
      telefone: "987654321",
      logradouro: "Av. Paulista",
      numero: "1",
      complemento: "CJ 222",
      bairro: "Bela Vista",
      cidade: "São Paulo",
      estado: "SP",
      cep: "01234567"
    },
    products: {
      code: "123456789",
      name: "Nome do Produto",
      value: "100.00",
      amount: "1"
    }
  }
};

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

Retorno JSON - Sucesso

No caso de sucesso você deverá ver algo como:

{
    "http_status": 201,
    "body": {
        "data_vencimento": "2019-01-17",
        "url_boleto": "http://api.asteroidetecnologia.com.br/b/venda.5c3e1f4bd815b3.53778551",
        "numero_boleto": 8,
        "linha_digitavel": "34191.09008 00000.810051 72219.540001 5 77720000010000",
        "tipo": "boleto",
        "guid": "venda.5c3e1f4bd815b3.53778551"
    }
}

Retorno JSON - Erros

Caso o usuário informe algum dado errado será retornado código com uma mensagem de erro.

Verifique as tabelas após este exemplo para conhecer os códigos e mensagens retornados.

{
    "http_status": 400,
    "body": {
        "errors": {
            "2016": "Documento do comprador não pode estar vazio"
        }
    }
}

Tabela códigos e mensagens de erros: transação

Tabela 03 - Códigos e mensagens de erro - transação
Código Mensagem
1001 Identificador não pode estar vazio
1002 Identificador não pode ter mais de 50 caracteres
1003 Valor da Venda não pode estar vazio
1004 Valor da Venda não pode ser igual ou inferior a zero
1005 Tipo de transação inválido. Tipos aceitos: credit ou boleto
1006 Quantidade de Parcelas não pode ser igual ou inferior a zero
1007 Asteroide Key é inválido
1008 GUID inválido
1009 Comprador inválido

Tabela códigos e mensagens de erros: comprador

Tabela 04 - Códigos e mensagens de erros - comprador
Código Mensagem
2001 Nome do comprador não pode estar vazio
2002 Nome do comprador não pode conter mais de 150 caracteres
2003 Documento do comprador não pode conter mais de 50 caracteres
2004 Email do comprador não pode conter mais de 200 caracteres
2005 DDD do telefone do comprador não pode conter mais de 2 caracteres
2006 Número de telefone do comprador não pode conter mais de 15 caracteres
2007 Endereço do comprador não pode conter mais de 100 caracteres
2008 Número do endereço do comprador não pode conter mais de 100 caracteres
2009 Complemento do endereço do comprador não pode conter mais de 100 caracteres
2010 Bairro do endereço do comprador não pode conter mais de 100 caracteres
2011 Cidade do endereço do comprador não pode conter mais de 100 caracteres
2012 Estado do endereço do comprador não pode conter mais de 2 caracteres
2013 CEP do endereço do comprador não pode conter mais de 8 caracteres
2014 GUID inválido
2015 Tipo de documento do comprador deve ser CPF ou CNPJ
  Os campos a seguir são exclusivos para transação de boleto
2016 Documento do comprador não pode estar vazio
2017 Preencha o CPF corretamente
2018 Preencha o CNPJ corretamente
2019 Endereço do comprador não pode estar vazio
2020 Número do endereço do comprador não pode estar vazio
2021 Bairro do endereço do comprador não pode estar vazio
2022 Cidade do endereço do comprador não pode estar vazia
2023 Estado do endereço do comprador não pode estar vazio
2024 CEP do endereço do comprador não pode estar vazio

Tabela códigos e mensagens de erros: produtos

Tabela 06 - Códigos e mensagens de erros: produtos
Código Mensagem
4001 Nome do produto não pode estar vazio
4002 Nome do produto não pode ter mais de 150 caracteres