Skip to main content

Conceitos fundamentais

Este artigo abrange todos os conceitos fundamentais para o uso dos serviços da API REST Oobj. Leia-o com atenção, prepare seu sistema de acordo com as instruções e aproveite ao máximo os serviços disponibilizados.


Autenticação e segurança

A autenticação e autorização na API são gerenciadas por tokens, utilizando o padrão JWT (JSON Web Token). Acesse o artigo Autenticação para encontrar detalhes desse procedimento;

Todas as comunicações com a API devem ser feitas exclusivamente por meio de HTTPS (HyperText Transfer Protocol Secure). O HTTPS criptografa os dados em trânsito e oferece uma camada adicional de segurança, garantindo que suas informações permaneçam privadas e protegidas.


Rate Limit

O Rate Limit é uma medida que limita o número de solicitações que um cliente pode fazer à API, dentro de um determinado período de tempo. Isso garante que a infraestrutura não seja sobrecarregada e que todos os clientes tenham acesso equitativo aos serviços;

Caso exceda o limite de requisições, o endereço IP de origem da requisição será bloqueado temporariamente, e o usuário receberá a seguinte mensagem:

{"message": "Too Many Requests", "error": {"status_code": 429, "retry_after": 300}}

Quando atingir o limite de requisições, sua aplicação deve ser capaz de lidar com isso de maneira eficaz, para que o usuário não seja impactado. Utilize o campo retry_after para saber quanto tempo esperar antes de fazer uma nova requisição.

Perigo

Recomendamos que desenvolvedores implementem lógica de espera e monitoramento para gerenciar as solicitações e respeitar os limites de taxa, para que não tenham problemas com a disponibilidade dos serviços da API.

Abaixo está a relação de módulos, métodos e endpoints com seus respectivos limites:

Autenticação

MétodoEndpointLimite em 5 min.
POST/api/authenticate100
GET/api/me100
GET/api/refresh100

Emissão e recebimento de DFes

MétodoEndpointLimite em 5 min.
POST/api/downloadXml300
POST/api/empresas/{empresa}/docs/{ambiente}/{codModelo}600
PUT/api/empresas/{empresa}/docs/{ambiente}/{codModelo}300
GET/api/empresas/{empresa}/docs/{ambiente}/{codModelo}/{ano}/{serie}/{numero}600
GET/api/empresas/{empresa}/docs/{ambiente}/{codModelo}/{chaveAcesso}600
POST/api/empresas/{empresa}/docs/{ambiente}/{codModelo}/consultaRetornoDFe300

Eventos fiscais

MétodoEndpointLimite em 5 min.
GETTodos300
POSTTodos300
PUTTodos300

Relatórios

MétodoEndpointLimite em 5 min.
POSTTodos100

Regra geral

Qualquer outro endpoint entra nesta regra

MétodoEndpointLimite em 5 min.
TodosTodos1200

Formato de troca de mensagens

O formato para troca de mensagens mais utilizado é o JSON, com exceção dos endpoints de emissão de DFes e Eventos Fiscais, que aceitam outros formatos de envio, de acordo com o layout de integração utilizado.

O tipo de conteúdo retornado pela API varia entre JSON, XML e CSV, dependendo do endpoint utilizado. A codificação dos caracteres é UTF-8.


Códigos de status HTTP

StatusMensagemDescrição
200OKRequisição realizada com sucesso.
201CreatedRecurso criado com sucesso.
401UnauthorizedUsuário não autorizado.
403ForbiddenAcesso proibido.
404Not FoundRecurso não encontrado.
429Too Many RequestsLimite de requisições excedido.

Boas práticas e dicas gerais

  • Evite solicitar um novo token desnecessariamente. O token expira somente depois de 30 (trinta) minutos de inatividade. Você só precisa obter um novo token quando o atual tiver ultrapassado esse tempo. Caso contrario, atualize o token no endpoint GET /refresh;
  • Sempre que receber um erro 401 em algum endpoint, verifique se o token usado não está expirado por meio do endpoint GET /me;
  • Evitar looping é fundamental para a saúde do ambiente, cliente e servidor. Evite laços infinitos de ações para os mesmos registros. Coloque um limitador de envios e um bom monitoramento para não cair no rate limit e receber o erro 429;
  • É recomendado implementar um sistema de cache para armazenar dados que mudam com pouca frequência. Isso pode ajudar a reduzir a carga no servidor e melhorar o desempenho da aplicação.

Próximos passos

Agora que você já está por dentro de todos os conceitos por trás da API e das boas práticas recomendadas, consulte o artigo Como autenticar na API Oobj, para começar a integração com a API REST Oobj.

(62) 3086-5750

Endereço: Rua 111, nº 335, Qd. F35,

Lt. 57 (Esquina com Rua 88) - Setor Sul

Goiânia - GO

CEP: 74085-130

LIGUE

(62) 3086-5750

SUPORTE TÉCNICO

FALE COM A GENTE

LIGAMOS PARA VOCÊ

SOLICITE UM CONTATO

Você bem informado toda semana

Copyright © Oobj 2024 Built with Docusaurus.