Skip to content

Configuração do Webhook

O webhook é uma parte essencial da integração com a API WaFlowZapi, pois é através dele que você receberá todas as mensagens enviadas para o seu número do WhatsApp.

Requisitos do Webhook

  1. URL HTTPS válida e acessível publicamente
  2. Endpoint capaz de receber requisições POST
  3. Capacidade de processar JSON

Formato das Mensagens

Quando uma mensagem é recebida no seu número do WhatsApp, nosso sistema fará uma requisição POST para sua URL de webhook com o seguinte formato:

json
{
  "messageId": "XXXXXXXXXXXXX",
  "from": "5511999999999",
  "timestamp": "1234567890",
  "type": "text",
  "content": {
    "text": "Olá, como vai?"
  }
}

Tipos de Mensagens

O campo type pode ter os seguintes valores:

  • text: Mensagens de texto
  • image: Imagens
  • video: Vídeos
  • audio: Mensagens de áudio
  • document: Documentos
  • location: Localização
  • contact: Contatos

Configuração

  1. Desenvolva um endpoint em seu servidor para receber as mensagens
  2. Configure a URL do webhook no painel de controle da WaFlowZapi
  3. Teste o recebimento de mensagens

Boas Práticas

  1. Implemente tratamento de erros adequado
  2. Responda rapidamente às requisições (máximo 5 segundos)
  3. Valide a autenticidade das requisições
  4. Mantenha logs das mensagens recebidas
  5. Implemente retry em caso de falhas

Exemplo de Implementação

javascript
// Exemplo usando Express.js
const express = require('express');
const app = express();

app.use(express.json());

app.post('/webhook', (req, res) => {
  const { messageId, from, type, content } = req.body;

  // Processa a mensagem recebida
  console.log(`Nova mensagem de ${from}: ${content.text}`);

  // Responde com sucesso
  res.status(200).json({ status: 'received' });
});

app.listen(3000, () => {
  console.log('Webhook server running on port 3000');
});

Tratamento de Erros

  • Sempre retorne um status HTTP 200 se a mensagem foi recebida com sucesso
  • Implemente um sistema de retry para mensagens não processadas
  • Monitore o endpoint para garantir disponibilidade

Segurança

  • Use sempre HTTPS
  • Implemente autenticação no seu endpoint
  • Valide o conteúdo das mensagens antes de processá-las
  • Mantenha suas dependências atualizadas