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.

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.'