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:
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
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
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
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
Código | Mensagem |
---|---|
4001 |
Nome do produto não pode estar vazio |
4002 |
Nome do produto não pode ter mais de 150 caracteres |