Integração WhatsApp Business para emergências de encanamento em Santo Amaro
Aprenda a integrar WhatsApp Business API no WordPress para atender emergências de encanamento 24h com automação e respostas rápidas.
Mais de 60% dos chamados de emergência em encanamento chegam fora do horário comercial, segundo dados de centrais de atendimento da capital paulista. Em Santo Amaro, onde a densidade de imóveis verticais e comércio intenso gera picos de demanda imprevisíveis, a velocidade da primeira resposta define se o cliente fecha o serviço ou procura o concorrente. A integração nativa do WhatsApp Business API ao WordPress elimina a dependência de operadores humanos 24h e transforma o site em uma central de triagem automatizada.
O diferencial técnico está na arquitetura: não se trata apenas de colocar um botão de chat no rodapé. A solução profissional exige webhooks seguros, templates pré-aprovados pelo Meta, roteamento inteligente por tipo de ocorrência e persistência de contexto entre mensagens — tudo rodando sobre a infraestrutura do WordPress sem comprometer o Core Web Vitals. Abaixo, detalho cada camada dessa implementação.
Arquitetura da integração: webhooks, tokens e segurança
O ponto de partida é o endpoint HTTPS que receberá os eventos do WhatsApp. No WordPress, crie um endpoint customizado via register_rest_route com namespace próprio (ex: whatsapp/v1) e métodos POST para messages, statuses e template_approval. Valide a assinatura X-Hub-Signature-256 em ogni requisição usando o app_secret — isso impede injeção de payloads maliciosos. Armazene o token de acesso permanente (permanent_token) como option criptografada (update_option com wp_slash + openssl_encrypt) e nunca em wp-config.php.
O fluxo de handshake inicial exige responder ao desafio hub.challenge do Meta em até 20 segundos. Use rest_pre_serve_request para interceptar e responder antes do bootstrap completo do WordPress, garantindo latência mínima. Para ambientes de staging, configure hub.verify_token dinâmico via variável de ambiente — isso evita conflitos entre múltiplos desenvolvedores testando simultaneamente.
Templates de emergência: estrutura e aprovação acelerada
Templates de categoria UTILITY com nome emergencia_encanamento_santo_amaro recebem prioridade na fila de aprovação do Meta. Estruture o corpo com variáveis posicionais: {{1}} = tipo de emergência (vazamento, entupimento, refluxo), {{2}} = endereço completo, {{3}} = tempo estimado de chegada, {{4}} = nome do técnico. Exemplo aprovado: “SOS Encanamento: {{1}} confirmado em {{2}}. Técnico {{4}} a caminho — previsão {{3}} min. Responda 1 para confirmar ou 2 para reagendar.”
Submeta via POST para /{whatsapp_business_account_id}/message_templates com language: pt_BR. Acompanhe o status via webhook template_approval — quando status: APPROVED, armazene o template_id no WordPress para uso dinâmico. Mantenha biblioteca de 5-7 variações (horário comercial, madrugada, feriado, fim de semana) para evitar rejeição por repetição.
Roteamento inteligente por geolocalização e gravidade
Implemente um classificador leve no functions.php ou plugin dedicado: extraia palavras-chave da mensagem inbound (preg_match para “vazamento”, “cano estourado”, “esgoto voltando”, “sem água”) e atribua score de gravidade (1-5). Cruze com o CEP informado ou detectado via geolocation API do navegador (com consentimento) para definir zona em Santo Amaro: Chácara Santo Antônio, Granja Julieta, Brooklin Novo, Campo Belo.
O roteamento distribui para técnicos de plantão via webhook paralelo: POST para endpoint do sistema de gestão de campo (ou planilha Google Sheets via Apps Script se não houver CRM). Cada técnico recebe payload JSON padronizado: { "emergency_id": "WP-20241215-0042", "severity": 4, "zone": "Brooklin Novo", "address": "Rua Alexandre Dumas, 1200", "contact": "5511999998888", "template_id": "1234567890" }.
Persistência de contexto e histórico no WordPress
Crie Custom Post Type whatsapp_emergency com campos ACF: emergency_id, wa_contact_id, status (novo, triado, a_caminho, em_atendimento, finalizado), severity, zone, technician_id, messages_log (repeater com direction, content, timestamp, message_id). Use wp_insert_post no webhook de entrada para criar o registro inicial.
Atualize o messages_log a cada evento inbound/outbound via update_field. Isso garante auditoria completa, permite relatórios de SLA (tempo médio primeira resposta, tempo até chegada) e atende exigências de LGPD — o titular pode solicitar exportação completa via ferramenta nativa wp_privacy_personal_data_exporters.
Performance: assíncrono, cache e Core Web Vitals
Processamento pesado (classificação, roteamento, CRM) deve rodar em background. Use wp_schedule_single_event com wp_async_task ou fila Redis via wp-cli para desacoplar o webhook (resposta 200 OK em < 100ms) da lógica de negócio. Cacheie template_id e technician_schedule em transient com TTL de 15 min — evita consultas repetidas à API do Meta e ao banco.
Para não impactar LCP/CLS do frontend, carregue o botão de WhatsApp via IntersectionObserver só quando o usuário rola até a seção de contato. O script do widget (<script src="https://connect.facebook.net/pt_BR/sdk/xfbml.customerchat.js"></script>) deve ter async e defer. Teste no eliminando-recursos-bloqueantes-de-renderizacao-no-wordpress para validar ausência de blocking resources.
Conformidade LGPD e boas práticas de retenção
No primeiro contato, envie template lgpd_consentimento com botões “Aceito” / “Não aceito”. Armazene o message_id da resposta como prova de consentimento. Configure wp_cron diário para anonimizar registros > 2 anos: substitua wa_contact_id por hash SHA-256, limpe messages_log mantendo apenas metadados de SLA.
Documente tudo na política de privacidade: finalidade (atendimento emergencial), base legal (legítimo interesse + consentimento), compartilhamento (técnicos de campo, Meta), direitos do titular. Use o plugin autenticacao-via-application-passwords-na-rest-api para proteger endpoints administrativos de exportação/exclusão de dados.
Checklist de deploy em produção
- Validar SSL/TLS 1.2+ no endpoint webhook (teste via
openssl s_client -connect seu-dominio.com:443) - Confirmar
permanent_tokenativo e com escopowhatsapp_business_management, whatsapp_business_messaging - Testar 5 cenários: vazamento madrugada, entupimento fim de semana, refluxo feriado, sem água horário comercial, gás (fora escopo — deve responder “não atendemos”)
- Verificar logs de
wp_debug.logpor 48h sem erroscURL error 28(timeout) ou401 Unauthorized - Simular 100 requisições simultâneas via
k6ouab— latência p95 < 200ms no webhook - Validar exportação LGPD funcional para contato de teste
- Configurar alerta no UptimeRobot/Uptime Kuma para endpoint webhook (HTTP 200 a cada 5 min)
- Treinar 2 técnicos no fluxo de recebimento via JSON e resposta pelo WhatsApp Web
- Agendar revisão mensal de templates rejeitados/expired no Meta Business Manager
A integração bem-sucedida transforma o site WordPress em uma central de comando para emergências hidráulicas, reduzindo o tempo de primeira resposta de horas para segundos. A chave está na separação clara entre camada de recepção (webhook rápido), camada de decisão (roteamento assíncrono) e camada de execução (técnicos em campo) — tudo auditável e escalável. Para aprofundar na arquitetura de plugins que suportam essa complexidade, veja como-criar-blocos-gutenberg-dinamicos-com-react e cabeamento-estruturado-em-cambuci-garante-velocidade-para-staging-wordpress.
Checklist prático
Perguntas frequentes
Como configurar o WhatsApp Business API no WordPress para atendimento 24h?
Você precisa criar uma conta no Meta for Developers, configurar um aplicativo Business, obter o token de acesso permanente e usar um plugin ou código personalizado para conectar a API ao WordPress via webhooks.
Quais são os requisitos técnicos para a integração funcionar corretamente?
Servidor com PHP 7.4+, cURL habilitado, certificado SSL válido, endpoint HTTPS para receber webhooks e capacidade de processar requisições assíncronas sem timeout.
Como criar mensagens de template aprovadas pelo WhatsApp para emergências?
No Meta Business Manager, crie templates com categoria 'UTILITY' ou 'MARKETING', use variáveis dinâmicas para dados do cliente e envie para aprovação — templates de emergência costumam ser aprovados em minutos.
É possível integrar com sistemas de agendamento existentes no site?
Sim, usando webhooks bidirecionais: o WhatsApp recebe a solicitação, o WordPress processa via REST API e atualiza o calendário, depois confirma ao cliente pelo mesmo canal.
Como garantir conformidade com a LGPD no atendimento via WhatsApp?
Obtenha consentimento explícito no primeiro contato, armazene apenas dados necessários, ofereça opção de exclusão imediata e documente todo fluxo de dados em sua política de privacidade.
Qual a melhor forma de escalar o atendimento automatizado para múltiplos técnicos?
Implemente roteamento baseado em tags: classifique a emergência via palavras-chave, distribua para técnicos de plantão via webhook e use respostas automáticas de status até a chegada.