FAQ

O que é o B3 for Developers?

O B3 for Developers é uma plataforma no qual disponibilizaremos todas as APIs da B3.

Essa plataforma é composta por informações sobre o produto como a documentação técnica que inclui os métodos das APIS e a taxonomia.


Quem pode consumir as APIs do B3 for Developers?

Nossas APIs são exclusivamente destinadas ao consumo de clientes B2B. Não oferecemos acesso direto às APIs para pessoas físicas. Estamos focados em atender empresas e organizações que desejam aproveitar ao máximo nossas soluções tecnológicas.

Se você representa uma empresa e deseja obter acesso às nossas APIs, entre em contato com o seu Gerente de Relacionamento (RM) através do site de clientes da B3. Nossa equipe dedicada está pronta para ajudá-lo(a) a entender melhor as possibilidades oferecidas por nossos serviços e a auxiliá-lo(a) durante todo o processo de integração.


O que você vai encontrar no B3 for Developers?

Este é um espaço dedicado a disponibilização de todas as informações necessárias sobre nossas APIs. Aqui você encontrará documentações completas e atualizadas, as quais o ajudarão a integrar e utilizar nossos serviços de forma eficiente. Ex:

  • Visão Geral - Documentação de negócio sobre o objetivo da API e fluxos de negócio.
  • Regras e Boas Práticas - Regras e boas práticas relacionadas ao bom funcionamento das APIs.
  • HOST - Endereço host de CERTIFICAÇÃO e PRODUÇÃO para acesso as APIs.
  • Modelo de Autenticação - Documentação sobre o modelo de segurança adotado para acessar a API.
  • Change Log - Histórico com as evoluções de cada versão da API, juntamente com a data de certificação e produção
  • Swagger - Arquivo JSON com a especificação da API


Como eu acesso as APIs da B3?

1. Garanta que você tenha o pacote de acesso B3.
2. Consulte a documentação e escolha os endpoints que deseja acessar.
3. Escolha um API client de sua preferência e siga os passos de autenticação e consuma as APIs.


O que é API?

A sigla API tem como origem o termo Application Programming Interface, o que é comumente traduzido para português com Interface de Programação de Aplicação. As APIs tem como objetivo expor através de algum padrão uma funcionalidade de uma aplicação. Ou seja é um conjunto de estratégias que permitem que uma determinada aplicação disponibilize uma funcionalidade para outras aplicações de maneira segura e padronizada.


O que são métodos?

Métodos são as ações permitidas dentro de uma API.


Existe alguma restrição de linguagem para se integrar com a APIs B3?

Não. Qualquer linguagem que possibilite a implementação de chamadas a APIs REST pode ser utilizada.


Como funciona identificação do usuário na API?

As informações que estão no pacote de acesso são utilizadas para identificar o usuário na B3. Por isso, é de extrema importância que sejam armazenadas em local seguro e que apenas pessoas autorizadas tenham acesso.

Acesse o modelo de segurança

  • Para exemplos e definição do modelo de autenticação adotado, consulte a documentação oficial da API


Visão Geral

Este conteúdo apresenta as melhores práticas para consumo das APIs B3, com foco especial em otimizar o processo de autenticação e reduzir chamadas desnecessárias aos endpoints de geração de tokens.


Problema Comum

Muitos clientes realizam uma nova autenticação para cada chamada de API, gerando:

  • ❌ Sobrecarga desnecessária nos servidores de autenticação
  • ❌ Aumento no tempo de resposta das operações
  • ❌ Maior consumo de recursos
  • ❌ Risco de atingir limites de taxa (rate limiting)
  • ❌ Erros como "429 Too Many Requests"

Solução Recomendada

Realize UMA ÚNICA autenticação e reutilize o token obtido para múltiplas chamadas durante o período de validade, frequentemente configurado para 12 horas.


Conceitos Fundamentais

No contexto de segurança e autenticação de APIs, o uso de tokens é uma prática comum para validar e autorizar o acesso de clientes aos recursos. No fluxo OAuth 2.0, cada token de acesso gerado tem um tempo de expiração padrão, frequentemente configurado para 12 horas. Durante esse período, o mesmo token pode e deve ser reutilizado para múltiplas chamadas de API, evitando a necessidade de gerar um novo token para cada requisição.

Evitar a geração frequente de tokens não apenas minimiza a chance de atingir limites de solicitação (Throttling) e erros como "429 Too Many Requests", mas também ajuda a prevenir congestionamento de rede, reduz o impacto na infraestrutura e diminui a poluição de logs. Sempre que possível, implemente o uso de tokens de atualização para obter novos tokens de acesso de maneira eficiente e segura quando os tokens atuais expirarem. Se necessário, o tempo de expiração do token é retornado no campo "expires_in" no response da chamada de token, e também na claim "exp" no payload do JWT.


1. AUTENTIQUE UMA VEZ, USE MÚLTIPLAS VEZES

❌ NÃO FAÇA ISSO (Ineficiente)

  1. Autenticar → Obter Token
  2. Chamar API 1 → Usar Token
  3. Autenticar → Obter Token NOVAMENTE
  4. Chamar API 2 → Usar Token
  5. Autenticar → Obter Token NOVAMENTE
  6. Chamar API 3 → Usar Token

✅ FAÇA ISSO (Eficiente)

  1. Autenticar → Obter Token (1 VEZ)
  2. Chamar API 1 → Usar MESMO Token
  3. Chamar API 2 → Usar MESMO Token
  4. Chamar API 3 → Usar MESMO Token
  5. ...continuar usando até expirar
  6. Renovar Token quando necessário

2. ENTENDA O TEMPO DE VALIDADE DOS TOKENS

Os tokens OAuth 2.0 possuem um tempo de vida (TTL - Time To Live):

Tipo de Token Validade Típica Campo no Response
Access Token 43200 segundos (12 horas) expires_in
Refresh Token Vários dias/semanas refresh_token (quando aplicável)

Exemplo de resposta:

{
"access_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
"token_type": "Bearer",
"expires_in": 43200,
"scope": "api.read api.write"
}

Recomendação:

  • ✅ Renove quando restarem 15-20% do tempo (ex: ~300-600s antes de expirar)
  • ✅ Ou renove quando restarem 5-10 minutos

Observação: Assim como na chamada de Autenticação → Obter Token, na(s) chamada(s) de API, é necessário além de usar o Token também fazê-la com o certificado Mutual SSL (o mesmo que foi usado para obter o token).


Resumo Executivo - 3 Princípios Fundamentais

  1. AUTENTIQUE UMA VEZ
    • Obtenha o token OAuth 2.0 no início
    • Armazene em cache seguro com timestamp
  2. REUTILIZE O TOKEN
    • Use o mesmo token para todas as chamadas
    • Respeite o tempo de validade (expires_in)
  3. RENOVE INTELIGENTEMENTE
    • Renove antes da expiração (buffer de 5-10 min)
    • Implemente retry automático em caso de 401

Lembre-se:

  • Tokens OAuth 2.0 são como bilhetes de entrada válidos por um tempo determinado
  • Você não precisa comprar um novo bilhete a cada vez que usa o serviço
  • Use o mesmo bilhete enquanto ele for válido
  • Renove quando estiver próximo de expirar

Economia de Recursos:

  • Menos chamadas de autenticação = Menos latência
  • Menos latência = Melhor experiência do usuário
  • Melhor experiência = Maior eficiência operacional

Para obter informações referente ao Sandbox acesse o link

Quando uma API é chamada, diferentes códigos de status HTTP são retornados para indicar se a requisição foi bem-sucedido ou se falhou. Veja abaixo a lista.


Códigos HTTP Descrição Descrição detalhada
400 Bad Request Falha na requisição. Algum campo enviado incorretamente.
401 Unauthorized Sem permissão - Falha de autorização
403 Forbidden A requisição se perdeu entre a aplicação e o servidor
404 Not Found Rota não encontrada
422 Unprocessable Entity Erro de negócio, algum campo com informação de negócio incompatível.
429 Too Many Requests Excesso de requisições em um curto espaço de tempo
500 Internal Server Error Dificuldade no processamento da requisição
503 Service Unavailable Serviço fora do ar
504 Gateway Timeout Gateway excedeu o tempo de resposta

Para obter informações referente a Área Logada acesse o link

Fale com um especialista

A B3 conta com um time especializado para tirar todas as suas dúvidas sobre APIs.

Fale Conosco