Pular para o conteúdo principal
POST
/
api
/
chat
/
presence
/
:instance
Enviar presença
curl --request POST \
  --url https://api.example.com/api/chat/presence/:instance \
  --header 'Content-Type: application/json' \
  --header 'token: <token>' \
  --data '
{
  "number": "<string>",
  "state": "<string>",
  "duration": 123
}
'

Documentation Index

Fetch the complete documentation index at: https://docs.ryzeapi.cloud/llms.txt

Use this file to discover all available pages before exploring further.

Auth: TokenAccount ou TokenInstanceRate-limit: Global (100/min) • Idempotente: sim (efêmero) Emite indicador de presença (“digitando…”, “gravando áudio…”, ou pausa) para um chat. Ideal para simular interação realista antes de enviar uma mensagem.

Exemplos

Digitando 5s

Mostra o indicador “digitando…” no chat do destinatário e dispara pause automaticamente após 5 segundos (graças ao duration: 5). Ideal para preceder o envio de uma mensagem de texto.
curl -X POST "https://ryzeapi.cloud/api/chat/presence/$Instance_Name" \
  -H "token: $Token_Instance" \
  -H "Content-Type: application/json" \
  -d '{
    "number": "5511999999999",
    "state": "typing",
    "duration": 5
  }'

Gravando áudio

Exibe “gravando áudio…” com state: "recording". Sem duration, o indicador permanece até o WhatsApp expirá-lo naturalmente (~5–10s) ou até você enviar pause manualmente.
curl -X POST "https://ryzeapi.cloud/api/chat/presence/$Instance_Name" \
  -H "token: $Token_Instance" \
  -H "Content-Type: application/json" \
  -d '{
    "number": "5511999999999",
    "state": "recording"
  }'

Cancelar indicador

Com state: "pause", encerra imediatamente qualquer indicador “digitando…” ou “gravando…” ativo no chat. Útil quando um fluxo automatizado termina antes do duration previsto.
curl -X POST "https://ryzeapi.cloud/api/chat/presence/$Instance_Name" \
  -H "token: $Token_Instance" \
  -H "Content-Type: application/json" \
  -d '{
    "number": "5511999999999",
    "state": "pause"
  }'

Resposta de sucesso

200 OK
{
  "success": true,
  "message": "Presence 'typing' sent successfully (will auto-pause after 5 seconds)",
  "chat_jid": "5511999999999@s.whatsapp.net",
  "state": "typing",
  "duration": 5
}

Path parameters

instance
string
obrigatório
Nome da instância.

Headers

token
string
obrigatório
TokenAccount ou TokenInstance.

Request body

number
string
obrigatório
Número ou JID do chat.
state
string
obrigatório
typing / recording / pause / paused (case-insensitive).
duration
int
padrão:"0"
Segundos até auto-pause (0–60). Quando >0 e state é typing/recording, a API envia pause automaticamente após esse intervalo. Ignorado em pause/paused.

Estados aceitos

stateEfeito
typing”digitando…” no chat do destinatário
recording”gravando áudio…”
pause / pausedCancela qualquer indicador atual

Notas

  • Presenças são efêmeras, não persistem em banco e o WhatsApp expira o indicador no celular do destinatário em ~5–10s mesmo sem pause explícito.
  • duration > 60 é truncado para 60 (cap interno).
  • Em chats onde o destinatário desativou as confirmações de presença, o indicador pode não aparecer.

Respostas de erro

HTTPerror.messageQuando
400Invalid request bodyJSON malformado.
400Number is requiredCampo ausente.
400State is required. Use 'typing', 'recording', or 'pause'state vazio.
400Invalid state. Use 'typing', 'recording', or 'pause'Fora do enum.
401Invalid token
404Instance not found
503Instance is not connected to WhatsAppSem sessão ativa.