Templates do WhatsApp
O WhatsApp Business exige templates aprovados para qualquer mensagem enviada fora da janela de 24 horas de atendimento. Os templates pertencem e são aprovados pela Meta; o Zellbox os espelha localmente para que os operadores vejam o que está aprovado sem sair do app e pré-visualizem com valores realistas por idioma.
A página é dividida em duas abas — Workflows (padrão) e Todos os templates — e um filtro de idioma escopado ao workspace que restringe ambas as abas aos locales que seus clientes realmente falam.

O filtro de idioma
Um seletor de chips e dropdown fica acima das abas:
- A seleção inicial espelha a mesma cascata que o Zellbox usa ao escolher um template para um envio real: idioma padrão do cliente do workspace → seu idioma da UI → inglês. Assim você cai primeiro no locale em que seus lembretes realmente saem.
- Clique em
+ Adicionar idiomapara ampliar a visão. O dropdown lista todos os locales de lançamento suportados (12 hoje: inglês, espanhol, português-BR, hindi, indonésio, italiano, catalão, alemão, francês, turco, árabe, filipino). - Clique no X de um chip para remover um idioma. O último chip não pode ser removido — você veria uma página em branco.
- Salvo por workspace no navegador. Reabrir a página restaura a mesma seleção.
Aba Workflows
Um workflow é um gatilho do lado Zellbox que dispara um template do WhatsApp em um momento específico — o disparo de lembrete de compromisso é o principal hoje. Cada card mostra:
- O nome e a descrição do workflow.
- Uma linha por vínculo de idioma: qual template aprovado pela Meta é disparado quando um cliente com aquele idioma recebe o lembrete.
- Um botão
+ Adicionar idiomano card para vincular um novo locale (só faz sentido para tenants com seu próprio número do WhatsApp Business; workspaces no número compartilhado herdam os vínculos da plataforma).
O disparo de lembrete de compromisso
O Zellbox traz três templates de lembrete aprovados e escolhe um por disparo com base no formato da visita:
| Formato da visita | Template | Slot de corpo usado |
|---|---|---|
| Presencial / telefone, com local | zellbox_appointment_reminder | header + body (com pin de localização) |
| Telefone ou virtual sem local utilizável | zellbox_appointment_reminder_simple | header + body (sem localização) |
| Virtual com link do Google Meet | zellbox_appointment_reminder_virtual | header + body + botão do Google Meet |
Os três templates compartilham cinco variáveis nomeadas: firstName, serviceLabel (o título do evento ou o padrão "appointment"), providerLabel (gerente atribuído ou nome do workspace), whenLabel (localizado — "avui a les 14:30" / "morgen um 14:30 Uhr" / …) e location (apenas na variante padrão). A variante virtual adiciona uma sexta: meetCode (o slug do Google Meet, encaixado no botão URL Entrar na reunião).
O Zellbox escolhe automaticamente um dos três no momento do disparo com base em event.visitMode + se existe um local / link do Meet — o operador nunca precisa escolher. Se o idioma preferido do cliente ainda não estiver vinculado, o resolver percorre vínculo do workspace → vínculo da plataforma → fallback em inglês, para que o cliente sempre receba uma mensagem.
Aba Todos os templates
Lista cada linha de template do lado Meta para o workspace, uma entrada por par (nome do template × idioma), filtrada pela sua seleção de idioma acima. Colunas:
| Coluna | O que |
|---|---|
| Nome | O nome do template Meta (ex.: zellbox_appointment_reminder_virtual) |
| Idioma | Código BCP-47 (ex.: es, pt-BR, ca) |
| Status | APPROVED / PAUSED / REJECTED / PENDING / IN_APPEAL / DISABLED / DELETED. Apenas APPROVED pode ser enviado |
| Categoria | UTILITY / MARKETING / AUTHENTICATION |
| Sincronizado | Horário da última sincronização da Meta para esta linha |
Um toggle Mostrar todos os status revela linhas não APPROVED (geralmente as PENDING que a Meta ainda está revisando).
Pré-visualizando um template
Clique no ícone de olho de qualquer linha para abrir o painel de pré-visualização. O painel renderiza o template como o cliente real do WhatsApp vai exibir — com os valores de exemplo certos por locale preenchidos:
- Header em negrito (ex.: Recordatorio para María em espanhol, Erinnerung für Sophie em alemão).
- Body com markdown do WhatsApp interpretado:
*negrito*renderiza em negrito,_itálico_em itálico,~tachado~tachado. - Footer menor e com menos contraste (ex.: Enviado por Zellbox).
- Botões como chips clicáveis abaixo do balão. Botões URL são clicáveis para que você verifique o destino; botões de telefone abrem
tel:; botões de resposta rápida renderizam inertes com uma dica explicando que são uma ação do dispositivo do cliente.
Os valores de exemplo são típicos do locale por padrão: María com "limpieza dental" e "la Dra. Pérez" para espanhol, Anna com "Zahnreinigung" e "Dr. Müller" para alemão, etc. — para que a pré-visualização leia exatamente como um lembrete real, não como um fragmento em inglês encaixado numa frase estrangeira.
O mesmo renderizador alimenta o popup de chat do WhatsApp do operador na página de detalhe do cliente, então o que você vê aqui é o que seus operadores veem ao abrir a thread de um cliente.
Atualizando os templates
O pipeline de aprovação da Meta é assíncrono — assim que um novo template é enviado (pela equipe da Meta para o disparo de plataforma ou pela sua equipe para seu próprio número do WhatsApp Business), pode levar de minutos a dias para aprovar. O Zellbox sincroniza automaticamente a cada hora; administradores podem pedir uma atualização manual também:
- Abra Modelos → WhatsApp na barra lateral.
- Clique em Atualizar agora na barra de ferramentas.
- O Zellbox puxa a lista mais recente da Meta. Novos templates aparecem; templates que a Meta rejeitou ou removeu têm o status atualizado.
Criando novos templates
A criação de novos templates acontece no Meta Business Manager (para tenants com seu próprio número do WhatsApp Business) — o Zellbox não consegue criar templates do lado da Meta. Os templates do disparo de plataforma acima são aprovados pela Meta para a equipe Zellbox e compartilhados com cada workspace no número compartilhado do Zellbox; workspaces no tier gratuito e ainda não conectados usam esses automaticamente.