Enviando e Recebendo Mensagens para o WhatsApp via Node.js + TypeScript usando a API do Facebook

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:

  1. Node.js instalado em seu sistema.
  2. Um editor de código de sua preferência.
  3. 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:

  1. Acesse a página de desenvolvedores do Facebook (https://developers.facebook.com) e faça login com sua conta.
  2. Crie um novo aplicativo clicando em “Meus aplicativos” e em seguida em “+ Criar Aplicativo”.
  3. Insira um nome para o seu aplicativo e clique em “Criar Aplicativo”.
  4. No painel do aplicativo, vá para a seção “Produtos” e clique em “Adicionar um produto”.
  5. Selecione “WhatsApp Business API” e siga as instruções para configurar sua conta de negócios e número de telefone do WhatsApp.
  6. 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:

  1. Crie um novo diretório para o seu projeto e navegue até ele no terminal.
  2. Inicie um novo projeto Node.js executando o comando npm init e seguindo as instruções para configurar o arquivo package.json.
  3. 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.

  1. 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.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *