Envio de SMS em TypeScript: Biblioteca de API para Integração com Provedores de SMS

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

Envio de SMS em TypeScript: Visão Geral das Bibliotecas de API para Integração com Provedores de SMS



Aplicativos web modernos frequentemente exigem funcionalidade de envio de mensagens SMS: para autenticação de dois fatores, notificações ou campanhas de marketing. TypeScript, graças à sua tipagem rigorosa e integração conveniente com Node.js, é uma excelente escolha para criar serviços de SMS confiáveis. Neste artigo, exploraremos as principais bibliotecas e abordagens para envio de SMS em TypeScript, usando APIs populares de provedores de SMS.



Por que usar TypeScript para envio de SMS?

TypeScript adiciona tipagem estática ao JavaScript, o que é especialmente útil ao trabalhar com APIs externas. Você obtém:

  • Autocompletar e sugestões na IDE para métodos e parâmetros de requisições.
  • Tipagem de respostas do gateway de SMS, reduzindo erros em tempo de execução.
  • Trabalho seguro com assincronia através de async/await e Promises.


Principais bibliotecas para envio de SMS em TypeScript

Existem várias bibliotecas populares que fornecem tipos TypeScript e interfaces convenientes para integração com provedores de SMS. Vamos considerar duas das mais comuns: Twilio e Vonage (antigo Nexmo).



1. Biblioteca para Twilio

Twilio é um dos líderes do mercado de comunicações em nuvem. O SDK oficial twilio suporta totalmente TypeScript e fornece tipos prontos.

Instalação:

npm install twilionpm install @types/twilio --save-dev  // se não instalados automaticamente


Exemplo de envio de SMS em TypeScript com Twilio:

import { Twilio } from 'twilio';

// Inicialização do clienteconst accountSid = process.env.TWILIO_ACCOUNT_SID!;const authToken = process.env.TWILIO_AUTH_TOKEN!;const client = new Twilio(accountSid, authToken);

// Função assíncrona de envioasync function sendSms(to: string, body: string): Promise<string> { try { const message = await client.messages.create({ body: body, from: process.env.TWILIO_PHONE_NUMBER, // seu número no formato +1234567890 to: to }); console.log(`SMS enviado, SID: ${message.sid}`); return message.sid; } catch (error) { console.error('Erro ao enviar SMS:', error); throw error; }}

// UsosendSms('+71234567890', 'Seu código de confirmação: 1234') .then(sid => console.log('Sucesso:', sid)) .catch(err => console.error('Erro:', err));


2. Biblioteca para Vonage (antigo Nexmo)

Vonage também oferece um SDK poderoso com suporte a TypeScript. Instalação e configuração básica:

npm install @vonage/server-sdk


Exemplo de envio de SMS via Vonage em TypeScript:

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

// Configuração de autenticaçãoconst 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('Mensagem enviada:', response); } catch (error) { console.error('Erro:', error); }}

// Chamada da funçãosendSmsVonage('71234567890', 'Olá do TypeScript!');


Criando um serviço de SMS universal em TypeScript

Para flexibilidade, você pode criar uma classe abstrata ou interface que permita alternar facilmente entre provedores:

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

Recommendations