TokenAccount ou TokenInstance • Rate-limit: Global (100/min) • Idempotente: não
O módulo /api/message/* cobre o envio de todos os formatos suportados pelo WhatsApp, texto, mídias, sticker, localização, contato, reação, enquete, carrossel, botões, lista, formulário, PIX e status (stories). Todas as rotas validam ownership da instância e aceitam TokenAccount ou TokenInstance.
Endpoints disponíveis
Estrutura comum
Destinatário (number ou to)
A maioria dos endpoints aceita o destinatário no campo number. Os formatos suportados são:
- Número simples:
"5511999999999"(preferido). - JID privado:
"5511999999999@s.whatsapp.net". - JID oculto (
@lid):"123456789012345@lid", identificador anônimo usado pelo WhatsApp em grupos/canais quando o número real não está exposto. - JID grupo:
"120363406289005073@g.us". - JID newsletter:
"120363422585881117@newsletter". - Status broadcast:
"status@broadcast".
Comportamento brasileiro do número
Para números começando com55 (Brasil), o serviço tenta automaticamente variações:
- Com 9 (
5511999999999) - Sem 9 (
551199999999)
400 Number is not registered on WhatsApp.
Campos opcionais comuns
delay é em segundos (não milissegundos). Valor 3 = 3 s de “digitando”.Resposta padrão (200)
Todos os endpoints de envio retornam o mesmo envelopeMessageSentDetails:
data: mentions (quando há menção), replyTo (quando há citação), chat.groupName (quando é grupo), mediaUrl/mediaMimeType/mediaSize/fileName (quando é mídia), vcard (quando é contato).
status ∈ sent | disconnected | invalid_number | mentions_not_supported | reply_message_not_found | reply_message_instance_mismatch | private_reply_failed | send_failed | media_download_failed | media_upload_failed | media_validation_failed | unsupported_media_type | image_conversion_failed | sticker_upload_failed | audio_conversion_failed | invalid_message_id | missing_participant | invalid_request.
Erros comuns
Envelope de erro:
Limites observados
Próximos passos
Enviar texto
Endpoint mais usado, ideal como “Hello World”.
Enviar mídia
Imagem, vídeo, áudio e documento por URL ou base64.
Buscar mensagem por ID
Recupera uma mensagem específica do histórico.
Webhooks
Recebe eventos
message.exchange em tempo real.