Toda vez que você clica num botão de mensagem na lista de pedidos, o plugin registra esse envio. Isso evita duplicatas (sem mandar duas vezes a mesma cobrança pra mesma pessoa) e cria um histórico auditável dentro do próprio pedido.
Indicador visual
Cada botão de mensagem na coluna Ações da lista de pedidos tem dois estados:
- Cinza — você ainda não enviou essa mensagem para esse pedido.
- Verde — você já enviou. Passe o mouse sobre o botão pra ver a data e hora exata do envio em um tooltip.
┌─────────────────────────────────┐
│ 🟢 Lembrete (enviado 12/03 14h) │ ← já enviou
│ ⚪ Última chance │ ← não enviou
└─────────────────────────────────┘
Cada mensagem cadastrada na aba Mensagens vira um botão independente, com seu próprio estado. Você pode ter enviado a primeira mensagem ontem e ainda não ter enviado a segunda.
Como o registro acontece
O plugin usa AJAX — quando você clica no botão:
-
O navegador abre o WhatsApp (web ou desktop) com a mensagem pronta.
-
Em paralelo, uma requisição AJAX é disparada para o servidor com
order_idemessage_id. -
O servidor:
-
Atualiza o meta
_whatsapp_message_sentdo pedido com o timestamp atual. -
Adiciona uma nota no histórico do pedido com o texto:
Enviado WhatsApp manualmente: [Título da mensagem]
-
-
O botão na tela atualiza pra verde sem recarregar a página.
O registro é feito quando você clica no botão, não quando o cliente recebe ou lê a mensagem. Se você cancelar o envio depois que o WhatsApp abriu (sem apertar Enter), o pedido ainda fica marcado como "enviado". O plugin não tem como saber.
Nota no histórico do pedido
A cada clique, uma nota privada é adicionada ao histórico do pedido (visível em Pedidos → [editar pedido] → Atividade do pedido):
Enviado WhatsApp manualmente: Lembrete de pagamento
4 de março de 2026 às 14:32
Útil pra:
- Provar pra cliente reclamando que tentou contato.
- Auditar o trabalho da equipe (quem enviou o quê).
- Verificar quanto tempo passou entre cobranças.
Estrutura do meta _whatsapp_message_sent
Devs podem ler diretamente o histórico via meta do pedido:
$order = wc_get_order( 1234 );
$sent = $order->get_meta( '_whatsapp_message_sent' );
// [ 0 => 1709568000, 1 => 1709827200 ]
A chave é o índice da mensagem (na ordem em que aparecem na aba Mensagens) e o valor é o timestamp Unix do envio.
Detalhes da estrutura e da migração do formato legado em Order meta _whatsapp_message_sent.
Não tem como "desfazer" o envio
Não há botão pra resetar o estado verde de volta pra cinza pela UI. Se você precisa apagar o registro (porque enviou errado, por exemplo), edite o pedido manualmente:
- Vá em Pedidos → [editar pedido].
- No painel lateral, clique em Custom fields (precisa estar habilitado em Tela → Opções de tela).
- Encontre
_whatsapp_message_sente edite o array.
Ou peça pra um dev rodar:
$order = wc_get_order( 1234 );
$order->delete_meta_data( '_whatsapp_message_sent' );
$order->save();
Cuidado: isso apaga o histórico completo dessa pedido, todos os envios.
Migração do formato antigo
Em versões anteriores (1.1.x), o plugin usava _whatsapp_message_sent_1 como string única. A partir da v1.2.0, o formato passou a ser array em _whatsapp_message_sent. Pedidos antigos são migrados automaticamente na primeira leitura — sem ação manual.