Normalizador único/matriz con nombres semánticos derivados del campo padre
Cargando flujo…
Descripción del flujo de trabajo
Flujo autónomo que emite cinco cargas ficticias (objeto único, matriz, null, tipo texto inválido y una donde customer ya es matriz). Un nodo If comprueba Array.isArray(invoice.lines) y enruta a ramas realmente distintas: las matrices pasan por un noOp con su número original, y las únicas se envuelven previamente en matrices de un elemento registrando su forma original. Un nodo Merge en modo append con dos entradas reúne ambas ramas en un motor único de nombres que deriva cada nombre dinámicamente de la clave del campo padre ('invoice_' + key), conserva los escalares en scalars y ordena de forma determinista por payloadId.
Cómo funciona
- 1.Ejecute el disparador manual; el nodo Code emite cinco cargas de prueba
- 2.El nodo If comprueba si invoice.lines es matriz: true pasa por noOp sin cambios, false envuelve previamente los objetos únicos y registra _originalShape (single/missing/invalid)
- 3.Un nodo Merge en modo append con dos entradas (índice 0 y 1) reúne los elementos de ambas ramas
- 4.El motor de nombres deriva nombres semánticos dinámicamente, guarda los escalares en scalars y maneja missing/invalid con seguridad (objetos vacíos)
- 5.El motor ordena por payloadId y un noOp entrega salida unificada ordenada de PL-001 a PL-005
Casos de uso
- Normalizar cargas de webhook que alternan entre objeto único y matriz
- Nomenclatura semántica dinámica de matrices paralelas desde la clave del campo padre
- Validación explícita de tipos con conservación de escalares y ruta segura para cargas ausentes o inválidas y orden determinista
Requisitos
- Sin credenciales; procesamiento local
- Para entrada real: elimine el nodo de muestra y conecte un Webhook con el mismo esquema invoice directamente al nodo If
- La puerta If está fijada a invoice.lines; ajuste la expresión si su ruta difiere — el motor funciona con cualquier campo dentro de invoice. La recolección de ramas usa un nodo Merge en modo append con índices válidos 0 y 1
Configuración y pruebas en n8n
- Importe el JSON en n8n manteniendo active = false
- Ejecute Manual Trigger y revise Unified Output Handoff: cinco elementos ordenados PL-001 a PL-005
- Verifique PL-001 envuelto en matrices de un elemento con id en scalars, PL-002 con número 2 vía la rama de paso, PL-003 con objetos vacíos y missing, PL-004 con invalid e id retenido en scalars, PL-005 pasa customer como matriz de dos y envuelve lines único
- Añada un campo nuevo dentro de invoice para confirmar que el nombre semántico se deriva automáticamente
Valor del servicio
Ideal como servicio de automatización operativa para conectar sistemas, reducir tareas manuales y acelerar la entrega de resultados a clientes o equipos internos.
Aplicaciones utilizadas
Detalles
Cómo usar
- 1.Haz clic en "Descargar plantilla"
- 2.Abre tu panel de n8n
- 3.Ve a Workflows > Import from File
- 4.Selecciona el archivo descargado y configura las credenciales
Nodos utilizados (8)
Manual Trigger
Manual Trigger
Emit Sample Webhook Payloads
Code
Is lines Field an Array?
If
Pass Array Payloads Through
No Op
Pre-Wrap Single Payloads
Code
Collect Both Branches
Merge
Semantic Naming Engine and Sort
Code
Unified Output Handoff
No Op
Stage 1 - Sample Payloads
Sticky Note
Stage 2 - Two-Branch Type Gate
Sticky Note
Stage 3 - Naming, Scalars and Order
Sticky Note
Nuevas automatizaciones, directamente en tu correo
Recibe los nuevos flujos de DROPIDEA, una descripción clara de su utilidad y un enlace para explorarlos.
- Nuevos flujos
- Explicaciones claras
- Guías de configuración