📘 i-Lúmen · Manual do Usuário v0.4.0
← App

10. Integrações

Permite o i‑Lumen buscar, em sistemas de terceiros, dados associados a uma entidade (hoje a ONU; o motor é preparado para outras, como OLT ou contrato) — por exemplo contrato, nome do cliente, endereço, latitude/longitude, CTO, cidade, plano. A chave de busca é o identificador da entidade (para ONU, o serial).

Tela de Integrações

Tela de Integrações: a lista de integrações cadastradas, com nome, URL, método, autenticação e status.

10.1 A lista

Mostra nome da integração, URL, método (GET/POST), tipo de autenticação, status (ativa/inativa) e a Comunicação com o servidor de destino (ver 10.4).

10.2 Configurar uma integração

O editor é dividido em etapas:

Etapa O que configurar
1 · Conexão Entidade de destino (define onde os dados são gravados), nome, método, timeout, URL (use {key} — para ONU, {serial} também vale), ativa, verificar SSL.
2 · Autenticação Nenhuma / Básica (usuário+senha) / Bearer (token) / Cabeçalho próprio.
3 · Corpo (JSON) Modelo JSON enviado na requisição (qualquer método; pode usar {key}/{serial}).
4 · Mapeamento Liga cada coluna do destino a um campo da resposta (caminho no JSON). A lista de colunas é montada conforme a entidade escolhida.
5 · Teste Dispara uma chamada de exemplo e mostra a resposta e os campos mapeados.

Entidade de destino: é o primeiro campo porque define onde os dados serão gravados (a tabela) e qual chave é enviada à API. Trocar a entidade remonta a lista de colunas do mapeamento. Entidades novas são cadastradas pela equipe (uma linha de registro + a tabela de destino) — sem precisar de uma nova tela ou código.

Mais de uma API na mesma entidade: se um único sistema não traz todas as informações, você pode criar várias integrações para a mesma entidade, cada uma preenchendo as colunas que sabe. A gravação faz mistura por campo — uma integração não apaga o que a outra gravou.

{key} / {serial}: ao consultar, o i‑Lumen substitui {key} pela chave real da entidade (para ONU, o serial; {serial} é mantido como atalho). Pode ir na URL e/ou no Corpo (JSON), inclusive em rotas GET. Sempre rode a etapa 5 · Teste antes de ativar.

Teste sem redigitar o secret: ao editar uma integração já salva, deixe o campo Secret em branco e clique Testar — o i‑Lumen usa o secret guardado (cifrado). Só preencha o Secret de novo se quiser trocá‑lo.

10.3 Quando os dados são buscados e onde ficam

A captação é automática, por eventonão há botão de sincronizar manual. Sempre que a Descoberta Completa de ONU de um OLT termina, o i‑Lumen re‑consulta as integrações ativas para todas as ONUs daquele OLT e atualiza os dados. Assim o enriquecimento acompanha a cadência da descoberta completa, sem depender de clique. O trabalho roda em segundo plano (não atrasa a descoberta) e, por rodar depois da descoberta, os dados sobrevivem à recriação das ONUs.

Os valores são gravados nas colunas mapeadas da tabela de destino (para a ONU, onu_dados_externos), já convertidos ao tipo de cada coluna. Use a etapa 5 · Teste do editor para conferir o mapeamento a qualquer momento, sem gravar nada.

10.4 Quedas e alertas de comunicação

Se o servidor de terceiro fica fora do ar durante a captação, o i‑Lumen não falha em silêncio: ele registra a queda e abre um alerta de falha de comunicação, para que a indisponibilidade do parceiro fique documentada — útil quando há questionamento sobre "falta de informação".

A coluna Comunicação na lista de integrações mostra o estado de cada uma. Passe o mouse sobre o badge para ver os detalhes (incluindo a latência) no tooltip:

Badge Significado
🟢 Comunicando O destino respondeu nas últimas chamadas, dentro do tempo esperado. O tooltip mostra ok/falha em 24h, a última chamada e a latência (p95 / média / máx).
🟡 Lento O destino responde, mas devagar — a latência (p95 das últimas 24h) está acima do limite. Pode indicar dados chegando com atraso.
🔴 Sem comunicação O destino está inacessível (erro de conexão/timeout/DNS/SSL). O tooltip mostra desde quando e o último erro.
Sem dados Nenhuma chamada nas últimas 24h.

O que conta como queda:falha de conectividade (o servidor não respondeu). Um erro pontual de um assinante que não existe no sistema de origem (ex.: HTTP 404 para um serial) não é tratado como queda — a comunicação está funcionando, só aquele registro não foi encontrado.

Latência ("Lento"): mesmo comunicando, um parceiro lento atrasa o enriquecimento. O i‑Lumen acompanha o p95 (e a média/máx) das chamadas bem‑sucedidas nas últimas 24h; acima do limite, o badge fica Lento e é aberto um alerta de atenção. O limite é 3000 ms por padrão e pode ser ajustado em Configurações (chave integracoes_latencia_p95_alerta_ms).

O alerta de queda (erro) e o de lentidão (atenção) aparecem também na Central de Alertas e na Saúde do servidor (Dashboard). Ambos se resolvem sozinhos quando a condição normaliza (na próxima captação em que o destino responder / responder rápido). A janela de cada alerta (início → resolução) é o registro da duração do problema.

10.5 Diagnóstico de conexão

Quando uma integração falha de forma intermitente (ex.: às vezes dá timeout, mas quando conecta vai rápido), nem sempre é óbvio onde está o problema — pode ser DNS, rota/borda de rede, TLS ou o próprio servidor/banco do parceiro. O Diagnóstico de conexão investiga isso por camada e entrega um relatório com o veredito e o que verificar.

Como usar: no editor da integração, na seção Testar, clique em Diagnosticar conexão. Além disso, quando o Testar falha por conectividade (timeout, erro de conexão, DNS ou TLS), o diagnóstico roda sozinho e mostra o relatório logo abaixo.

O diagnóstico faz várias amostras de cada camada (para capturar a intermitência):

Camada O que mede O que indica
DNS Resolve o host e mede o tempo; lista todos os IPs. Lentidão/falha aqui = problema de resolução de nomes.
TCP por IP Várias conexões a cada IP; perda de SYN, RTT e jitter. Perda de SYN com "conecta rápido quando vai" = rota / elemento de borda / firewall / security list.
TLS Handshake e certificado (validade). Falha de TLS com TCP OK = MTU/MSS ou middlebox.
HTTP A requisição real, repetida; tempo e status. Conexão rápida mas HTTP lento/falho = servidor/banco do parceiro, não a rede.
Referência Conexões a IPs públicos estáveis. Diferencia "a saída do seu servidor está instável" de "só o parceiro está instável".

Leitura rápida do veredito: o banner colorido no topo já resume a causa provável (ex.: "Intermitência no estabelecimento TCP — rota/borda" ou "Rede saudável — intermitência no servidor/banco") e lista o que verificar. Use Copiar relatório para enviar ao time de rede ou ao responsável pela API/Oracle.

Importante: rode o diagnóstico durante a falha. Se ele rodar num momento bom, todas as camadas aparecem OK e o veredito será "não capturou o evento" — repita quando o problema estiver acontecendo para flagrar o flapping.

↑ Voltar ao sumário