npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

n8n-nodes-minery-core

v0.3.1

Published

Community nodes para Minery Core - Gestión de Modelos/Filas con Trigger de webhooks para n8n

Readme

n8n-nodes-minery-core

Community nodes para n8n que integran con Minery Core, permitiendo gestión de modelos de datos, operaciones CRUD sobre filas y recepción de eventos en tiempo real via webhooks.

🚀 Características

  • Credenciales Minery API: Autenticación segura con X-API-Key
  • Minery Modelos: List: Lista modelos de datos con filtros y paginación
  • Minery Filas: CRUD: Operaciones completas sobre filas (Create, Read, Update, List)
  • Minery Fila Trigger: Trigger en tiempo real que se subscribe/unsubscribe automáticamente a webhooks

📦 Instalación

Desde npm (Community Nodes UI)

Si tienes n8n self-hosted con acceso a Community Nodes:

  1. Ve a SettingsCommunity Nodes
  2. Busca n8n-nodes-minery-core
  3. Instala el paquete

Instalación Manual

Para instalaciones self-hosted o en modo queue:

# Navega al directorio de n8n
cd ~/.n8n

# Instala el paquete
npm install n8n-nodes-minery-core

# Reinicia n8n

Desarrollo Local

Para desarrollo y testing:

git clone https://github.com/maromero/n8n-nodes-minery-core.git
cd n8n-nodes-minery-core
npm install
npm run build

⚙️ Configuración

1. Credenciales Minery API

Configura las credenciales con los siguientes campos:

  • Base URL: URL de tu instancia Minery (ej: https://api.minery.com)
  • API Key: Tu clave de API para autenticación X-API-Key (requerido)
  • Webhook Secret: Secret para verificar firmas HMAC de webhooks (opcional)

2. Endpoint Requirements

Tu backend de Minery debe implementar estos endpoints:

Para Modelos:

  • GET /api/v1/modelos-de-datos/list/ - Lista modelos con paginación

Para Filas:

  • POST /api/v1/fila-de-datos/create/ - Crear fila
  • PUT /api/v1/fila-de-datos/update/ - Actualizar fila
  • GET /api/v1/fila-de-datos/list/ - Listar filas
  • GET /api/v1/fila-de-datos/{id}/ - Obtener fila específica

Para Webhooks (Trigger):

  • POST /api/v1/webhooks-n8n/subscribe/ - Suscribir webhook
  • DELETE /api/v1/webhooks-n8n/unsubscribe/ - Desuscribir webhook

🧩 Nodos Disponibles

Minery Modelos: List

Lista modelos de datos con opciones de filtrado y paginación.

Parámetros:

  • Búsqueda por texto
  • Ordenamiento (fecha, nombre, ID)
  • Paginación con opción de obtener todas las páginas
  • Formato de salida (items individuales o array)

Salida: Lista de modelos con metadatos opcionales

Minery Filas: CRUD

Operaciones completas sobre filas de datos.

Operaciones:

  • Crear: Nueva fila con metainformación JSON
  • Actualizar: Modificar fila existente
  • Listar: Filtrar filas por modelo con paginación
  • Obtener: Recuperar fila específica por ID

Parámetros:

  • ID del modelo de datos
  • Metainformación en formato JSON
  • Filtros de búsqueda y ordenamiento
  • Opciones de paginación

Minery Fila Trigger

Trigger que recibe eventos en tiempo real cuando se crean/actualizan filas.

Características:

  • Auto-suscripción: Se subscribe automáticamente al activar el workflow
  • Auto-desuscripción: Se desuscribe al desactivar el workflow
  • Verificación HMAC: Opcional para validar la autenticidad de webhooks
  • Filtros flexibles: Configura qué eventos recibir (create, update, delete)

Parámetros:

  • ID del modelo de datos a monitorear
  • Eventos a escuchar (create, update, delete)
  • Token de identificación opcional
  • Configuración de firma HMAC
  • Filtros personalizados en JSON

🔧 Ejemplos de Uso

Workflow Básico: Sincronizar con CRM

1. Minery Fila Trigger (modelo: clientes, eventos: create, update, delete)
   ↓
2. IF Node (separar por tipo de evento)
   ↓
3a. HTTP Request → Crear cliente en CRM (si event = create)
3b. HTTP Request → Actualizar cliente en CRM (si event = update)
3c. HTTP Request → Eliminar cliente en CRM (si event = delete)

Workflow: Reporte Diario

1. Schedule Trigger (diario a las 9:00)
   ↓
2. Minery Modelos: List (obtener todos los modelos)
   ↓
3. Split In Batches
   ↓
4. Minery Filas: CRUD (operation: list, obtener filas del día anterior)
   ↓
5. Aggregate
   ↓
6. Email Node (enviar reporte)

Workflow: Procesamiento en Tiempo Real

1. Minery Fila Trigger (modelo: pedidos, eventos: create)
   ↓
2. IF Node (verificar si pedido > $1000)
   ↓
3. Slack Node (notificar a ventas)
   ↓
4. Minery Filas: CRUD (operation: update, marcar como "revision_requerida")

🛠️ Desarrollo

Estructura del Proyecto

n8n-nodes-minery-core/
├── credentials/
│   └── MineryApi.credentials.ts
├── nodes/
│   ├── MineryModeloList/
│   │   ├── MineryModeloList.node.ts
│   │   └── minery-modelo.svg
│   ├── MineryFilaCrud/
│   │   ├── MineryFilaCrud.node.ts
│   │   └── minery-fila.svg
│   └── MineryFilaTrigger/
│       ├── MineryFilaTrigger.node.ts
│       └── minery-trigger.svg
├── utils/
│   └── MineryApiRequest.ts
├── package.json
├── tsconfig.json
└── index.ts

Scripts Disponibles

npm run build          # Compilar TypeScript
npm run lint           # Ejecutar ESLint
npm run lint:fix       # Corregir errores de ESLint automáticamente
npm run dev            # Compilar en modo watch
npm test               # Ejecutar tests

Contribuir

  1. Fork el repositorio
  2. Crea una rama para tu feature (git checkout -b feature/nueva-funcionalidad)
  3. Commit tus cambios (git commit -am 'Añadir nueva funcionalidad')
  4. Push a la rama (git push origin feature/nueva-funcionalidad)
  5. Crea un Pull Request

🔐 Seguridad

Verificación de Webhooks

Para mayor seguridad, configura un webhook secret en las credenciales y activa la verificación HMAC en el trigger:

  1. En Credenciales Minery API, establece un Webhook Secret
  2. En tu backend, firma los webhooks con HMAC-SHA256
  3. En el Trigger, activa Usar Firma HMAC

El header esperado es: X-Minery-Signature: sha256=<hash>

Buenas Prácticas

  • Usa HTTPS siempre en producción
  • Rota las API Keys regularmente
  • Monitorea los logs de webhooks para detectar anomalías
  • Implementa rate limiting en tu backend de Minery

📚 API Reference

Estructura de Datos

Modelo de Datos

{
  "id": 123,
  "nombre": "Clientes",
  "descripcion": "Modelo para gestionar clientes",
  "fecha_alta": "2024-01-15T10:30:00Z",
  "activo": true
}

Fila de Datos

{
  "id": 456,
  "modelo_de_datos_id": 123,
  "metainformacion": {
    "nombre": "Juan Pérez",
    "email": "[email protected]",
    "telefono": "+34 600 123 456"
  },
  "fecha_creacion": "2024-01-15T11:00:00Z",
  "fecha_modificacion": "2024-01-15T11:00:00Z"
}

Evento de Webhook

{
  "event": "create",
  "data": {
    "id": 456,
    "modelo_de_datos_id": 123,
    "metainformacion": { ... },
    "fecha_creacion": "2024-01-15T11:00:00Z"
  },
  "timestamp": "2024-01-15T11:00:00Z",
  "token": "mi-token-identificacion"
}

🐛 Solución de Problemas

Error: "Credenciales inválidas"

  • Verifica que la Base URL es correcta (sin barra final)
  • Confirma que el API Key es válido
  • Comprueba que el endpoint /api/v1/modelos-de-datos/list/ responde

Trigger no recibe webhooks

  • Verifica que n8n es accesible desde internet
  • Comprueba que los endpoints de subscribe/unsubscribe funcionan
  • Revisa los logs del workflow para errores de suscripción

Error de firma HMAC

  • Asegúrate de usar la misma clave en credenciales y backend
  • Verifica que el header es X-Minery-Signature: sha256=<hash>
  • Confirma que el hash se calcula sobre el body raw del webhook

📄 Licencia

MIT © Miguel Romero

🆘 Soporte


Construido con ❤️ para la comunidad n8n