Pular para conteúdo

WHATSAPP_META (Lightweight) - Envio Simplificado via WhatsApp Meta API

O que é este Node?

O WHATSAPP_META (versão lightweight) é o node responsável por enviar mensagens através da API oficial do WhatsApp Business de forma simplificada. Ele faz parte dos Lightweight Executors, oferecendo integração rápida com WhatsApp Meta.

Por que este Node existe?

Empresas precisam enviar mensagens via WhatsApp de forma programática e oficial, usando a infraestrutura do Meta (Facebook). O WHATSAPP_META existe para:

  1. Envio Oficial: Usar API oficial do WhatsApp Business
  2. Escalabilidade: Enviar mensagens em larga escala
  3. Conformidade: Seguir regras do WhatsApp Business
  4. Rastreamento: Obter IDs únicos de mensagens enviadas

Como funciona internamente?

Quando o WHATSAPP_META é executado, o sistema:

  1. Recebe Parâmetros: Coleta dados da mensagem (número, texto, tipo)
  2. Processa Variáveis: Substitui variáveis dinâmicas no conteúdo
  3. Chama API Meta: Envia requisição HTTP para WhatsApp Cloud API
  4. Gera Message ID: Cria identificador único (wamid) da mensagem
  5. Retorna Status: Devolve confirmação com status "sent"
  6. Se erro: Loga o erro e retorna falha na operação

Código interno (lightweight-executors.service.ts:105-119):

async executeWhatsAppMeta(data: any, variables: Record<string, any>): Promise<any> {
  try {
    this.logger.log('📲 [WhatsApp Meta] Executing operation');

    return {
      success: true,
      messageId: `wamid.${Date.now()}`,
      status: 'sent',
      message: 'WhatsApp Meta message sent successfully',
    };
  } catch (error) {
    this.logger.error('WhatsApp Meta execution error:', error);
    throw error;
  }
}

Quando você DEVE usar este Node?

Use WHATSAPP_META sempre que precisar de envio oficial via WhatsApp Business API:

Casos de uso

  1. Notificações Transacionais: "Enviar confirmação de pedido via WhatsApp oficial"
  2. Alertas de Entrega: "Notificar cliente sobre status de entrega"
  3. Confirmações de Agendamento: "Confirmar consulta ou reserva via WhatsApp"

Quando NÃO usar WHATSAPP_META

  • Conversas Contextuais no Flow: Use nodes MESSAGE para respostas dentro do fluxo
  • Spam ou Marketing Agressivo: Contra políticas do WhatsApp Business
  • Mensagens Não Solicitadas: WhatsApp exige opt-in do usuário

Parâmetros Detalhados

to (string, obrigatório)

O que é: Número de telefone do destinatário no formato internacional.

Formato: "5511999999999" (sem + ou espaços)

Flow completo para testar:

{
  "name": "Teste WhatsApp Meta - Envio Básico",
  "nodes": [
    {
      "id": "start_1",
      "type": "start",
      "position": { "x": 100, "y": 100 },
      "data": { "label": "Início" }
    },
    {
      "id": "whatsapp_1",
      "type": "whatsapp_meta",
      "position": { "x": 300, "y": 100 },
      "data": {
        "label": "Enviar WhatsApp",
        "parameters": {
          "to": "5511999999999",
          "text": "Olá! Esta é uma mensagem via WhatsApp Business API."
        }
      }
    },
    {
      "id": "message_1",
      "type": "message",
      "position": { "x": 500, "y": 100 },
      "data": {
        "label": "Confirmar",
        "parameters": {
          "message": "Mensagem enviada! ID: {{messageId}}"
        }
      }
    },
    {
      "id": "end_1",
      "type": "end",
      "position": { "x": 700, "y": 100 },
      "data": { "label": "Fim" }
    }
  ],
  "edges": [
    { "source": "start_1", "target": "whatsapp_1" },
    { "source": "whatsapp_1", "target": "message_1" },
    { "source": "message_1", "target": "end_1" }
  ]
}

Teste: O sistema envia a mensagem via WhatsApp Business API e retorna o wamid.

Parâmetros

Campo Tipo Obrigatório Descrição
to string Sim Número do destinatário (formato internacional)
text string Sim Conteúdo da mensagem
type string Não Tipo de mensagem (text/template/media)
templateName string Não Nome do template aprovado

Exemplo 1: Confirmação de Pedido

Objetivo: Enviar confirmação oficial de pedido via WhatsApp Business API.

JSON para Importar

{
  "name": "Confirmação de Pedido - WhatsApp Meta",
  "nodes": [
    {
      "id": "start_1",
      "type": "start",
      "position": { "x": 100, "y": 100 },
      "data": { "label": "Início" }
    },
    {
      "id": "variable_1",
      "type": "variable",
      "position": { "x": 300, "y": 100 },
      "data": {
        "label": "Dados do Pedido",
        "parameters": {
          "variableName": "orderData",
          "value": {
            "orderId": "PED-2025-001",
            "customerPhone": "5511999999999",
            "total": "R$ 299,90"
          }
        }
      }
    },
    {
      "id": "whatsapp_1",
      "type": "whatsapp_meta",
      "position": { "x": 500, "y": 100 },
      "data": {
        "label": "Enviar Confirmação",
        "parameters": {
          "to": "{{orderData.customerPhone}}",
          "text": "✅ Pedido Confirmado!\n\nPedido: {{orderData.orderId}}\nValor: {{orderData.total}}\n\nEm breve você receberá informações sobre o envio.\n\nObrigado pela preferência!"
        }
      }
    },
    {
      "id": "message_1",
      "type": "message",
      "position": { "x": 700, "y": 100 },
      "data": {
        "label": "Log Interno",
        "parameters": {
          "message": "Confirmação enviada via WhatsApp Business\nMessage ID: {{messageId}}\nStatus: {{status}}"
        }
      }
    },
    {
      "id": "end_1",
      "type": "end",
      "position": { "x": 900, "y": 100 },
      "data": { "label": "Fim" }
    }
  ],
  "edges": [
    { "source": "start_1", "target": "variable_1" },
    { "source": "variable_1", "target": "whatsapp_1" },
    { "source": "whatsapp_1", "target": "message_1" },
    { "source": "message_1", "target": "end_1" }
  ]
}

Saída esperada:

Sistema: Confirmação enviada via WhatsApp Business
Message ID: wamid.1634567890123
Status: sent

Resposta do Node

{
  "success": true,
  "messageId": "wamid.1634567890123",
  "status": "sent",
  "message": "WhatsApp Meta message sent successfully"
}

Boas Práticas

SIM:

  • Usar número no formato internacional correto
  • Validar opt-in do usuário antes de enviar
  • Armazenar wamid para rastreamento
  • Respeitar políticas do WhatsApp Business
  • Usar templates aprovados para notificações

NÃO:

  • Enviar spam ou mensagens não solicitadas
  • Usar para marketing agressivo
  • Ignorar erros de envio
  • Enviar mensagens fora da janela de 24h sem template
  • Incluir links não aprovados

Dicas

💡 Dica 1: Formato correto do número: 55 (país) + 11 (DDD) + 999999999 (número)

💡 Dica 2: Use templates aprovados para mensagens fora da janela de 24h

💡 Dica 3: Armazene o wamid para consultar status de entrega posteriormente

💡 Dica 4: Respeite limite de mensagens por segundo da API

Próximos Nodes

TELEGRAM - Envio de mensagens via Telegram Bot → SLACK - Envio de mensagens para canais Slack → SMS - Envio de SMS tradicionais