Esta API expõe, em JSON, os mesmos dados que aparecem nas telas internas de Vendas Mensais, Estoque Mínimo e Campanhas de Revendas do CRM. Foi criada para alimentar ferramentas externas de leitura e análise (ex.: integração do Marketing) — ela não grava, altera nem apaga nada no sistema.
| Base URL | https://crm.medformula.app |
| Formato | JSON |
| Métodos | Somente GET |
| Endpoints | 3 (vendas mensais, estoque mínimo, campanhas) |
O que esta API não faz
— Não aceita POST, PATCH ou DELETE
— Não expõe dados de login, comissão de colaboradores ou financeiro
— Não precisa (nem aceita) usuário/senha do CRM
Toda requisição precisa do header X-Api-Key com a chave fornecida separadamente pela equipe de TI (ela não está nesta página — é um segredo, enviado por canal direto a quem for consumir a API).
Requisição sem a chave, ou com uma chave errada, recebe 401 Unauthorized.
Vendas de produtos de revenda, por produto × filial × mês. Vem acompanhada de duas listas auxiliares — indicação de Fórmula e totais por filial — que são dados por filial, não por produto.
indicacoes_formula e totais_filial são contados uma vez por filial e mês. Se forem somados produto a produto, o número duplica (o mesmo valor da filial aparece repetido em cada produto vendido ali).
Campo vendas[]
| Campo | Descrição |
|---|---|
| cdpro | Código do produto |
| nome, linha | Nome do produto e linha (categoria do catálogo) |
| cdfil, filial | Código e nome da filial |
| ano_mes | Mês de referência, formato AAAA-MM |
| quantidade | Unidades vendidas no mês |
| qtd_cli | Clientes distintos que compraram esse produto, nessa filial, nesse mês |
| valor | Valor líquido vendido (R$) |
| situa | A ativo ou I inativo no catálogo |
Campo indicacoes_formula[]
| Campo | Descrição |
|---|---|
| cdfil | Código da filial |
| ano_mes | Mês de referência |
| clientes | Clientes distintos indicados pela Fórmula que compraram revenda, naquela filial e mês |
Campo totais_filial[]
| Campo | Descrição |
|---|---|
| cdfil, filial | Código e nome da filial |
| ano_mes | Mês de referência |
| clientes | Clientes distintos da filial no mês (toda a revenda, não só um produto) |
| quantidade, valor | Total vendido na filial no mês |
{
"status": "ok",
"vendas": [
{ "cdpro": 10542, "nome": "COLAGENO HIDROLISADO 300G", "linha": "B",
"cdfil": 1, "filial": "MATRIZ", "ano_mes": "2026-09",
"quantidade": 84.0, "qtd_cli": 76, "valor": 7392.40, "situa": "A" }
],
"indicacoes_formula": [
{ "cdfil": 1, "ano_mes": "2026-09", "clientes": 1937 }
],
"totais_filial": [
{ "cdfil": 1, "filial": "MATRIZ", "ano_mes": "2026-09",
"clientes": 2453, "quantidade": 2888.0, "valor": 280457.0 }
]
}
Estoque mínimo recomendado por produto de revenda, calculado pela média de venda dos últimos 3 meses completos, com a quebra por filial.
| Campo | Descrição |
|---|---|
| cdpro, nome, linha, unid | Identificação do produto |
| situa | A ativo ou I inativo |
| m0_qtd | Vendido no mês atual (em andamento — informativo, não entra na média) |
| m1_qtd, m2_qtd, m3_qtd | Vendido em cada um dos últimos 3 meses completos |
| media_qtd | Média mensal de venda (m1+m2+m3) ÷ 3 |
| estoque_minimo | Estoque mínimo recomendado = media_qtd |
| estoque_minimo_2_meses | Estoque mínimo para 2 meses = media_qtd × 2 |
| ponto_pedido | Ponto de pedido = media_qtd ÷ 2 |
| est_min_manual | Valor ajustado manualmente pelo operador, quando existir (null se não houver ajuste — usar estoque_minimo nesse caso) |
| producao_tipo | Ex.: "Saiu de Linha" quando o produto foi descontinuado |
| filiais[] | Mesma venda (m1/m2/m3/média) quebrada por filial |
{
"status": "ok",
"produtos": [
{ "cdpro": 10542, "nome": "COLAGENO HIDROLISADO 300G", "linha": "B", "situa": "A",
"m0_qtd": 31.0, "m1_qtd": 79.0, "m2_qtd": 84.0, "m3_qtd": 71.0,
"media_qtd": 78.0, "estoque_minimo": 78.0, "estoque_minimo_2_meses": 156.0,
"ponto_pedido": 39.0, "est_min_manual": null, "producao_tipo": "",
"filiais": [{ "cdfil": 1, "filial": "MATRIZ", "media_qtd": 32.0 }] }
]
}
Lista de campanhas de revenda (mês, período, status) com os produtos e metas de cada uma, agrupados por sub-categoria.
| Campo | Descrição |
|---|---|
| id, nome | Identificação da campanha |
| tipo | Ex.: Produto do Mês, Produto Sazonal, Lançamento, Trimestre |
| dt_inicio, dt_fim | Período da campanha |
| status | Planejada, Ativa ou Encerrada |
| obs, criado_por | Observação livre e quem criou |
| produtos[].categoria | Sub-categoria dentro da campanha (ex.: "Produtos do Caixa") |
| produtos[].meta_qtd | Meta de unidades vendidas |
| produtos[].desconto_valor | Desconto em R$ aplicado |
| produtos[].meta_pct | Meta em % acima da média de venda |
{
"status": "ok",
"campanhas": [
{ "id": 6, "nome": "Campanha Dezembro/2026", "tipo": "PRODUTO DO MÊS",
"dt_inicio": "2026-12-01", "dt_fim": "2026-12-31", "status": "Planejada",
"obs": "", "criado_por": "NATALIA FRANCISCA...",
"produtos": [
{ "cdpro": 10542, "nome": "COLAGENO HIDROLISADO 300G", "linha": "B",
"categoria": "PRODUTO DO MÊS", "meta_qtd": 100.0, "desconto_valor": 5.0, "meta_pct": 20.0 }
] }
]
}
| Código | Situação |
|---|---|
| 200 | Requisição atendida normalmente |
| 401 | Header X-Api-Key ausente ou com valor incorreto |