FernandoAcosta.Netdocs

Indicador de envio e histórico

3 min de leituraAtualizado há 5 dias

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:

  1. O navegador abre o WhatsApp (web ou desktop) com a mensagem pronta.

  2. Em paralelo, uma requisição AJAX é disparada para o servidor com order_id e message_id.

  3. O servidor:

    • Atualiza o meta _whatsapp_message_sent do pedido com o timestamp atual.

    • Adiciona uma nota no histórico do pedido com o texto:

      Enviado WhatsApp manualmente: [Título da mensagem]

  4. 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:

  1. Vá em Pedidos → [editar pedido].
  2. No painel lateral, clique em Custom fields (precisa estar habilitado em Tela → Opções de tela).
  3. Encontre _whatsapp_message_sent e 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.

Foi útil?