Skip to content

antoniolg/listmonk-cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Listmonk CLI

CLI en TypeScript para gestionar campañas (newsletters) y listas en Listmonk.

Requisitos

  • Node.js 18.17 o superior
  • npm o pnpm
  • Credenciales de la API de Listmonk (usuario y API key) con permisos para campañas y listas

Instalación

npm install

Esto descarga las dependencias, incluida typescript. Luego compila con:

npm run build

El 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.

Configuración

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 defecto api).
  • 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 list

Uso

Consulta la ayuda general:

node dist/index.js --help

Listas

node dist/index.js lists --page 1 --per-page 20

Crear campaña

node 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 destacados

Actualizar campaña

node dist/index.js campaigns update 42 \
  --subject "Nueva versión del subject" \
  --send-at "2024-04-20T20:00:00Z"

Programar/enviar campaña

node dist/index.js campaigns schedule 42 --status scheduled --send-at "2024-04-20T20:00:00Z"

Eliminar campaña

node dist/index.js campaigns delete 42

Depuración

Establece DEBUG=1 para que en errores de la API se muestre el payload completo del servidor:

DEBUG=1 node dist/index.js campaigns create …

Próximos pasos sugeridos

  • 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.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published