SIGMA — Gestão e Tecnologia

API de integração

Endereços para equipamentos e sistemas externos enviarem e consultarem dados do SIGMA PIVÔ.

Autenticação

Toda requisição precisa da chave da conexão no cabeçalho x-conector-chave. A chave é gerada na tela Conexões e aparece uma única vez — guarde-a no equipamento ou serviço. Sem chave válida, ou com a conexão inativa, a requisição é recusada com 401 e o fato fica registrado nos Logs.

curl -X POST https://sigma-pivot.lovable.app/api/public/pivo-conector/telemetria \
  -H "content-type: application/json" \
  -H "x-conector-chave: spc_sua_chave_aqui" \
  -d '{"device_id":"DISPOSITIVO-001","timestamp":"2026-09-16T13:00:00-03:00","water":{"flow_m3_h":320}}'

As consultas (GET) só devolvem dados da propriedade ligada à conexão. Nenhum endereço externo altera ou apaga cadastros: a API só grava leituras de telemetria.

POST/api/public/pivo-conector/telemetria

Recebe uma leitura de um equipamento e grava no SIGMA.

Dados enviados

{
  "device_id": "DISPOSITIVO-001",
  "pivo_id": "PIVO-001",
  "timestamp": "2026-09-16T13:00:00-03:00",
  "status": "online",
  "water":  { "flow_m3_h": 320, "volume_m3": 2560, "pressure_bar": 3.2 },
  "energy": { "power_kw": 46, "energy_kwh": 184, "voltage_v": 380, "current_a": 72 }
}

Resposta esperada

{ "ok": true, "dado_bruto_id": "...", "medicao_id": "...", "aplicado_sigma": true }
POST/api/public/sigma/telemetria-lote

Recebe até 100 leituras de uma só vez (equipamentos que acumulam e enviam depois).

Dados enviados

{ "leituras": [ { ...mesma estrutura da leitura individual... } ] }

Resposta esperada

{ "ok": true, "recebidas": 3, "processadas": 3, "rejeitadas": 0, "resultados": [ ... ] }
GET/api/public/sigma/status

Situação da conexão: dispositivos, dados recebidos e rejeitados no dia.

Resposta esperada

{ "ok": true, "conexao": { ... }, "dispositivos": 2, "recebidos_hoje": 48 }
GET/api/public/sigma/dispositivos

Lista os dispositivos cadastrados para a conexão.

Parâmetros: limite (1 a 500, padrão 100)

Resposta esperada

{ "ok": true, "total": 2, "dispositivos": [ ... ] }
GET/api/public/sigma/pivos

Lista os pivôs já cadastrados no SIGMA (para descobrir os identificadores).

Parâmetros: limite

Resposta esperada

{ "ok": true, "total": 2, "pivos": [ ... ] }
GET/api/public/sigma/medicoes

Consulta as leituras já convertidas para o padrão interno do SIGMA.

Parâmetros: pivo_id · dispositivo_id · desde (data/hora) · ate (data/hora) · limite

Resposta esperada

{ "ok": true, "total": 100, "medicoes": [ { "medido_em": "...", "vazao_m3h": 320, ... } ] }

Onde os dados ficam guardados

  • O conteúdo original de cada envio fica em “Dados Recebidos”, sem nenhuma alteração.
  • A leitura convertida para o padrão interno fica em “Dados Processados”.
  • O resumo do dia alimenta automaticamente os lançamentos de Água e Energia, marcados como “conector” — lançamentos digitados à mão nunca são sobrescritos.
  • Tudo o que acontece (aceito, recusado, erro, acesso) fica em “Logs”, com data e hora.