Envío de SMS en TypeScript: Bibliotecas API para integración con proveedores de SMS

Entrenador de Python en Línea para Principiantes

Aprende Python fácilmente sin sobrecargarte de teoría. Resuelve tareas prácticas con verificación automática, recibe pistas y escribe código directamente en el navegador, sin instalar nada.

Start Course

Envío de SMS en TypeScript: Resumen de bibliotecas API para integración con proveedores de SMS



Las aplicaciones web modernas a menudo requieren funcionalidad de envío de mensajes SMS: para autenticación de dos factores, notificaciones o campañas de marketing. TypeScript, gracias a su tipificación estricta y su fácil integración con Node.js, es una excelente opción para crear servicios SMS robustos. En este artículo, revisaremos las bibliotecas clave y los enfoques para enviar SMS en TypeScript, utilizando las API populares de proveedores de SMS.



¿Por qué TypeScript para enviar SMS?

TypeScript añade tipificación estática a JavaScript, lo que es especialmente útil al trabajar con API externas. Usted obtiene:

  • Autocompletado y sugerencias en el IDE para métodos y parámetros de solicitudes.
  • Tipificación de respuestas de la pasarela SMS, lo que reduce la cantidad de errores en tiempo de ejecución.
  • Trabajo seguro con asincronía mediante async/await y Promise.


Bibliotecas principales para enviar SMS en TypeScript

Existen varias bibliotecas populares que proporcionan tipos TypeScript e interfaces convenientes para la integración con proveedores de SMS. Consideremos las dos más comunes: Twilio y Vonage (anteriormente Nexmo).



1. Biblioteca para Twilio

Twilio es uno de los líderes del mercado de comunicaciones en la nube. El SDK oficial twilio es totalmente compatible con TypeScript y proporciona tipos listos para usar.

Instalación:

npm install twilionpm install @types/twilio --save-dev  // si no se instalan automáticamente


Ejemplo de envío de SMS en TypeScript con Twilio:

import { Twilio } from 'twilio';

// Inicialización del clienteconst accountSid = process.env.TWILIO_ACCOUNT_SID!;const authToken = process.env.TWILIO_AUTH_TOKEN!;const client = new Twilio(accountSid, authToken);

// Función asíncrona de envíoasync function sendSms(to: string, body: string): Promise<string> { try { const message = await client.messages.create({ body: body, from: process.env.TWILIO_PHONE_NUMBER, // su número en formato +1234567890 to: to }); console.log(`SMS enviado, SID: ${message.sid}`); return message.sid; } catch (error) { console.error('Error al enviar SMS:', error); throw error; }}

// UsosendSms('+71234567890', 'Su código de confirmación: 1234') .then(sid => console.log('Éxito:', sid)) .catch(err => console.error('Error:', err));


2. Biblioteca para Vonage (anteriormente Nexmo)

Vonage también ofrece un potente SDK con soporte para TypeScript. Instalación y configuración básica:

npm install @vonage/server-sdk


Ejemplo de envío de SMS a través de Vonage en TypeScript:

import { Vonage } from '@vonage/server-sdk';import { Auth } from '@vonage/auth';

// Configuración de autenticaciónconst vonage = new Vonage(new Auth({ apiKey: process.env.VONAGE_API_KEY!, apiSecret: process.env.VONAGE_API_SECRET!}));

async function sendSmsVonage(to: string, text: string): Promise<void> { try { const response = await vonage.sms.send({ to: to, from: 'YourApp', text: text }); console.log('Mensaje enviado:', response); } catch (error) { console.error('Error:', error); }}

// Llamada a la funciónsendSmsVonage('71234567890', '¡Hola desde TypeScript!');


Creación de un servicio SMS universal en TypeScript

Para mayor flexibilidad, se puede crear una clase abstracta o interfaz que permita cambiar fácilmente entre proveedores:

// sms.interface.tsexport interface SmsProvider {    sendSms(to: string, message: string): Promise<                    

Recommendations