Integrando o WhatsApp em uma API Desenvolvida em Node.js

Com mais de 2 bilhões de usuários ativos mensais, o WhatsApp tornou-se uma ferramenta indispensável de comunicação no mundo todo. Muitas empresas estão buscando maneiras de integrar o WhatsApp aos seus sistemas para melhorar a comunicação com os clientes. Se você deseja integrar o WhatsApp a uma API desenvolvida em Node.js, este artigo é para você.

1. Escolhendo uma solução

Existem várias maneiras de integrar o WhatsApp com uma API em Node.js. A maneira mais popular é através de provedores de serviços como o Twilio, MessageBird ou a própria API Business do WhatsApp. Aqui, focaremos na integração com a API do Twilio, devido à sua ampla adoção e robustez.

2. Criando uma conta no Twilio

  • Visite o site oficial do Twilio e crie uma conta.
  • Depois de registrar e verificar sua conta, navegue até o painel de controle e note o ACCOUNT SID e o AUTH TOKEN. Você precisará deles mais tarde.

3. Configurando sua API Node.js

3.1. Inicializando seu projeto

Se você ainda não tem um projeto Node.js, crie um usando:

mkdir meu_projeto_whatsapp
cd meu_projeto_whatsapp
npm init -y

3.2. Instalando as dependências

Instale as bibliotecas necessárias:

npm install express twilio body-parser

4. Escrevendo o código

Crie um arquivo chamado server.js e comece a escrever seu código.

const express = require('express');
const bodyParser = require('body-parser');
const twilio = require('twilio');
const app = express();

// Use o body-parser para analisar corretamente os payloads
app.use(bodyParser.urlencoded({ extended: false }));

// Substitua pelos seus valores reais
const ACCOUNT_SID = 'seu_account_sid';
const AUTH_TOKEN = 'seu_auth_token';
const client = new twilio(ACCOUNT_SID, AUTH_TOKEN);

app.post('/sendWhatsApp', (req, res) => {
    const to = req.body.to;
    const message = req.body.message;

    client.messages
        .create({
            from: 'whatsapp:+seu_numero_sandbox',
            body: message,
            to: 'whatsapp:' + to
        })
        .then(message => {
            res.send(`Mensagem enviada com ID ${message.sid}`);
        })
        .catch(error => {
            res.status(500).send(error);
        });
});

const PORT = 3000;
app.listen(PORT, () => {
    console.log(`Servidor rodando na porta ${PORT}`);
});

5. Configurando o Sandbox do Twilio

Antes de poder enviar mensagens através do Twilio, você precisa configurar o Sandbox do WhatsApp. Siga estas etapas:

  • No painel do Twilio, vá para a seção do WhatsApp e clique em “Sandbox”.
  • Siga as instruções para vincular seu número de telefone ao Sandbox.
  • Anote o número do Sandbox, pois você o usará no campo “from” ao enviar mensagens.

6. Testando sua API

Agora, com tudo configurado, você pode testar sua API. Use ferramentas como o Postman para enviar uma requisição POST para http://localhost:3000/sendWhatsApp com os campos to e message.

7. Conclusão

Esta é uma introdução básica sobre como integrar o WhatsApp em uma API Node.js. Existem muitas outras funcionalidades e nuances que você pode explorar, como receber mensagens, enviar mídias, configurar webhooks, entre outras. A documentação oficial do Twilio é um excelente recurso para aprofundar seus conhecimentos.

Lembre-se de que, para produção, você precisará de uma conta WhatsApp Business e aprovação do WhatsApp para enviar mensagens fora do ambiente Sandbox.

Espero que este guia tenha sido útil e desejo-lhe sucesso na integração do WhatsApp ao seu projeto Node.js!

Deixe um comentário

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