UNPKG

aws-sns-sms-service

Version:

A simple way to send SMS text messages.

168 lines (119 loc) 4.23 kB
--- ```markdown # AWS-SNS-SMS Un módulo simple y eficiente para enviar mensajes SMS utilizando **Amazon SNS** (Simple Notification Service) y **Convergia**. Ideal para integraciones rápidas en aplicaciones Node.js que requieren notificaciones SMS. --- ## Instalación Instala el módulo usando npm: ```bash npm install aws-sns-sms-service ``` --- ## Requisitos ### Amazon SNS - Necesitas una cuenta de [AWS](https://aws.amazon.com/). - Crea un usuario IAM con permisos para enviar SMS a través de SNS. - Obtén las credenciales (`key_id` y `access_key`) del usuario IAM. ### Convergia - Necesitas una cuenta en [Convergia](https://www.convergia.com/). - Obtén un token de autenticación para usar su API. --- ## Uso ### Enviar notificación usando Amazon SNS ```javascript const SMSService = require('aws-sns-sms-service'); const parameters = { key_id: 'TU_AWS_ACCESS_KEY_ID', // Clave de acceso de AWS access_key: 'TU_AWS_SECRET_ACCESS_KEY', // Clave secreta de AWS message: 'Este es un mensaje de prueba.', // Mensaje a enviar mobiles: ['520000000000'] // Números de teléfono en formato internacional }; SMSService.sendNotificationAmazonSNS(parameters) .then(response => { console.log('Respuesta:', response); }) .catch(error => { console.error('Error:', error); }); ``` #### Respuesta esperada: ```json [ { "mobile": "520000000000", "message_id": "8c3ed5ae-6dcc-5ba1-ab45-8c145409a148" } ] ``` --- ### Enviar notificación usando Convergia ```javascript const SMSService = require('aws-sns-sms-service'); const parameters = { token: 'TU_TOKEN_DE_CONVERGIA', // Token de autenticación de Convergia message: 'Este es un mensaje de prueba.', // Mensaje a enviar mobiles: ['520000000000'] // Números de teléfono en formato internacional }; SMSService.sendNotificationConvergia(parameters) .then(response => { console.log('Respuesta:', response); }) .catch(error => { console.error('Error:', error); }); ``` #### Respuesta esperada: ```json [ { "group_id": 39681, "group_name": "30/01/2025", "id": "9d0e070b649640c0923867f6c6f0f009" } ] ``` --- ## Manejo de errores El módulo devuelve errores detallados en caso de que algo falle. Asegúrate de manejar los errores correctamente en tu aplicación. ```javascript SMSService.sendNotificationAmazonSNS(parameters) .then(response => { console.log('Respuesta:', response); }) .catch(error => { console.error('Error al enviar el SMS:', error); }); ``` --- ## Validación de parámetros El módulo valida los parámetros antes de enviar los mensajes. Asegúrate de proporcionar los datos correctos: - `key_id` y `access_key` son obligatorios para Amazon SNS. - `token` es obligatorio para Convergia. - `message` debe ser una cadena no vacía. - `mobiles` debe ser un array de números de teléfono en formato internacional. --- ## Documentación oficial ### Amazon SNS Para más detalles sobre cómo configurar Amazon SNS, consulta la [documentación oficial de AWS](https://docs.aws.amazon.com/sns/latest/dg/sms_publish-to-phone.html). ### Convergia Consulta la documentación de Convergia para obtener más información sobre su API. --- ## Contribución ¡Las contribuciones son bienvenidas! Si deseas mejorar este módulo, sigue estos pasos: 1. Haz un fork del repositorio. 2. Crea una rama para tu feature (`git checkout -b feature/nueva-funcionalidad`). 3. Haz commit de tus cambios (`git commit -m 'Añadir nueva funcionalidad'`). 4. Haz push a la rama (`git push origin feature/nueva-funcionalidad`). 5. Abre un Pull Request. --- ## Licencia Este proyecto está licenciado bajo la [MIT License](LICENSE). --- ## Changelog ### v1.0.0 - Lanzamiento inicial del módulo. - Soporte para Amazon SNS y Convergia. --- ## Soporte Si tienes alguna pregunta o encuentras algún problema, por favor abre un [issue](https://github.com/tu-usuario/aws-sns-sms/issues) en el repositorio. ---