CLI en TypeScript para gestionar campañas (newsletters) y listas en Listmonk.
- Node.js 18.17 o superior
npmopnpm- Credenciales de la API de Listmonk (usuario y API key) con permisos para campañas y listas
npm installEsto descarga las dependencias, incluida typescript. Luego compila con:
npm run buildEl binario generado queda en dist/index.js y se puede ejecutar como node dist/index.js ….
Para añadirlo a tu PATH puedes usar npm link o ejecutar el script con npx.
El CLI busca la configuración en variables de entorno o en parámetros de línea:
LISTMONK_BASE_URL– URL base del servidor (https://tu-servidor).LISTMONK_USERNAME– Usuario API (por defectoapi).LISTMONK_API_KEY– API key o contraseña del usuario.LISTMONK_TIMEOUT– Timeout en ms (opcional, por defecto 30000).LISTMONK_RETRY_COUNT– Reintentos ante errores transitorios (opcional, por defecto 3).
Puedes sobreescribir estos valores en cada comando:
listmonk --base-url https://tu-servidor --api-key xxx campaigns listConsulta la ayuda general:
node dist/index.js --helpnode dist/index.js lists --page 1 --per-page 20node dist/index.js campaigns create \
--name "Newsletter abril" \
--subject "Novedades de abril" \
--lists 1 2 \
--body-file contenido.html \
--from-email "equipo@ejemplo.com" \
--content-type html \
--tags mensual destacadosnode dist/index.js campaigns update 42 \
--subject "Nueva versión del subject" \
--send-at "2024-04-20T20:00:00Z"node dist/index.js campaigns schedule 42 --status scheduled --send-at "2024-04-20T20:00:00Z"node dist/index.js campaigns delete 42Establece DEBUG=1 para que en errores de la API se muestre el payload completo del servidor:
DEBUG=1 node dist/index.js campaigns create …- Añadir más comandos (suscriptores, plantillas) reutilizando el cliente HTTP.
- Incorporar pruebas automatizadas y validaciones adicionales en los comandos.
- Empaquetar el CLI como paquete npm para instalación global sencilla.