Apidog

Plataforma Colaborativa All-in-one para Desenvolvimento de API

Design de API

Documentação de API

Depuração de API

Mock de API

Testes Automatizados de API

Como enviar SMS com a API Twilio e Node.js

Seja para desenvolver um sistema de notificações, criar um chatbot de suporte ao cliente ou adicionar funcionalidade de SMS ao seu aplicativo, este tutorial o guiará pelo processo passo a passo.

Miguel Oliveira

Miguel Oliveira

Updated on novembro 29, 2024

No mundo interconectado de hoje, a comunicação é fundamental, e uma das formas mais onipresentes de comunicação continua a ser a humilde mensagem de texto. Seja enviando notificações, alertas ou mensagens promocionais, a capacidade de enviar mensagens SMS (Serviço de Mensagem Curta) programaticamente abre um mundo de possibilidades para os desenvolvedores. Conheça a Twilio, uma plataforma de comunicações em nuvem que capacita os desenvolvedores a integrar a funcionalidade SMS de forma perfeita em suas aplicações.

Introdução:

Neste tutorial, vamos explorar como aproveitar o poder do Twilio juntamente com a flexibilidade do Node.js para enviar mensagens SMS sem esforço. O Node.js, com seu modelo de I/O não bloqueante e rico ecossistema de pacotes, fornece um ambiente ideal para construir aplicações escaláveis e eficientes, enquanto a Twilio simplifica o envio e o recebimento de mensagens SMS, cuidando da entrega e gerenciando números de telefone.

Se você está desenvolvendo um sistema de notificações, construindo um chatbot de suporte ao cliente, ou simplesmente deseja incorporar a funcionalidade SMS em sua aplicação, este tutorial irá guiá-lo pelo processo passo a passo. Ao final, você terá uma compreensão sólida de como utilizar a API da Twilio com o Node.js para enviar mensagens SMS de forma confiável e segura.

Então, vamos mergulhar e aprender como potencializar suas aplicações Node.js com as capacidades de SMS da Twilio!

Configurando uma Conta Twilio:

Antes de enviar mensagens SMS com a Twilio e Node.js, o primeiro passo é configurar uma conta Twilio.

A Twilio oferece um teste gratuito que você pode usar para testar todos os seus serviços, como enviar SMS com um número gratuito que eles irão atribuir a você.

Para começar, cadastre-se para uma conta gratuita.

Inscreva-se para uma Conta Gratuita Twilio:

Navegue até o site da Twilio (https://www.twilio.com/) e inscreva-se para uma nova conta se ainda não o fez. O processo de inscrição é direto e requer apenas informações básicas, como seu endereço de e-mail, nome completo e senha.

Verifique Seu Endereço de E-mail:

De acordo com a Twilio

Essa verificação ajuda a prevenir o uso indevido da plataforma Twilio e garante conformidade com as regulamentações de telecomunicações.

Após se inscrever, a Twilio enviará um e-mail de verificação para o endereço que você forneceu durante o registro. Clique no link de verificação no e-mail para confirmar seu endereço de e-mail e ativar sua conta Twilio.

Verificação do Número de Telefone:

Isso ajuda a Twilio a verificar sua identidade e também permite que você envie mensagens de teste para seu telefone a partir de sua conta Twilio enquanto estiver no modo de teste.

Após verificar seu e-mail, você será solicitado a verificar seu número de telefone. A Twilio detecta automaticamente sua localização usando seu IP. Certifique-se de criar sua conta usando um número que você possa verificar dentro do seu país.

Acesse Seu Painel Twilio:

Uma vez que sua conta esteja verificada, faça login em sua conta Twilio para acessar o Console Twilio. O Console é onde você irá gerenciar seus serviços Twilio, números de telefone e credenciais da API.

Obtenha Credenciais da API Twilio:

No Console Twilio, navegue até a seção "Painel" ou "Configurações" para encontrar seu Account SID e Auth Token. Essas credenciais são essenciais para autenticar suas solicitações ao interagir com a API Twilio.

  • Account SID (Identificador da Conta): Este é um identificador único para sua conta Twilio. Serve como nome de usuário ao fazer solicitações à API.
  • Auth Token (Token de Autenticação): Este token servirá como senha para autenticar suas solicitações à API. Mantenha-o seguro e nunca o compartilhe publicamente.
  • Número de telefone da Twilio: Este telefone é crucial, é com ele que você enviará SMS e não seu número de telefone.

Ao concluir essas etapas, você terá configurado com sucesso sua conta Twilio, obtido suas credenciais da API e recebido seu(s) número(s) de telefone para mensagens SMS. Agora você está pronto para integrar a Twilio com sua aplicação Node.js e começar a enviar mensagens SMS programaticamente.

N.B: Se sua conta de teste gratuita expirar, você precisará comprar um número de telefone que usará para enviar um SMS.

Uma imagem mostrando a página de compra de número da Twilio

Se você não quiser comprar um número de telefone para testes, certifique-se de criar sua conta somente quando estiver pronto para enviar seus SMS.

Instalando Dependências:

Para integrar a funcionalidade SMS da Twilio na sua aplicação Node.js, você precisará configurar um novo projeto Node.js e instalar o SDK Node.js da Twilio.

Antes de continuarmos com as instalações de dependência, note que não estaremos usando nenhuma interface gráfica ou construindo uma aplicação front-end para testar isso. No entanto, para testar isso, usaremos Apidog, uma alternativa melhor ao Postman.

Apidog é uma plataforma integrada para design de APIs, depuração, desenvolvimento, simulação e testes.

Aqui está um guia útil para entender completamente o que é o Apidog e como usá-lo da melhor forma. Crie uma conta para se preparar para a fase de teste da API deste artigo.

button

Agora, de volta à configuração do Node.Js e Twilio. Siga estas etapas para começar:

Configurando um Novo Projeto Node.js:

Se você ainda não o fez, crie um novo diretório para seu projeto Node.js e navegue até ele usando seu terminal ou prompt de comando.

mkdir twilio-sms-demo
cd twilio-sms-demo

Inicializando um Projeto Node.js:

Use o seguinte comando para inicializar um novo projeto Node.js. Este comando irá criar um arquivo package.json que irá rastrear as dependências do seu projeto.

npm init -y

Este comando cria um arquivo package.json com valores padrão. Você pode personalizar esses valores conforme necessário.

Instalando o SDK Node.js da Twilio:

Agora, você precisará instalar o SDK Node.js da Twilio, que fornece uma interface conveniente para interagir com a API da Twilio a partir de suas aplicações Node.js. Você pode usar npm ou yarn para instalar o SDK.

Usando npm:
Execute o seguinte comando para instalar o SDK Node.js da Twilio juntamente com o framework Express usando npm:

npm install express twilio

Usando yarn:
Se você prefere usar yarn, execute o seguinte comando em vez disso:

yarn add express twilio

Este comando irá baixar o SDK Node.js da Twilio junto com o framework Express e adicioná-lo como uma dependência em seu arquivo package.json.

Se você não sabe, Express é um framework para node.js que torna a construção de APIs bastante simples.

Verificando a Instalação:

Após instalar o SDK da Twilio, certifique-se de que ele foi adicionado ao seu arquivo package.json. Você deve ver "twilio": "^x.x.x" listado na seção dependencies.

Além disso, você pode verificar se a instalação foi bem-sucedida checando a presença do diretório node_modules em seu projeto. Este diretório contém todas as dependências instaladas, incluindo o SDK da Twilio.

Seguindo essas etapas, você configurou com sucesso um novo projeto Node.js e instalou o SDK Node.js da Twilio, abrindo caminho para integrar a funcionalidade SMS da Twilio em sua aplicação. Agora, você está pronto para começar a escrever o código para enviar mensagens SMS com a Twilio em sua aplicação Node.js.

Escrevendo o Código Node.js:

Agora que você configurou seu projeto Node.js e instalou o SDK da Twilio, vamos escrever o código para enviar uma mensagem SMS usando a Twilio em combinação com o Express.

Criando um Novo Arquivo JavaScript:
Na pasta do seu projeto, crie um novo arquivo JavaScript chamado index.js (ou qualquer outro nome que preferir) onde você escreverá o código para enviar mensagens SMS.

touch index.js

Quando terminar, abra a pasta do projeto em qualquer IDE de sua escolha. Se você é uma daquelas pessoas que prefere simplicidade, provavelmente terá o VsCode instalado. Abra a inicialização do projeto e você deve ver algo semelhante ao que eu tenho abaixo;

Página do VsCode mostrando a pasta do projeto.

Abra o arquivo index.js e vamos começar a escrever algum código. Cole o seguinte código no arquivo index.js.

const express = require('express');

const accountSid = "seu_account_sid";
const authToken = "seu_auth_token";
const client = require('twilio')(accountSid, authToken);

No código acima, importamos o módulo express no início do arquivo. Também criamos duas constantes ( const) que mantêm nosso accountSid & authToken. Por fim, definimos outra constante onde importamos o módulo Twilio e passamos o accountSid & o authToken para ele.

Algumas pessoas podem argumentar que é melhor se envolvêssemos o accountSid e o AuthToken em um arquivo .env. Você pode fazer isso se quiser, mas eu só vou manter as coisas simples aqui.

Escrevendo o Código para Enviar uma Mensagem SMS:

Agora, vamos escrever o código para enviar uma mensagem SMS usando o método messages.create() da Twilio.

No mesmo arquivo index.js, adicione os seguintes códigos abaixo do que já tínhamos.


const app = express()

app.post('/send-sms', (req, res) => {
    

    client.messages
        .create({
            body: 'É assim que receber mensagens de teste da Twilio se sente. Início?',
            from: '+122345678', // Substitua pelo seu número de telefone Twilio incluindo o código do país.
            to: '+123456789'    // o número de telefone com o qual você verificou sua conta.
        })
        .then(message => {
            console.log('Mensagem enviada:', message.sid);
            res.send('SMS enviado com sucesso!');
        })
        .catch(error => {
            console.error('Erro ao enviar SMS:', error);
            res.status(500).send('Falha ao enviar SMS');
        });
});

const PORT = 3000;
app.listen(PORT, () => {
    console.log(`Servidor em execução na porta ${PORT}`);
});

No código acima:

  • Criamos uma aplicação Express e definimos uma rota POST /send-sms para lidar com o envio de mensagens SMS.
  • Em seguida, inicializamos um cliente Twilio com nossas credenciais Twilio.
  • Usando o cliente Twilio, enviamos uma mensagem SMS para o número de telefone do destinatário especificado (to) com o corpo da mensagem fornecido (body).

É isso! Você agora escreveu o código Node.js para enviar mensagens SMS usando a Twilio e o Express. Não se esqueça de substituir 'from' & 'to' com seu número de telefone Twilio e número de telefone verificado.

Salve o arquivo, abra seu terminal e digite node index.js e pressione enter. Se tudo correr bem, você deve ver algo semelhante a;

Janela do terminal mostrando "Servidor em execução na porta 3000"

Testando nossa API:

Se você se lembra, eu mencionei que usaremos o Apidog para testar nossas APIs e verificar se funcionam conforme o esperado. Então, por favor, baixe ou use a versão web do Apidog para testar a API que acabamos de criar.

Mais uma vez, aqui está um guia que mostrar-lhe-á como começar a usar o Apidog.

button

Agora que você está familiarizado com o Apidog, faça login e crie seu primeiro projeto - ou use o padrão criado automaticamente para você. Depois disso, clique em "Nova Solicitação"

Imagem mostrando a página do Projeto do Apidog

Depois disso, você verá uma página para enviar uma solicitação.

Página de solicitação do Apidog

Você pode ver que estou enviando uma solicitação POST para localhost:3000/send-sms e isso ocorre porque a rota que definimos em nosso aplicativo web é /send-sms e estamos usando nossa máquina local.

Se você digitar a rota correta e pressionar o botão de enviar no canto superior direito, você receberá uma resposta. No meu caso, eu recebi um erro - e o erro foi registrado no meu terminal.

O erro era simples, o número de telefone para o qual tentei enviar o SMS não está verificado - porque estou usando uma conta de teste, preciso verificar meu número ou atualizar para enviar SMS para qualquer número de telefone.

Uma das características legais da Twilio é que você pode ver seus logs e histórico. Eu visualizei os meus e obtive a seguinte resposta;

Todos os meus testes de APIs falharam. Você consegue adivinhar o porquê?
Meu número de telefone para não estava verificado;

Uma vez que você verificar ou atualizar sua conta para uma conta paga, você poderá receber um SMS.

Aprimorando a Aplicação (Opcional):

Uma vez que você implementou com sucesso o envio de mensagens SMS com a Twilio e Node.js, você pode querer explorar funcionalidades adicionais e melhorar a confiabilidade de sua aplicação. Aqui estão algumas melhorias opcionais que você pode considerar:

Explorando Recursos Adicionais da Twilio:

A Twilio oferece uma ampla gama de recursos além do envio simples de SMS. Você pode explorar capacidades como:

Conclusão:

Neste tutorial, exploramos como integrar a funcionalidade SMS da Twilio com o Node.js, permitindo que você envie mensagens SMS programaticamente a partir de suas aplicações. Vamos recapitular os principais passos envolvidos:

Configurando a Conta Twilio: Inscreva-se para uma conta Twilio, obtenha suas credenciais da API (Account SID e Auth Token) e verifique números de telefone para envio de SMS.

Instalando Dependências: Configure um novo projeto Node.js, instale o SDK Node.js da Twilio e configure a Twilio com suas credenciais.

Escrevendo o Código Node.js: Crie um novo arquivo JavaScript para enviar mensagens SMS, importe o Express e o módulo Twilio, e escreva o código para enviar mensagens SMS usando o método messages.create() da Twilio.

Testando o código usando Apidog: Vimos como podemos usar uma ferramenta de desenvolvimento como Apidog para testar nossas APIs Node.js facilmente, sem estresse.

Seguindo essas etapas, você aprendeu a aproveitar a poderosa API da Twilio junto com a flexibilidade do Node.js para incorporar a funcionalidade SMS em suas aplicações. À medida que você continuar a desenvolver seus projetos, não hesite em explorar mais recursos da Twilio e personalizar suas aplicações para atender às necessidades específicas de seus usuários.

Feliz codificação!

Como passar o x-API-key no cabeçalho?Tutoriais

Como passar o x-API-key no cabeçalho?

Desvende os segredos da segurança eficaz de APIs, dominando como passar x-API-key nos cabeçalhos. Este guia abrangente revelará a importância desse processo e como ferramentas como o Apidog podem facilitar seus esforços. Continue lendo para garantir que suas interações com a API permaneçam seguras!

Miguel Oliveira

agosto 12, 2024

Como corrigir o erro HTTP 405 Método Não Permitido no PostmanTutoriais

Como corrigir o erro HTTP 405 Método Não Permitido no Postman

O código de erro HTTP 405 ocorre quando você tenta acessar um servidor usando uma chave de API ou token de acesso inválido ou ausente. Neste artigo, veremos mais sobre o erro 405 e como corrigi-lo.

Miguel Oliveira

agosto 11, 2024

Como Resolver o Erro 422 no PostmanTutoriais

Como Resolver o Erro 422 no Postman

O código de erro 422, também conhecido como erro de Entidade Não Processável, ocorre quando o servidor entende o tipo de conteúdo da solicitação, mas não consegue processar as instruções contidas. Neste artigo, vamos aprender como depurar e corrigir um erro 422.

Miguel Oliveira

agosto 11, 2024