Documentação para times de produto e desenvolvedores
Faça sua primeira chamada autenticada em minutos.
Login, refresh token e renovação automática.
Documentação completa dos endpoints V1.
Diferenças, breaking changes e o que melhorou.
Códigos HTTP, retry strategy e debugging.
Limites de requisições e otimizações.
A API Proffer Parceiros é uma interface RESTful desenhada para conectar o motor de IA da Proffer diretamente ao ecossistema do seu ERP de farmácia. O objetivo é automatizar a inteligência de precificação: o ERP envia dados de transações e catálogo de produtos, e a IA da Proffer devolve preços otimizados e recomendações para maximizar margem e competitividade.
Entender o timing da API é essencial. A reprecificação funciona num fluxo cíclico baseado nos dados do dia anterior.
O parceiro/ERP aciona a rota `POST /integracao/transacao` enviando todas as vendas realizadas no dia anterior (ou no dia corrente até a meia-noite). Isso alimenta nossos modelos de elasticidade.
Nossos clusters analisam a nova carga de dados + sinais de mercado (concorrentes) para calcular e recalibrar a curva de preço de cada EAN/Loja.
O ERP aciona a rota `GET /otimizacao/recomendacoes` e sincroniza os preços sugeridos para o PDV da loja antes da abertura.
Autentique, envie produtos e consuma recomendações em Python em 4 passos.
A API usa JWT via AWS Cognito. O access_token expira em 1 hora.
POST /v2/auth/login com e-mail e senha. Retorna access_token, refresh_token e id_token.
Adicione Authorization: Bearer {access_token} em todas as chamadas subsequentes.
Quando receber 401, chame POST /v2/auth/refresh com o refresh_token para renovar.
Implemente verificação de expiração antes de cada chamada para renovar proativamente.
V2 é retrocompatível. V1 continua funcionando.
| Recurso | V1 | V2 |
|---|---|---|
| Resposta | ✗ Formato inconsistente | ✓ Envelope padronizado { success, data, error, pagination } |
| Erros | ✗ Strings variadas | ✓ Erro tipado com code, message, details |
| Autenticação | ✗ 2 módulos duplicados | ✓ Unificada em /v2/auth/ |
| Autorização | ✗ Checagem manual por rota | ✓ @require_roles('admin', 'parceiro_admin') |
| Paginação | ✗ Diferente por endpoint | ✓ Padrão page, per_page, total, total_pages, has_next |
| Validação | ✗ Inexistente | ✓ Validação com erros por campo |
| Health Check | ✗ Inexistente | ✓ GET /v2/health |
Parâmetros inválidos ou campos obrigatórios ausentes. Verifique o payload.
Token ausente, inválido ou expirado. Re-autentique ou use o refresh_token.
Sem permissão para o recurso ou codrede. Verifique acessos do usuário.
Formato correto mas dados semanticamente inválidos (ex: EAN inexistente).
Rate limit atingido. Aguarde e tente com backoff exponencial.
Erro interno na Proffer. Tente novamente ou contate parceiros@proffer.com.br.
Nossa infraestrutura é escalável, mas aplicamos limites de requisição para garantir a disponibilidade a todos os parceiros.
Em caso de status HTTP 429 ou 5xx, use Exponential Backoff. Aguarde 1s, tente, se falhar aguarde 2s, depois 4s, etc.
Não envie 1 requisição POST por produto. Agrupe sua ingestão em arrays de 500 a 1000 itens por request para maior throughput.
O valor da IA se traduz na ponta (o usuário do ERP). Como desenhar sua tela de reprecificação: