Como Enviar SMS de um Arquivo CSV com Node.js
Tempo de leitura: 3 minutos
Uma das demandas que tenho recebido de desenvolvedores é sobre um jeito fácil para disparar mensagens de SMS, principalmente mensagens de notificações.
Por exemplo, um amigo possui uma clínica e deseja enviar mensagens avisando sobre uma consulta agendada para seus clientes no dia anterior ao agendamento, como forma de confirmar a consulta e evitar cancelamentos.
Para fazer isso, uma forma simples é construir uma planilha e disparar mensagens individuais para cada paciente. Você pode inclusive incluir informações específicas para cada uma das mensagens, informando nome do médico e horário, por exemplo.
Neste artigo vou cobrir um tutorial para fazer esse disparo através de um script local em Javascript.
Primeiros passos
Para que consiga rodar este tutorial, você vai precisar confirmar que possui algumas coisas:
- Conta Twilio configurada com um número que possa enviar SMS;
- Um projeto do Node.js configurado e com as chaves de acesso da Twilio salvas em variáveis de ambiente.
Crie uma conta Twilio e adquira um número para envio de SMS
No Brasil, até o momento da postagem deste artigo, a oferta para números móveis ocorre através de um gerente de contas da Twilio, porém você pode registrar um número dos Estados Unidos e utilizar para disparo de mensagens de texto. A diferença aqui é que você não conseguirá receber mensagens de retorno.
Configurando o projeto e as variáveis de ambiente do Node
Já que vamos utilizar o Node.js, é importante que você inicialize um projeto pelo npm
para criar o arquivo de configuração que conterá todas as informações de bibliotecas e de execução do seu código.
Para começar, crie uma pasta para seu projeto, abra ela no terminal e execute o seguinte comando.
Ao executar o npm init
siga todos os passos, informando o nome do seu projeto e continue até que seja criado o arquivo package.json
Como estaremos desenvolvendo um exemplo em Node.js e você vai consumir a API da Twilio para disparo das mensagens de texto, será necessário utilizar os dados da sua conta Account SID
e o token de autenticação Auth Token
. Ambos estão disponíveis no Console da Twilio.
Você vai precisar salvar essa informação em um arquivo de ambiente que carregaremos no nosso código utilizando a biblioteca dotenv
. Copie essa informação do Console e salve em um arquivo .env
com seguinte formato:
Além disso, vamos instalar também a biblioteca da Twilio e a biblioteca csvtojson
para fazer a leitura de um arquivo de dados CSV.
Rode o comando a seguir para instalar as bibliotecas:
Pronto, agora temos a base para começar a programar. Crie um arquivo index.js
para começarmos nosso código.
Lendo o CSV
O primeiro passo do nosso código é nos certificarmos que conseguimos carregar os dados que queremos processar e disparar a mensagem de SMS. Como vamos utilizar o formato CSV, que significa valores separados por vírgula
, precisamos montar um arquivo neste padrão.
Como nosso exemplo é disparar um aviso de agendamento de uma clínica, nós vamos utilizar uma tabela contendo um número de celular, o nome do médico que irá atender e o horário da consulta. O arquivo lista.csv
terá um formato parecido com o baixo:
Execute o código com o comando node index.js
. Você verá no log o registro do arquivo no formato json, exibindo um vetor contendo um elemento com os dados necessários para montar a mensagem que desejamos enviar e o número de telefone do destinatário.
Agora que temos a lista carregada, precisamos percorrer os elementos da lista e montar a mensagem que desejamos enviar para cada elemento.
No Javascript é possível percorrer elementos de um vetor utilizando a função forEach
. Então criaremos o seguinte código, em substituição ao console.log
do comando anterior:
Veja que agora temos o elemento de forma individual, independente da lista.
O próximo passo é criar a mensagem de texto dentro desse loop, conforme o exemplo a seguir:
Veja como ficou a mensagem de texto:
Disparando a mensagem
Agora que já temos a mensagem pronta, basta utilizarmos a API da Twilio para disparar as mensagens de SMS.
Dentro do loop que criamos para personalizar a mensagem, vamos inserir o código de disparo, mas antes disso, precisamos importar as bibliotecas dotenv
e twilio
no topo do arquivo:
Ao executar o comando, você vai ver que foi criada a mensagem e enviada para uma fila de disparo.
Conclusão
Você pode utilizar um script simples para disparar mensagens de notificação. Se deseja disparar mensagens de SMS, basta adquirir um número dos Estados Unidos. Caso seja necessário enviar e receber mensagens, entre em contato com nosso time comercial.
Se você deseja enviar mensagens utilizando este tutorial, faça uma cópia do código-fonte no repositório do GitHub.
Este artigo foi útil para você ou gostaria de algum outro exemplo de código? Envie sua sugestão ou comentário para lleao [arroba] twilio.com.
Estou ansioso para saber o que você vai construir.
Publicações relacionadas
Recursos relacionados
Twilio Docs
De APIs a SDKs e aplicativos de amostra
Documentação de referência de API, SDKs, bibliotecas auxiliares, guias de início rápido e tutoriais para sua linguagem e plataforma.
Centro de Recursos
Os mais recentes e-books, relatórios do setor e webinars
Aprenda com especialistas em engajamento do cliente para melhorar sua própria comunicação.
Ahoy
Centro da comunidade de desenvolvedores da Twilio
Melhores práticas, exemplos de código e inspiração para criar comunicações e experiências de engajamento digital.