Package Information
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 APIAPI 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:
phonetokenmessage
Nueva API
Payload enviado a la API:
device_idcontact_phonebody
API Legacy
Payload enviado a la API:
phonemessageType: 1tokenchat
2. Enviar Archivo
Envía un archivo en Base64 con:
phonetokenmediaBase64fileNamefileCaptionopcionalmimeType
Si eliges Personalizado, el valor final sale de customMimeType.
Nueva API
Payload enviado a la API:
device_idcontact_phonebodyopcionalmessageType: 2media_base64file_namemime_type
Sirve para archivos, imágenes y otros binarios que la API acepte como multimedia.
API Legacy
Payload enviado a la API:
phonemessageType: 2tokenmedia_base64file_namefile_captionmimetype
3. Enviar Ubicación
Envía una ubicación con:
phonetokenlatitudelongitudelocationNameopcional
Nueva API
Payload enviado a la API:
device_idcontact_phonemessageType: 3latitudelongitudelocation_name
API Legacy
Payload enviado a la API:
phonemessageType: 3tokenlatitudelongitudelocation_name
4. Enviar Audio
Tiene dos modos de entrada:
Binario (multipart/form-data)Base64 (JSON)
Nueva API
Ambos modos terminan enviando JSON con:
device_idcontact_phonebodyopcionalmessageType: 4media_base64file_namemime_type
El modo binario se convierte internamente a Base64 para mantener la compatibilidad con la API nueva.
API Legacy
Audio en JSON/Base64
Usa:
phonetokenaudioMediaBase64audioFileNameaudioFileCaptionopcional
Payload enviado a la API:
phonemessageType: 4tokenfile_captionmedia_base64file_name
Audio binario
Usa:
phonetokenaudioBinaryPropertyaudioMimeTypeaudioBinaryFileNameopcionalaudioFileCaptionopcional
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:
phonetokenmessageType: 4file_captionmedia_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:
apiVersionsuccessoperationphonestatusCoderesponseerrortimestamp
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.jsoncon la versión que quieras publicar - configurar el secreto
NPM_TOKENen 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.