https://a.storyblok.com/f/270183/170758/30ab309017/send-sms-messages-node-red.png

Como enviar mensagens SMS com o Node-RED

Publicado em November 8, 2020

Tempo de leitura: 8 minutos

Observação: algumas das ferramentas ou métodos descritos neste artigo podem não ter mais suporte ou estar desatualizados. Para obter conteúdo atualizado ou suporte, consulte nossas postagens mais recentes ou nossa Documentação

Este é o primeiro artigo de uma série de tutoriais intitulada “Introdução ao Vonage e ao Node-RED”.

A Vonage SMS API permite que você envie e receba SMS em todo o mundo, usando uma SMS API simples baseada em HTTP.

A boa notícia é que interagir com essa API — e com muitas outras — ficou ainda mais fácil com a inclusão dos nós da Nexmo na paleta do Node-RED.

Neste artigo, você aprenderá a enviar mensagens SMS com o Node-RED. Baixe este fluxo da Biblioteca do Node-RED ou acompanhe o passo a passo.

Pré-requisitos

Antes de começar, você precisará de algumas coisas:

Como obter suas credenciais

Embora em alguns países seja possível enviar um SMS sem alugar um número da Vonage, em outros países, como os EUA, é necessário que você seja o titular do número de onde as mensagens SMS são enviadas.

Configurando seu editor do Node-RED

Primeiro, você precisará instalar o runtime e o editor. Isso pode ser feito tanto no seu computador local quanto em um computador de placa única (por exemplo, o Raspberry Pi) ou em diversas opções hospedadas na nuvem. Neste exemplo, usaremos o seu computador local; portanto, depois de instalar o Node-RED globalmente, basta digitar o comando abaixo no terminal para começar.

node-red

Você pode então acessar o editor do Node-RED digitando no navegador http://localhost:1880.

Depois de abrir o editor, você precisará instalar os nós do Nexmo. Você pode fazer isso na seção paleta “Gerenciar” , procurando pelo node-red-contrib-nexmo pacote e clicar em “Instalar”.

Install the Nexmo Node-RED packageInstall the Nexmo Node-RED package

Agora você deve ver todos os nós do Nexmo aparecerem no lado esquerdo da tela, entre os nós padrão.

Enviando um SMS com o Node-RED

Role a página até o sendsms nó e arraste-o para a sua área de trabalho. Isso vai dar conta do recado no tutorial de hoje.

Você pode configurar este nó clicando duas vezes nele e preenchendo os parâmetros abaixo. Você encontrará API KEY e API SECRET clicando no botão “Editar” ao lado de Nexmo Credentials.

CHAVE

DESCRIÇÃO

API KEY

Sua chave de API, exibida na sua visão geral da sua conta de Account.

API SECRET

Seu segredo da API, exibido na sua visão geral da sua conta de Account.

TO

O número para o qual você está enviando a mensagem SMS no formato E.164. Por exemplo, 447401234567.

FROM

O número ou texto exibido no aparelho quando sua mensagem é mostrada. Você pode definir um remetente alfanumérico personalizado para representar melhor sua marca, caso esse recurso seja for compatível no seu país.

TEXT

O conteúdo da sua mensagem. Fique à vontade para usar a criatividade, mas um “Hello World!” já serve perfeitamente.

Em seguida, adicione um inject nó ao fluxo e conecte-o como uma entrada para sendsms.

Essa função é bastante poderosa, pois permite iniciar o fluxo com um valor de carga útil específico. Ela suporta a injeção de strings, números, valores booleanos, objetos JavaScript ou valores do contexto do fluxo/global, tendo como padrão o carimbo de data/hora da hora atual em milissegundos desde 1º de janeiro de 1970.

Você poderia simplesmente usá-lo para iniciar seu fluxo, definindo todos os parâmetros diretamente no sendsms nó, ou você pode ir um pouco além.

Ao lado do TO,FROM e TEXT parâmetros, há um {} sinal, o que significa que o sistema de modelos Mustache são suportados para esses campos. Isso é útil ao passar determinados valores dinamicamente para o sendsms nó.

Sabendo que o carimbo de data e hora é inserido, vamos adicionar esse valor ao texto da mensagem fazendo referência {{msg.payload}}, por exemplo:

Hello World! The timestamp is `{{msg.payload}}`.

Para entender um pouco melhor o que acontece quando você envia um SMS, conecte a sendsmssaída do '' a um debug nó. Clique duas vezes nele e defina o Output para complete msg object.

Acesso Implantar e clique no inject botão do nó — sua mensagem de SMS já deve estar a caminho!

Sending an SMS in Node-REDSending an SMS in Node-RED

Quando você faz uma solicitação bem-sucedida à SMS API, ela retorna uma matriz de objetos de mensagem. Idealmente, cada um deles terá um `status` igual a `0`, indicando que sua mensagem foi agendada com sucesso para envio, além de alguns outros detalhes, como o número do destinatário, o ID da mensagem, o saldo restante, o preço e a operadora que será utilizada para o envio do SMS.

Você pode dar uma olhada nesse objeto de resposta na área de depuração, no lado direito do seu editor do Node-RED.

Embora a análise dessa saída seja bastante útil para determinar o que a SMS API fez, não há garantia de que a mensagem tenha chegado ao celular do destinatário.

Quando a mensagem é entregue, a operadora de celular retorna um Confirmação de Entrega à Vonage. Ele conterá o status da entrega.

Recebimento de um comprovante de entrega de uma operadora de celular

Para descobrir o status da sua mensagem enviada, você precisará configurar um endpoint de webhook para que a Vonage possa encaminhar o Confirmação de Entrega .

Definindo um ponto de extremidade de webhook

Primeiro, conecte um http nó de entrada a um http response nó, bem como a um debug nó, para que você possa visualizar seu comprovante de entrega na área de depuração.

No http nó de entrada, selecione POST como Method e preencha o URL campo com algo como /receipt. O http response nó deve ter 200 definido como Status code, mas não se preocupe com isso, esse também é o valor padrão.

Setting up a webhook for delivery receiptsSetting up a webhook for delivery receipts

Expondo seu servidor local à Internet

Em seguida, você precisará expor seu servidor local à internet, para que a Vonage possa acessá-lo. Uma maneira prática de fazer isso é usando um serviço de tunelamento como o ngrok.

Baixe e instale o ngroke, em seguida, execute-o no terminal para iniciar um túnel na porta 1880.

./ngrok http 1880

Starting an ngrok tunnel in a terminal windowStarting an ngrok tunnel in a terminal window

Seu servidor local agora possui uma URL do ngrok que pode ser usada como seu ponto de extremidade do webhook.

Configurando o terminal com a Vonage

A última etapa é informar à SMS API da Vonage para onde ela deve encaminhar os comprovantes de entrega. Você pode fazer isso nas suas configurações da API na seção “Configurações padrão de SMS” .

Defina a URL padrão do webhook para recibos de entrega como YOUR_NGROK_URL/receipt, e, em seguida, Save changes.

Delivery receipt endpoint URL in dashboardDelivery receipt endpoint URL in dashboard

Agora, quando você voltar ao editor do Node-RED e enviar outra mensagem, verá o aviso de entrega aparecer na área de depuração:

Delivery receipt in debug sidebarDelivery receipt in debug sidebar

O status e err-code parâmetros indicam que a mensagem foi entregue com sucesso. Saiba mais sobre as mensagens de status de confirmação de entrega e os códigos de erro no documentação.

Para onde vamos agora?

Compartilhar:

https://a.storyblok.com/f/270183/372x373/36054b72d0/julia-biro.png
Julia BiroRepresentante de Desenvolvedores

Julia está empenhada em capacitar outros desenvolvedores por meio da criação de tutoriais, guias e recursos práticos. Com experiência em divulgação e educação, ela busca tornar a tecnologia mais acessível e aprimorar a experiência geral dos desenvolvedores. É comum encontrá-la em eventos da comunidade local.