O que você vai precisar
- Uma conta na Zapster API (se não tem, crie aqui)
- Uma instância conectada (WABA ou não oficial)
- Seu token de autenticação
1. Agendar uma mensagem
O camposend_at é o que transforma um envio comum em um agendamento. Passe a data e hora no formato ISO 8601 com fuso horário.
message_id porque é com ele que você cancela ou consulta o status depois. Repare que o send_at na resposta vem em UTC, então -03:00 vira +3 horas no horário retornado.
2. Verificar o status
Para conferir se a mensagem ainda está na fila, use a listagem com filtros de data e status.scheduled. Depois que o horário agendado passar, o status muda para sent (ou failed se algo deu errado no envio).
3. Cancelar se precisar
Mudou de ideia? Cancele com um DELETE passando omessage_id.
Perguntas frequentes
Posso agendar para daqui a 1 minuto?
Posso agendar para daqui a 1 minuto?
Sim. O mínimo é 1 minuto no futuro. Se você passar uma data que já passou ou que está a menos de 1 minuto de distância, a API retorna erro de validação.
O que acontece se a instância estiver offline no horário do envio?
O que acontece se a instância estiver offline no horário do envio?
O sistema tenta enviar 3 vezes com intervalo crescente entre as tentativas. Se todas falharem, a mensagem vai para o status
failed com o motivo do erro no campo errors.Quando a instância voltar, ela não reenvia automaticamente mensagens que já falharam. Você precisaria agendar novamente.Posso editar uma mensagem que já foi agendada?
Posso editar uma mensagem que já foi agendada?
Não. Se você precisa alterar o texto, o destinatário ou o horário, cancele a mensagem existente com
DELETE /v1/wa/messages/:id e crie uma nova.Por que minha mensagem agendada falhou?
Por que minha mensagem agendada falhou?
Consulte o histórico com
GET /v1/wa/messages e filtre por status=failed. O campo errors na resposta traz o código e a descrição do problema.Motivos comuns:- A instância estava desconectada no momento do envio
- A janela de 24 horas do WABA expirou (erro 131047)
- O template não foi encontrado (erro 132000)
- O número do destinatário não existe ou está bloqueado
Qual o limite de mensagens agendadas?
Qual o limite de mensagens agendadas?
Depende do seu plano:
Se atingir o limite, a API retorna erro
| Plano | Agendadas simultâneas | Antecedência máxima |
|---|---|---|
| Essential | 10 | 7 dias |
| Pro | 500 | 1 ano |
| Enterprise | 10.000 | Sem limite |
max_scheduled_messages_reached. Você pode cancelar mensagens pendentes para liberar espaço.Por que delivered_at ou read_at estão vazios?
Por que delivered_at ou read_at estão vazios?
Esses campos dependem das configurações de privacidade do destinatário no WhatsApp. Se a pessoa desativou a confirmação de leitura,
read_at nunca será preenchido. Se houve algum problema de rede, delivered_at pode demorar para aparecer.O status da mensagem continua como sent independente desses campos.Funciona com instâncias WABA e não oficiais?
Funciona com instâncias WABA e não oficiais?
Sim, os dois tipos. Não precisa mudar nada na configuração. A API detecta automaticamente o tipo da instância e envia da forma correta.