← Marketing

API de Revendas

Documentação de integração para leitura de dados
Somente leitura Requer chave de API

Visão Geral

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 URLhttps://crm.medformula.app
FormatoJSON
MétodosSomente GET
Endpoints3 (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

Autenticação

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).

curl https://crm.medformula.app/api/externo/vendas-mensais -H "X-Api-Key: <SUA_CHAVE>"

Requisição sem a chave, ou com uma chave errada, recebe 401 Unauthorized.

Vendas Mensais

GET /api/externo/vendas-mensais

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.

Atenção ao cruzar os dados: 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[]

CampoDescrição
cdproCódigo do produto
nome, linhaNome do produto e linha (categoria do catálogo)
cdfil, filialCódigo e nome da filial
ano_mesMês de referência, formato AAAA-MM
quantidadeUnidades vendidas no mês
qtd_cliClientes distintos que compraram esse produto, nessa filial, nesse mês
valorValor líquido vendido (R$)
situaA ativo ou I inativo no catálogo

Campo indicacoes_formula[]

CampoDescrição
cdfilCódigo da filial
ano_mesMês de referência
clientesClientes distintos indicados pela Fórmula que compraram revenda, naquela filial e mês

Campo totais_filial[]

CampoDescrição
cdfil, filialCódigo e nome da filial
ano_mesMês de referência
clientesClientes distintos da filial no mês (toda a revenda, não só um produto)
quantidade, valorTotal 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

GET /api/externo/estoque-minimo

Estoque mínimo recomendado por produto de revenda, calculado pela média de venda dos últimos 3 meses completos, com a quebra por filial.

CampoDescrição
cdpro, nome, linha, unidIdentificação do produto
situaA ativo ou I inativo
m0_qtdVendido no mês atual (em andamento — informativo, não entra na média)
m1_qtd, m2_qtd, m3_qtdVendido em cada um dos últimos 3 meses completos
media_qtdMédia mensal de venda (m1+m2+m3) ÷ 3
estoque_minimoEstoque mínimo recomendado = media_qtd
estoque_minimo_2_mesesEstoque mínimo para 2 meses = media_qtd × 2
ponto_pedidoPonto de pedido = media_qtd ÷ 2
est_min_manualValor ajustado manualmente pelo operador, quando existir (null se não houver ajuste — usar estoque_minimo nesse caso)
producao_tipoEx.: "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 }] }
  ]
}

Campanhas de Revendas

GET /api/externo/campanhas-revendas

Lista de campanhas de revenda (mês, período, status) com os produtos e metas de cada uma, agrupados por sub-categoria.

CampoDescrição
id, nomeIdentificação da campanha
tipoEx.: Produto do Mês, Produto Sazonal, Lançamento, Trimestre
dt_inicio, dt_fimPeríodo da campanha
statusPlanejada, Ativa ou Encerrada
obs, criado_porObservação livre e quem criou
produtos[].categoriaSub-categoria dentro da campanha (ex.: "Produtos do Caixa")
produtos[].meta_qtdMeta de unidades vendidas
produtos[].desconto_valorDesconto em R$ aplicado
produtos[].meta_pctMeta 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ódigos de Erro

CódigoSituação
200Requisição atendida normalmente
401Header X-Api-Key ausente ou com valor incorreto