Autenticação

A BSPAY autentica todas as rotas via OAuth2 Bearer (Authorization).

A BSPAY autentica todas as rotas via OAuth2 Bearer (Authorization).


Bearer Token (OAuth2 Client Credentials)

Quatro passos pra ficar autenticado:

  1. Crie uma credencial de API no Dashboard — você recebe client_id e client_secret
  2. Aguarde a ativação pelo administrador da conta
  3. Gere um access token via POST /v2/oauth/token
  4. Envie o token no header Authorization: Bearer {token} em cada requisição

Gerar token

POST /v2/oauth/token

Envie suas credenciais codificadas em Base64 no header Authorization e grant_type=client_credentials no body:

Authorization: Basic {base64(client_id:client_secret)}
Content-Type: application/json
{ "grant_type": "client_credentials" }
cURL
PHP
JavaScript
Python
curl -X POST https://api.bspay.co/v2/oauth/token \
  -H "Authorization: Basic $(echo -n 'SEU_CLIENT_ID:SEU_CLIENT_SECRET' | base64)" \
  -H "Content-Type: application/json" \
  -d '{"grant_type": "client_credentials"}'
Sucesso
401 INVALID_CREDENTIALS
403 IP_BLOCKED_TEMPORARILY
{
  "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
  "expires_in": 3600,
  "meta": {
    "request_id": "93e93fccf4e7413880bb4495",
    "timestamp": "2026-04-04T14:23:37Z"
  }
}

Após 5 tentativas erradas seguidas, o IP é bloqueado por 5 minutos (IP_BLOCKED_TEMPORARILY). Rate limit do endpoint: 30 reqs/min/IP.

Usar o token

Inclua o token em todas as requisições:

Authorization: Bearer eyJhbGciOiJIUzI1NiIs...
curl https://api.bspay.co/v2/account/balance \
  -H "Authorization: Bearer SEU_ACCESS_TOKEN"

Ciclo de vida

PropriedadeValor
Validade1 hora (3600 segundos)
RenovaçãoGere um novo token com as mesmas credenciais
Múltiplos tokensCada chamada a /oauth/token gera um token independente
RevogaçãoTokens expiram automaticamente — não há endpoint de revogação

Esta página foi útil?