Pular para o conteúdo principal

O que são mensagens agendadas

Mensagens agendadas permitem que você envie uma mensagem via API hoje, mas ela só será entregue ao destinatário em uma data e hora que você escolher. Basta incluir o campo send_at na requisição de envio e a Zapster cuida do resto. Isso funciona para qualquer tipo de mensagem: texto, mídia (imagem, áudio, vídeo, documento), templates e mensagens com botões. Você não precisa montar cron jobs, filas ou timers no seu sistema. A Zapster armazena a mensagem e garante o envio no horário certo. Na prática, é como deixar uma mensagem programada no WhatsApp, só que via API e com controle total sobre o que acontece em cada etapa.

Casos de uso

  • Lembretes de pagamento: agendar uma cobrança para o dia do vencimento da fatura
  • Follow-ups de venda: mandar uma mensagem 2 dias após o primeiro contato com um lead
  • Campanhas com horário definido: preparar tudo na segunda-feira e distribuir os envios ao longo da semana
  • Confirmações de consulta: lembrar o paciente 1 dia antes do agendamento
  • Onboarding de clientes: enviar dicas de uso nos primeiros dias após o cadastro
  • Pesquisas de satisfação: disparar NPS alguns dias depois de uma compra ou atendimento

Como funciona

O fluxo é direto:
  1. Você envia um POST /v1/wa/messages com o campo send_at preenchido com a data e hora desejada
  2. A Zapster armazena a mensagem e cria um agendamento interno
  3. No horário definido, a mensagem é enviada automaticamente pela instância configurada
Se o envio falhar (instância offline, número bloqueado, problema de rede), o sistema faz até 3 tentativas. Se todas falharem, o status da mensagem vai para failed e o campo errors traz os detalhes do problema.

Ciclo de vida da mensagem

Toda mensagem agendada passa pelos seguintes estados:
DeParaQuando acontece
scheduledMensagem criada via API com send_at
scheduledsentEnviada com sucesso no horário agendado
scheduledfailedFalha no envio após 3 tentativas
scheduledcanceledCancelada pelo usuário via DELETE /v1/wa/messages/:id
Depois que a mensagem atinge o status sent, o sistema também registra os timestamps delivered_at (entrega confirmada no aparelho) e read_at (destinatário leu a mensagem). Mas o status continua como sent — entrega e leitura são rastreadas apenas por timestamps.

Limites por plano

EssentialProEnterprise
Agendadas simultâneas1050010.000
Antecedência máxima7 dias1 anoSem limite
Retenção do histórico24 horas30 dias180 dias
Explicando cada linha:
  • Agendadas simultâneas: é o número de mensagens com status scheduled que podem existir ao mesmo tempo na sua conta. Se você tem 10 mensagens pendentes no plano Essential, precisa esperar uma ser enviada (ou cancelar alguma) antes de agendar outra.
  • Antecedência máxima: é o quão longe no futuro você pode agendar. No plano Essential, até 7 dias. No Pro, até 1 ano.
  • Retenção do histórico: por quanto tempo você consegue consultar mensagens já enviadas. No Essential, apenas as últimas 24 horas ficam disponíveis para consulta.

Compatibilidade

Funciona com instâncias oficiais (WABA) e não oficiais (QR code). Não precisa mudar nada na configuração da sua instância para usar agendamento.

Sobre timezones

O campo send_at aceita datas no formato ISO 8601, que inclui informação de timezone. Na prática, você tem duas opções:
  • Enviar com timezone explícito: "2026-03-30T09:00:00-03:00" (horário de Brasília)
  • Enviar em UTC: "2026-03-30T12:00:00Z"
Os dois exemplos acima representam o mesmo momento. A diferença é só a forma de escrever. A resposta da API sempre retorna datas em UTC, independente do timezone que você usou no envio.
Se você está no Brasil e não quer fazer conta de fuso horário, envie a data no horário local com -03:00 no final. Exemplo: "2026-03-30T09:00:00-03:00" para enviar às 9h da manhã no horário de Brasília.