Proffer Iconproffer
API Hub
Integração com Clientes Proffer

Envio de dados
via API ou SFTP

Para gerar recomendações de preço, a Proffer precisa receber diariamente o mix de produtos e o histórico de vendas. Isso pode acontecer via API REST (integração direta do ERP) ou via SFTP (o cliente disponibiliza um servidor SFTP com os arquivos CSV; a Proffer conecta e coleta automaticamente).

🔌

Via API REST

O ERP do cliente faz chamadas HTTP diretamente para a API Proffer. Integração em tempo real, ideal para ERPs modernos.

Ver guia da API →
📁

Via SFTP do cliente

O cliente deposita arquivos CSV no seu próprio servidor SFTP. A Proffer conecta diariamente para coletar e processar os dados.

Ver guia SFTP →

Integração via API REST

1

Obter Token

POST /auth/login com suas credenciais para gerar o JWT.

2

Enviar Produtos

POST /integracao/produto diariamente com o mix completo.

3

Enviar Transações

POST /integracao/transacao com as vendas do dia anterior (D-1).

4

Receber Preços

GET /otimizacao/recomendacoes e aplicar no ERP.

Boas práticas

  • Envie produtos e transações diariamente, preferencialmente entre 00:01–06:00h
  • Implemente renovação automática do token (refresh_token) antes de expirar (1h)
  • Use o campo codlojas na resposta para aplicar o preço apenas nas lojas corretas
  • Mantenha histórico dos preços anteriores (7 dias) para rollback em caso de erro
Documentação completa da API →

Integração via SFTP do cliente

Como funciona

1
Cliente deposita os CSVs
O ERP do cliente gera e deposita os arquivos no servidor SFTP que o cliente já possui ou cria.
2
Proffer coleta automaticamente
A equipe Proffer configura a coleta diária do SFTP do cliente (geralmente entre 00:01–06:00h).
3
Processamento e recomendações
Os arquivos são processados e as recomendações de preço ficam disponíveis no painel e na API.

O que o cliente deve compartilhar com a Proffer

Host / IP
ex: sftp.suafarmacia.com.br
Porta
22 (padrão SSH/SFTP)
Usuário
Usuário com permissão de leitura
Autenticação
Senha ou chave SSH pública
Diretório dos arquivos
Ex: /exports/proffer/
Fuso horário do servidor
Para alinhar janela de coleta

Envie as credenciais para parceiros@proffer.com.br. A equipe Proffer configura a coleta e confirma a ativação.

Convenção de nomenclatura dos arquivos

Arquivo de Produtos
produtos_<codrede>_<YYYYMMDD>.csv
Exemplo: produtos_42_20250305.csv
Arquivo de Transações
transacoes_<codrede>_<YYYYMMDD>.csv
Exemplo: transacoes_42_20250305.csv

Campos do arquivo de Produtos (produtos_*.csv)

CampoTipoObrig.ExemploDescrição
codprodutobigintSim5155Código interno do Produto
cnpjtextNão12.345.678/0001-49CNPJ da loja. Recomendamos enviar para facilitar o vínculo.
codlojabigintSim23Código da Loja.
eanbigintSim7891058011222EAN principal
departamentotextSimETICO OTCAgregação máxima dos produtos. Não deve ser preenchido caso o cliente utilize o GC da Proffer.
categoriatextSimDOR E FEBRE OTCSegundo nível de agregação. Não deve ser preenchido caso o cliente utilize o GC da Proffer. Caso tenha GC próprio, e só tenha o nível de departamento, preencher essa coluna com a mesma informação do departamento.
subcategoriatextNãoDOR E FEBRE OTCTerceiro nível de agregação. Não deve ser preenchido caso o cliente utilize o GC da Proffer. Caso tenha GC próprio, e só tenha o nível de categoria, preencher essa coluna com a mesma informação do categoria.
segmentotextNãoANALGESICO OTCQuarto nível de agregação. Não deve ser preenchido caso o cliente utilize o GC da Proffer. Caso tenha GC próprio, e só tenha o nível de subcategoria, preencher essa coluna com a mesma informação do subcategoria.
subsegmentotextNãoANALGESICO OTCQuinto nível de agregação. Não deve ser preenchido caso o cliente utilize o GC da Proffer. Caso tenha GC próprio, e só tenha o nível de segmento, preencher essa coluna com a mesma informação do segmento.
familiaprecotextNãoNOVALGINA 1G 4CPRFamília de preços. Agrupa produtos que devem ter o mesmo preço em uma loja. Caso o Produto não pertencer a uma Família de preços, esse campo será NULO.
descricaotextSimNOVALGINA 1G 4CPRDescrição completa do produto
imprimeetiquetatextSimSImprime etiqueta? (S/N)
custodoubleSim4,82Custo da ultima entrada do produto (Custo Unitário).
customediodoubleSim4,83Custo médio do produto
pmcdoubleSim7,00Preço máximo ao consumidor (unitário). Se o produto não tiver PMC, preencher com NULL.
precoregulardoubleSim5,80Preço regular unitário do produto.
precopromocionaldoubleSim5,30Preço promocional unitário do produto. Se houver preço promocional, enviar.
zonaprecointNão1Se não há diferenciação de preço por loja tudo = 1
zonaprecodescricaotextNãoZONA NORTEDescrição de Zona de Preço.
qtdembalagemintNão6Quantidade de itens dentro da embalagem
unidmedembalagemtextNãoCPRUnidade de medida da quantidade da embalagem
formulacaotextNãoFormulação do produto
estoquebigintSim150Estoque atual do produto em loja

Campos do arquivo de Transações (transacoes_*.csv)

CampoTipoObrig.ExemploDescrição
codprodutobigintSim5155Código interno do Produto
cnpjtextNão12.345.678/0001-49CNPJ da loja. Recomendamos enviar para facilitar o vínculo.
eanbigintSim7891058011222EAN principal
pbmtextSimNÉ PBM? (S/N)
farmaciapopulartextSimNPossui Farmácia Popular? (S/N)
idtipovendabigintSim1ID da venda (1-Regular, 2-Promocional, 3-Queimão/Liquidação, 4-Farmácia Popular, 5-PBM, 6-Devolução, 7-Convênio, 8-Outros).
desctipovendatextNãoRegularDescricao do tipo de venda.
datavendadateSim2025-03-05Data da venda (YYYY-MM-DD)
codlojabigintSim23Código da Loja.
custodoubleSim4,82Custo apurado na venda (Custo Unitário).
pmcdoubleSim7,00Preço máximo ao consumidor (unitário). Se o produto não tiver PMC, preencher com NULL.
precovendadoubleSim5,80Preço unitário efetivo de venda do produto.
qtdvendidabigintSim3Quantidade vendida.
impostosdoubleSim0,43Valor do imposto total cobrado na operação.
faturamentodoubleNão15,47Total da receita da venda (normalmente basta fazer precovenda * qtdvendida - imposto). Porém existem casos como de indenização da indústria que podem alterar esse valor. Caso não seja preenchido, será feito a multiplicação de precovenda*qtdvendida para encontrar o faturamento.
margembrutadoubleNão0,34Margem bruta da operação. Caso não seja preenchida, iremos calcular a margem bruta como (precovenda-custo-impostos)/precovenda.
cidadetextSimSão PauloCidade onde a transação ocorreu.
codcidadeintSim3550308Código IBGE da cidade onde a transação ocorreu.
estadotextSimSPEstado onde a transação ocorreu.
codestadointSim35Código IBGE do estado onde a transação ocorreu.
idtransacaobigintSim48536678ID único da transação
canalvendatextNãoLoja_FisicaQual canal por onde ocorreu a venda.

Exemplos de arquivo CSV

📦 produtos_42_20250305.csv
codproduto,codloja,ean,descricao,imprimeetiqueta,custo,customedio,pmc,precoregular,estoque,departamento,precopromocional
5155,23,7891058011222,NOVALGINA 1G 4CPR,S,4.82,4.83,7.00,5.80,150,ETICO OTC,5.30
67890,23,7891000200204,BUSCOPAN COMPOSTO 10CP,S,15.20,15.35,25.00,22.90,80,ETICO OTC,
11111,24,7891000300305,TYLENOL 750MG 12CP,S,18.00,18.10,28.90,26.50,200,OTC,
💳 transacoes_42_20250305.csv
codproduto,ean,pbm,farmaciapopular,idtipovenda,datavenda,codloja,custo,pmc,precovenda,qtdvendida,impostos,cidade,codcidade,estado,codestado,idtransacao
5155,7891058011222,N,N,1,2025-03-05,23,4.82,7.00,5.80,3,0.43,São Paulo,3550308,SP,35,48536678
67890,7891000200204,S,N,5,2025-03-05,23,15.20,25.00,21.50,1,2.10,São Paulo,3550308,SP,35,48536679
5155,7891058011222,N,N,6,2025-03-05,24,4.82,7.00,5.80,-1,0.43,Campinas,3509502,SP,35,48536680

Frequência de envio

ArquivoFrequênciaJanela idealConteúdo
produtos_*.csvDiário22:00–02:00hMix completo de produtos ativos com custo, customedio, preço e estoque
transacoes_*.csvDiário (D-1)00:01–06:00hTodas as vendas e devoluções do dia anterior

Confirmação de processamento

Após a coleta e processamento bem-sucedido, a Proffer envia uma confirmação por e-mail. Em caso de erro de validação, o time de integração entra em contato com detalhes dos registros com problema.

Precisa de ajuda?

Nossa equipe técnica auxilia na configuração, nos testes de integração e na validação dos primeiros arquivos.

parceiros@proffer.com.brTestar no Playground