Reducir registros JSON a campos permitidos mediante Webhook seguro
Los registros JSON entrantes se reducen automáticamente a los campos permitidos mediante un filtrado por webhook seguro. El proceso valida las entradas, elimina los campos no permitidos y devuelve registros depurados junto con estadísticas de los campos eliminados. Las entradas incorrectas reciben mensajes de error claros. Es una solución ideal para desarrolladores, gestores de datos e integradores que necesitan preparar datos estructurados para exportaciones, APIs o sistemas externos de forma automatizada.
La filtración automatizada de registros JSON entrantes se realiza mediante un webhook POST según una lista de campos permitidos. El flujo verifica la validez de las entradas: se requieren arrays no vacíos para records y allowedFields, no debe haber nombres de campos prohibidos y todos los registros deben ser objetos. Se eliminan todos los campos no permitidos de cada registro. El resultado incluye los registros depurados, el número de campos eliminados y el total de registros. Las entradas incorrectas reciben una respuesta con mensaje de error claro y estado 'error'. Esta solución es adecuada para desarrolladores, gestores de datos e integradores que necesitan preparar datos para exportaciones, interfaces o sistemas externos de forma automatizada. La autenticación del webhook debe configurarse aparte en n8n para evitar accesos no autorizados. Los datos de ejecución se almacenan en n8n y deben gestionarse adecuadamente. La lista de campos es estática por solicitud pero puede ajustarse de forma flexible. El flujo es de uso universal, pero no realiza validación completa de API ni transformaciones; solo se conservan los campos permitidos sin otras comprobaciones o conversiones.
Imagen generada con IA
Instalación
1. Importe el JSON del flujo en n8n.
2. Verifique el nodo Webhook y ajuste la ruta si es necesario.
3. Inicie el listener de prueba en el flujo y copie la URL de prueba mostrada.
4. Configure la autenticación del webhook en n8n (por ejemplo, Basic Auth o encabezados) para evitar accesos no autorizados.
5. Envíe una solicitud POST con Content-Type application/json a la URL de prueba usando herramientas como curl o Postman (ver ejemplo de uso).
6. Verifique el resultado. En caso de éxito, se devolverán los registros filtrados y estadísticas; en caso de error, un mensaje estructurado.
7. Tras la prueba exitosa, publique/active el flujo y utilice la URL de producción del nodo Webhook.
8. Opcional: configure la retención de datos de ejecución y permisos de acceso en n8n.
Uso
1. Envíe una solicitud POST con el siguiente JSON a la URL del webhook:
```json
{
"records": [
{"id": 1, "name": "Max", "email": "max@example.com", "role": "admin"},
{"id": 2, "name": "Anna", "email": "anna@example.com", "role": "user"}
],
"allowedFields": ["id", "name"]
}
```
Respuesta esperada:
```json
{
"status": "success",
"filteredRecords": [
{"id": 1, "name": "Max"},
{"id": 2, "name": "Anna"}
],
"removedFieldCount": 4,
"recordCount": 2
}
```
Estado HTTP: 200
2. Para entradas inválidas (por ejemplo, campos faltantes o tipos incorrectos):
```json
{
"records": [],
"allowedFields": ["id"]
}
```
Respuesta:
```json
{
"status": "error",
"message": "records und allowedFields müssen nicht-leere Arrays sein."
}
```
Estado HTTP: 200
3. La autenticación del webhook debe activarse por separado en n8n. Sin autenticación, el endpoint es accesible públicamente.
4. Los nombres de campos en allowedFields no deben contener cadenas vacías ni nombres reservados como '__proto__'.
5. Los datos de ejecución se almacenan en n8n y deben gestionarse regularmente.
Conexiones y APIs necesarias
Conexiones API
No se detectaron credenciales API guardadas en el JSON del workflow. Aun así, revisa webhooks, sistemas de destino, credenciales y protección de datos antes de activarlo.
Nodos
WebhookCodeRespond to Webhook
Prueba funcional aislada superada
Prueba funcional aislada opcional
El flujo de datos aislado se probó sin servicios externos ni credenciales.
✓ Caso normal con datos completosComprueba el flujo estándar completo con datos de ejemplo válidos.Prueba funcional aislada superada✓ Variante o caso límiteComprueba una variante válida o un caso límite importante.Prueba funcional aislada superada✓ Regla de procesamiento adicionalComprueba la regla de procesamiento funcional adicional de este flujo.Prueba funcional aislada superada✓ Entrada no válida o incompletaComprueba que los datos no válidos o incompletos se rechacen de forma controlada.Prueba funcional aislada superada✓ Entrada vacíaComprueba que una solicitud vacía reciba una respuesta controlada.Prueba funcional aislada superada