Documentação para Desenvolvedores

Token de Acesso

Nós recomendamos essa opção se você precisar acessar apenas os dados da sua conta.

Para poder usar a autenticação via Token de Acesso, você precisa pegar o seu Token na página de API (Sandbox) da sua conta.

Acessar -> Ajustes da Conta -> API

tokenapisandbox.PNG

ATENÇÃO O Token é diferente entre Sandbox e sua conta real.

Quando for começar a gerar os boletos em sua conta verdadeira, você deve repetir o procedimento acima e pegar o Token da sua conta real.

A autenticação usando o Token de Acesso é feita via HTTP Basic, porém ao invés de passar o login e senha do usuário, como é tradicional, deve-se fornecer o Token de Acesso do usuário no campo ‘login’ e nada no campo ‘password’. Alguns clientes HTTP podem reclamar do fato do campo ‘password’ estar vazio, nesse caso pode-se informar ‘X’ como senha, que o sistema irá ignorar.

Exemplo de chamada API autenticada (onde “zjuio96wkixkzy6z98sy” é o Token de Acesso do usuário):

Exemplo de token válido

Requisição:
curl -i \
-u $BOLETOSIMPLES_TOKEN:x \
-H 'Content-Type: application/json' \
-H 'User-Agent: MyApp (myapp@example.com)' \
-X GET 'https://sandbox.boletosimples.com.br/api/v1/userinfo'
Resposta:
HTTP/1.1 200 OK
Date: Fri, 17 Oct 2014 18:14:56 GMT
Status: 200 OK
...

{"id":1,"login_url":"https://sandbox.boletosimples.com.br/welcome?email=user%40example.com\\u0026token=xxx","email":"user@example.com","account_type":null,"first_name":null,"middle_name":null,"last_name":null,"full_name":null,"cpf":null,"date_of_birth":null,"mother_name":null,"father_name":null,"account_level":0,"phone_number":null,"address_street_name":null,"address_number":null,"address_complement":null,"address_neighborhood":null,"address_postal_code":null,"address_city_name":null,"address_state":null,"business_name":null,"business_cnpj":null,"business_legal_name":null}
Requisição:
BoletoSimples.configure do |c|
c.access_token = 'valid-access-token'
end

BoletoSimples::Extra.userinfo
Resposta:
{
"id": 1,
"login_url": "https://sandbox.boletosimples.com.br/welcome?email=user%40example.com&token=xxx",
"email": "user@example.com",
"account_type": null,
"first_name": null,
"middle_name": null,
"last_name": null,
"full_name": null,
"cpf": null,
"date_of_birth": null,
"mother_name": null,
"father_name": null,
"account_level": 0,
"phone_number": null,
"address_street_name": null,
"address_number": null,
"address_complement": null,
"address_neighborhood": null,
"address_postal_code": null,
"address_city_name": null,
"address_state": null,
"business_name": null,
"business_cnpj": null,
"business_legal_name": null
}
Requisição:
BoletoSimples::configure(array(
"access_token" => 'valid-access-token'
\));
BoletoSimples\\Extra::userinfo();
Resposta:
Array
\(
\[id\] => 1
\[login_url\] => https://sandbox.boletosimples.com.br/welcome?email=user%40example.com&token=xxx
\[email\] => user@example.com
\[account_type\] =>
\[first_name\] =>
\[middle_name\] =>
\[last_name\] =>
\[full_name\] =>
\[cpf\] =>
\[date_of_birth\] =>
\[mother_name\] =>
\[father_name\] =>
\[account_level\] => 0
\[phone_number\] =>
\[address_street_name\] =>
\[address_number\] =>
\[address_complement\] =>
\[address_neighborhood\] =>
\[address_postal_code\] =>
\[address_city_name\] =>
\[address_state\] =>
\[business_name\] =>
\[business_cnpj\] =>
\[business_legal_name\] =>
\)

Exemplo de token inválido

Requisição:
curl -i \
-u tokeninvalido:x \
-H 'Content-Type: application/json' \
-H 'User-Agent: MyApp (myapp@example.com)' \
-X GET 'https://sandbox.boletosimples.com.br/api/v1/userinfo'
Resposta:
HTTP/1.1 401 Unauthorized
Date: Fri, 17 Oct 2014 18:20:18 GMT
Status: 401 Unauthorized
...

{"error":"Email ou senha inválidos."}
Requisição:
BoletoSimples.configure do |c|
c.access_token = 'tokeninvalido'
end

BoletoSimples::Extra.userinfo
Resposta:
BoletoSimples::ResponseError: 401 GET https://sandbox.boletosimples.com.br/api/v1/userinfo.json (Você precisa se logar ou registrar antes de prosseguir.)
\(See full trace by running task with --trace)
Requisição:
BoletoSimples::configure(array(
"access_token" => 'tokeninvalido'
\));
BoletoSimples\\Extra::userinfo();
Resposta:
Fatal error: Uncaught exception 'BoletoSimples\\ResponseError' with message 'Você precisa se logar ou registrar antes de prosseguir.'