msalerts

n8n node for MSAlerts API integration

Package Information

Released: 4 mo ago
Downloads: 5 weekly / 312 monthly
Latest Version: 0.1.1
Author: MayanSource

Available Nodes

Documentation generating…

Documentation

n8n-nodes-msalerts

Nodo comunitario de n8n para enviar mensajes, archivos, ubicaciones y audio a través de MSAlerts API.

Qué hace

Este paquete expone un nodo MSAlerts y una credencial MSAlerts API.

El nodo permite escoger entre dos versiones de API:

  • Nueva API
  • API Legacy

La selección se hace desde la propia configuración del nodo.

Endpoints

Nueva API

Usa msalerts.com como dominio principal.

  • Mensajes directos: https://api.msalerts.com/api/v1/client/messages/send
  • Compatibilidad y multimedia: https://api.msalerts.com/api/sendMessage

Encabezado:

  • x-api-key: <tu_api_key>

API Legacy

Mantiene el comportamiento anterior sobre el dominio legado.

Endpoint:

https://api.msalerts.mayansource.com/api/sendMessage

Encabezado:

  • X-API-Key: <tu_api_key>

Operaciones

1. Enviar Mensaje (V2)

Envía un mensaje de texto con:

  • phone
  • token
  • message

Nueva API

Payload enviado a la API:

  • device_id
  • contact_phone
  • body

API Legacy

Payload enviado a la API:

  • phone
  • messageType: 1
  • token
  • chat

2. Enviar Archivo

Envía un archivo en Base64 con:

  • phone
  • token
  • mediaBase64
  • fileName
  • fileCaption opcional
  • mimeType

Si eliges Personalizado, el valor final sale de customMimeType.

Nueva API

Payload enviado a la API:

  • device_id
  • contact_phone
  • body opcional
  • messageType: 2
  • media_base64
  • file_name
  • mime_type

Sirve para archivos, imágenes y otros binarios que la API acepte como multimedia.

API Legacy

Payload enviado a la API:

  • phone
  • messageType: 2
  • token
  • media_base64
  • file_name
  • file_caption
  • mimetype

3. Enviar Ubicación

Envía una ubicación con:

  • phone
  • token
  • latitude
  • longitude
  • locationName opcional

Nueva API

Payload enviado a la API:

  • device_id
  • contact_phone
  • messageType: 3
  • latitude
  • longitude
  • location_name

API Legacy

Payload enviado a la API:

  • phone
  • messageType: 3
  • token
  • latitude
  • longitude
  • location_name

4. Enviar Audio

Tiene dos modos de entrada:

  • Binario (multipart/form-data)
  • Base64 (JSON)

Nueva API

Ambos modos terminan enviando JSON con:

  • device_id
  • contact_phone
  • body opcional
  • messageType: 4
  • media_base64
  • file_name
  • mime_type

El modo binario se convierte internamente a Base64 para mantener la compatibilidad con la API nueva.

API Legacy

Audio en JSON/Base64

Usa:

  • phone
  • token
  • audioMediaBase64
  • audioFileName
  • audioFileCaption opcional

Payload enviado a la API:

  • phone
  • messageType: 4
  • token
  • file_caption
  • media_base64
  • file_name

Audio binario

Usa:

  • phone
  • token
  • audioBinaryProperty
  • audioMimeType
  • audioBinaryFileName opcional
  • audioFileCaption opcional

El nodo toma el binario desde la propiedad indicada en n8n, lo convierte a buffer y lo envía como multipart/form-data con el campo:

  • media_file

Payload multipart enviado a la API:

  • phone
  • token
  • messageType: 4
  • file_caption
  • media_file

Credencial

La credencial requerida es MSAlerts API.

Campos:

  • apiKey

Salida

Cada item procesado retorna siempre un objeto JSON, incluso si la API responde con 4xx o 5xx.

Estructura de salida:

  • apiVersion
  • success
  • operation
  • phone
  • statusCode
  • response
  • error
  • timestamp

Si la API responde con error HTTP, el nodo no lanza excepción por el código de estado: devuelve el status y el cuerpo para inspección.

Requisitos

  • Node.js compatible con n8n
  • n8n instalado con soporte para nodos comunitarios o como paquete local
  • Credencial válida de MSAlerts API

Desarrollo

npm install
npm run dev

Build

npm run build

Publicación

El paquete publica el contenido compilado desde dist/.

Release automatizado

El repositorio incluye un workflow en .gitea/workflows/publish.yml que:

  • compila el paquete con npm run build
  • publica en npm con npm publish

En este repositorio privado el workflow real está en el directorio de workflows del servidor Git privado y también soporta ejecución manual.

Requisitos para publicar:

  • crear y subir un tag como v1.0.1
  • mantener package.json con la versión que quieras publicar
  • configurar el secreto NPM_TOKEN en el servidor Git
  • para un run manual, activar la variable de repo PUBLISH_NPM=true

Publicación manual a npm

Si prefieres publicar directo desde tu máquina o servidor, usa:

./publish-npm.sh

El script:

  • instala dependencias
  • compila el paquete
  • publica en npm usando NPM_TOKEN

Flujo recomendado:

npm version patch
git push --follow-tags

Si la versión necesita un salto mayor, usa npm version minor o npm version major.

Discussion