Integração de APIs REST com Python
APIs REST são o padrão de facto para integração de sistemas modernos. Neste guia, você aprenderá como integrar APIs REST de forma robusta, segura e escalável usando Python.
Autenticação e Segurança
A autenticação é fundamental. Existem várias estratégias:
- API Keys: Simples, mas menos seguro para dados sensíveis
- OAuth 2.0: Padrão de indústria para delegação de acesso
- JWT (JSON Web Tokens): Tokens auto-contidos e criptografados
Rate Limiting e Retry Logic
Servidores frequentemente implementam rate limiting. Uma estratégia robusta inclui:
- Respeitar headers
X-RateLimit-* - Implementar exponential backoff para retries
- Usar circuit breakers para falhas persistentes
Tratamento de Erros
Nem toda requisição vai suceder. HTTP status codes indicam o tipo de erro:
- 2xx: Sucesso
- 4xx: Erro do cliente (valide dados)
- 5xx: Erro do servidor (retry com backoff)
Exemplo Prático
import requests
from requests.adapters import HTTPAdapter
from requests.packages.urllib3.util.retry import Retry
def criar_sessao_com_retry():
sessao = requests.Session()
retry_strategy = Retry(
total=3,
status_forcelist=[429, 500, 502, 503, 504],
method_whitelist=["HEAD", "GET", "OPTIONS"]
)
adapter = HTTPAdapter(max_retries=retry_strategy)
sessao.mount("http://", adapter)
sessao.mount("https://", adapter)
return sessao
# Usar com autenticação
headers = {
"Authorization": "Bearer seu_token_aqui",
"Content-Type": "application/json"
}
sessao = criar_sessao_com_retry()
resposta = sessao.get("https://api.exemplo.com/dados", headers=headers)
Melhores Práticas
- Sempre valide respostas JSON antes de processar
- Registre erros e requisições para debugging
- Implemente timeouts para evitar hang
- Use environment variables para tokens e secrets
- Teste com mocks antes de integrar com API real
A integração de APIs é uma habilidade essencial. Com as práticas acima, você estará preparado para integrar qualquer API REST com segurança e confiabilidade.
← Back to blog