Como enviar detalhes de localização no WhatsApp pelo Node.js

December 13, 2019
Escrito por
Felistas Ngumi
Contribuidor
As opiniões expressas pelos colaboradores da Twilio são de sua autoria

Como enviar detalhes de localização no WhatsApp pelo Node.js

O WhatsApp é um dos aplicativos móveis de mensagens mais populares do mundo, contando com mais de 1,5 bilhão de usuários globais ativos mensalmente. Desde a introdução do WhatsApp Business, as empresas têm utilizado essa API para interagir com seus clientes ao enviar notificações de pagamentos ou pedidos, lembretes de agendamentos e alertas de envio, entre outros. Um dos principais motivos pelos quais usuários e empresas aumentaram a adesão e confiança no WhatsApp é a criptografia segura de ponta a ponta. É possível compartilhar contatos de usuários, documentos, localizações e diferentes tipos de mídia, como imagens, áudio e vídeos. Recentemente, a API da Twilio para WhatsApp adicionou suporte para a visualização de recibos e mensagens de localização. Neste tutorial, vou mostrar como enviar mensagens de localização usando a API da Twilio para WhatsApp.

Pré-requisitos

Para concluir este tutorial, você precisará do seguinte:

  1. Conta da Twilio
  2. Node versão 8 ou posterior

Primeiros passos

No terminal de sua preferência, execute os seguintes comandos para configurar o projeto:

$ mkdir demo && cd demo
$ npm init -y
$ npm i axios dotenv --save
$ touch test.js .env

Os comandos acima criaram uma pasta para armazenar todos os arquivos do projeto chamados demo. O arquivo package.json foi criado com a execução do npm init -y, que rastreará todos os pacotes, como o axios e o dotenv. Esses dois pacotes são responsáveis por fazer solicitações HTTP e acessar variáveis de ambiente, respectivamente.

Ativar a sandbox da Twilio para WhatsApp

Após obter a conta gratuita da Twilio, crie um projeto no produto Programmable SMS. Você será redirecionado para a tela abaixo:

Console da Twilio

Para ativar a sandbox do WhatsApp, clique em Get Started (Primeiros passos) e navegue até a página do WhatsApp Beta. Do seu dispositivo, envie o código indicado para +1 415 523 8886.

No meu caso, enviarei join smooth-took para +1 415 523 8886.

Sandbox da Twilio para WhatsApp

Usando o editor de código de sua preferência, adicione as seguintes linhas no seu arquivo test.js.

const axios = require("axios");
const dotenv = require("dotenv");
dotenv.config();

const authToken = process.env.ACCOUNT_TOKEN;
const authSID = process.env.ACCOUNT_SID;
const url = process.env.TWILIO_URL;

const messageBody = {
 Body: "Twilio HQ",
 From: "whatsapp:+14155238886",
 PersistentAction: "geo:37.787890,-122.391664",
 To: "whatsapp:+254712345678"
};

axios
 .post(url, new URLSearchParams(messageBody), {
   auth: {
     username: authSID,
     password: authToken
   }
 })
 .then(
   response => {
     console.log(response.data.sid);
   },
   error => {
     console.log(error);
   }
 );

Nota: substitua To pelo seu número de telefone atual.

Em seu arquivo .env, adicione:

ACCOUNT_SID=your_account_SID
ACCOUNT_TOKEN=your_account_token
TWILIO_URL=https://api.twilio.com/2010-04-01/Accounts/your_account_SID/Messages.json

Nota: substitua as chaves acima pelos seus valores reais. É possível obtê-los no console da Twilio.

Testar

Execute no terminal:

$ node test.js

Você receberá um texto em seu telefone com a geolocalização.

Mensagem do WhatsApp

Conclusão

Neste tutorial, aprendemos como enviar detalhes de localização pela API da Twilio para
WhatsApp. No momento da escrita, esse recurso está disponível apenas via CURL (Client URL, URL do cliente) e ainda se estenderá aos pacotes e CLI da Twilio. Adoraria saber sua opinião! Siga-me no Twitter ou envie um e-mail. Aproveite as dicas!

Este artigo foi traduzido do original "How To Send Location Details on WhatsApp in Node JS". Enquanto melhoramos nossos processos de tradução, adoraríamos receber seus comentários em help@twilio.com - contribuições valiosas podem render brindes da Twilio.