Enviando e Recebendo Mensagens para o WhatsApp via Node.js + TypeScript usando a API do Facebook
Com o avanço da tecnologia e a popularização das mensagens instantâneas, o WhatsApp se tornou uma das principais plataformas de comunicação em todo o mundo. Muitas empresas e desenvolvedores têm explorado maneiras de integrar o WhatsApp em seus aplicativos e serviços para interagir com os usuários de forma mais eficiente.
Neste artigo, vamos explorar como enviar e receber mensagens para o WhatsApp utilizando Node.js e TypeScript, fazendo uso direto da API do Facebook. Isso permitirá que você automatize o envio de mensagens, implemente chatbots e integre o WhatsApp em seus próprios aplicativos ou serviços.
Pré-requisitos
Antes de prosseguir, é importante garantir que você tenha os seguintes pré-requisitos configurados:
- Node.js instalado em seu sistema.
- Um editor de código de sua preferência.
- Uma conta no Facebook para acessar a API do WhatsApp.
Certifique-se de ter esses pré-requisitos atendidos antes de prosseguir.
Configurando a API do WhatsApp
Para utilizar a API do WhatsApp, você precisará configurar uma conta no Facebook e criar um aplicativo. Siga os passos abaixo:
- Acesse a página de desenvolvedores do Facebook (https://developers.facebook.com) e faça login com sua conta.
- Crie um novo aplicativo clicando em “Meus aplicativos” e em seguida em “+ Criar Aplicativo”.
- Insira um nome para o seu aplicativo e clique em “Criar Aplicativo”.
- No painel do aplicativo, vá para a seção “Produtos” e clique em “Adicionar um produto”.
- Selecione “WhatsApp Business API” e siga as instruções para configurar sua conta de negócios e número de telefone do WhatsApp.
- Após configurar sua conta, você receberá um token de acesso e uma chave secreta, que serão necessários para autenticação na API.
Certifique-se de guardar o token de acesso e a chave secreta em um local seguro, pois eles serão usados posteriormente para enviar e receber mensagens.
Configurando o Projeto Node.js
Agora que você configurou a API do WhatsApp, é hora de criar um projeto Node.js e instalar as dependências necessárias. Siga os passos abaixo:
- Crie um novo diretório para o seu projeto e navegue até ele no terminal.
- Inicie um novo projeto Node.js executando o comando
npm init
e seguindo as instruções para configurar o arquivopackage.json
. - Instale as dependências necessárias executando o seguinte comando:
npm install axios dotenv
Aqui, estamos instalando o pacote axios
para fazer requisições HTTP e o pacote dotenv
para carregar variáveis de ambiente a partir de um arquivo .env
.
- Crie um arquivo
.env
na raiz do seu projeto e adicione as seguintes linhas:
ACCESS_TOKEN=seu_token_de_acesso
SECRET_KEY=sua_chave_secreta
Substitua seu_token_de_acesso
pelo token de acesso que você recebeu ao configurar a API do WhatsApp, e sua_chave_secreta
pela chave secreta correspondente.
Agora, estamos prontos para começar a enviar e receber mensagens pelo WhatsApp.
Enviando Mensagens via API do Facebook
Primeiro, vamos criar uma função para enviar mensagens através da API do Facebook. Crie um arquivo whatsapp.ts
e adicione o seguinte código:
import axios from 'axios';
import dotenv from 'dotenv';
dotenv.config();
async function enviarMensagem(numero: string, mensagem: string) {
try {
const { data } = await axios.post(
`https://graph.facebook.com/v14.0/me/messages?access_token=${process.env.ACCESS_TOKEN}`,
{
recipient: { phone_number: numero },
message: { text: mensagem },
}
);
console.log('Mensagem enviada com sucesso:', data);
} catch (error) {
console.error('Erro ao enviar mensagem:', error.response?.data);
}
}
enviarMensagem('+55123456789', 'Olá, isso é uma mensagem de teste!');
Neste exemplo, estamos usando o pacote axios
para fazer uma requisição POST para a API do Facebook. Passamos o número de telefone do destinatário e a mensagem como parâmetros no corpo da requisição. O token de acesso é adicionado à URL.
Certifique-se de substituir +55123456789
pelo número de telefone do destinatário válido.
Execute o arquivo whatsapp.ts
com o comando ts-node whatsapp.ts
para enviar a mensagem.
Recebendo Mensagens via API do Facebook
Agora, vamos criar uma função para receber mensagens do WhatsApp através da API do Facebook. Adicione o seguinte código ao arquivo whatsapp.ts
:
import axios from 'axios';
import dotenv from 'dotenv';
dotenv.config();
async function enviarMensagem(numero: string, mensagem: string) {
try {
const { data } = await axios.post(
`https://graph.facebook.com/v14.0/me/messages?access_token=${process.env.ACCESS_TOKEN}`,
{
recipient: { phone_number: numero },
message: { text: mensagem },
}
);
console.log('Mensagem enviada com sucesso:', data);
} catch (error) {
console.error('Erro ao enviar mensagem:', error.response?.data);
}
}
enviarMensagem('+55123456789', 'Olá, isso é uma mensagem de teste!');
Neste exemplo, estamos usando o axios
novamente para fazer uma requisição GET para a API do Facebook. O token de acesso é adicionado à URL. A resposta da API conterá as mensagens recebidas.
Execute o arquivo whatsapp.ts
com o comando ts-node whatsapp.ts
para receber as mensagens.
Conclusão
Neste artigo, exploramos como enviar e receber mensagens para o WhatsApp utilizando Node.js e TypeScript, fazendo uso direto da API do Facebook. Vimos como configurar a API do WhatsApp, como enviar mensagens usando a API do Facebook e como receber mensagens do WhatsApp através da mesma API.
A integração do WhatsApp em seus aplicativos e serviços pode abrir um mundo de possibilidades para automação, comunicação eficiente com os usuários e implementação de chatbots. Ao seguir os passos e exemplos fornecidos neste artigo, você estará pronto para explorar todo o potencial do WhatsApp em seus projetos.
Lembre-se sempre de respeitar as políticas e diretrizes do WhatsApp e do Facebook ao utilizar a API. Agora você está pronto para começar a enviar e receber mensagens para o WhatsApp utilizando Node.js e TypeScript.