aws-sns-sms-service
Version:
A simple way to send SMS text messages.
168 lines (119 loc) • 4.23 kB
Markdown
```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.