51 lines
1.4 KiB
Markdown
51 lines
1.4 KiB
Markdown
---
|
|
type: Entity
|
|
layer: wiki
|
|
tags: [stack, dashdescomplicar, backend, integracao, n8n, automacoes]
|
|
title: "Integracao-N8n-API"
|
|
---
|
|
|
|
# Integracao-N8n-API
|
|
|
|
Integração com a API REST do n8n para monitorização de workflows determinísticos. Consulta workflows e execuções e expõe dashboard agregado com cache de 5 minutos.
|
|
|
|
## Responsabilidades
|
|
|
|
- **Workflows**: Listar todos os workflows (activos/inactivos)
|
|
- **Execuções**: Última execução por workflow (status, duração)
|
|
- **Falhas 24h**: Contagem de execuções com erro nas últimas 24h
|
|
- **Cache**: 300 segundos TTL em memória para evitar sobrecarga da API n8n
|
|
|
|
## Stack
|
|
|
|
- **API**: `automator.descomplicar.pt/api/v1` (REST)
|
|
- **Auth**: `X-N8N-API-KEY` header
|
|
- **Cache**: Em memória (objecto, não Redis), 300s TTL
|
|
- **Validação**: Tipos TypeScript (sem Zod)
|
|
|
|
## Tipos
|
|
|
|
- `N8nWorkflow`: id, name, active, last_execution, tags
|
|
- `N8nDashboard`: total, active, inactive, failed_24h, workflows[], last_updated
|
|
|
|
## Rotas
|
|
|
|
| Método | Rota | Função |
|
|
|---|---|---|
|
|
| `GET` | `/api/n8n` | Dashboard agregado |
|
|
|
|
## Localizações
|
|
|
|
- **Código**: `api/services/n8n.ts` (183 linhas), `api/routes/n8n.ts` (24 linhas)
|
|
|
|
## Dependências
|
|
|
|
- **n8n API**: `N8N_API_KEY` e `N8N_API_URL` em `.env`
|
|
- **Express-API**: Rota `/api/n8n`
|
|
|
|
## Fornece a
|
|
|
|
- **Painel-N8n**: Workflows, execuções, falhas
|
|
- **Painel-IA**: Camada 2 (Determinístico) — contagem de workflows
|
|
- **Express-API**: Rota `/api/n8n`
|