Em poucas palavras
- Use
POST /v1/whatsapp/messages/presencepara mostrar digitando…. - Em conexões oficiais Meta e Gupshup,
messageIdé obrigatório e precisa ser o ID de uma mensagem recebida naquela instância. - Em conexões QR,
toé obrigatório emessageIdé opcional;recordingcontinua disponível apenas no QR.
Como usar
Enviecomposing para iniciar o indicador. Informe from com o ID da instância, o telefone E.164 da linha ou o nome da instância. O campo legado instanceId também é aceito; se enviar os dois, from tem prioridade. Pools não são aceitos nesta rota porque a presença precisa de uma linha específica. Em messageId, use o ID externo recebido no webhook oficial (messages[].id). A listagem GET /v1/whatsapp/messages/inbound também retorna esse valor em externalMessageId; o campo id dessa listagem é interno e não serve para a presença oficial.
Conexão oficial Meta ou Gupshup
Este exemplo envia o indicador para a mensagem recebidawamid... usando o próprio número da linha no campo from.
messageId deve ser o ID externo messages[].id do webhook de entrada, igual a externalMessageId na listagem de recebidos. Não use o id interno da listagem. A API verifica que ele pertence à instância e ao workspace da chave. IDs de outra linha, mensagens de saída e IDs ainda não registrados retornam 404 WHATSAPP_PRESENCE_MESSAGE_NOT_FOUND.
Conexão QR (não oficial)
Em QR, informe o destinatário emto. Você pode enviar composing ou recording.
Regras por conexão
Reenvie o indicador apenas quando houver uma espera perceptível. Na API oficial, cada chamada também confirma a leitura da mensagem de entrada; não use esse endpoint só para renovar o indicador.

