Saltar al contenido principal
POST
/
api
/
chat
/
presence
/
:instance
Enviar presencia
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 o TokenInstanceRate-limit: Global (100/min) • Idempotente: sí (efímero) Emite un indicador de presencia (“escribiendo…”, “grabando audio…” o pausa) hacia un chat. Ideal para simular interacción realista antes de enviar un mensaje.

Ejemplos

Escribiendo por 5s

Muestra el indicador “escribiendo…” en el chat del destinatario y dispara pause automáticamente tras 5 segundos (gracias a duration: 5). Ideal para preceder el envío de un mensaje 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
  }'

Grabando audio

Muestra “grabando audio…” con state: "recording". Sin duration, el indicador permanece hasta que WhatsApp lo expira naturalmente (~5–10s) o hasta que envíes 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

Con state: "pause", finaliza inmediatamente cualquier indicador “escribiendo…” o “grabando…” activo en el chat. Útil cuando un flujo automático termina antes del duration planeado.
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"
  }'

Respuesta exitosa

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
}

Parámetros de ruta

instance
string
requerido
Nombre de la instancia.

Cabeceras

token
string
requerido
TokenAccount o TokenInstance.

Cuerpo de la solicitud

number
string
requerido
Número de teléfono o JID del chat.
state
string
requerido
typing / recording / pause / paused (sin distinguir mayúsculas/minúsculas).
duration
int
predeterminado:"0"
Segundos hasta el auto-pause (0–60). Cuando es >0 y state es typing/recording, la API envía automáticamente pause tras ese intervalo. Ignorado cuando es pause/paused.

Estados aceptados

stateEfecto
typing”escribiendo…” en el chat del destinatario
recording”grabando audio…”
pause / pausedCancela cualquier indicador actual

Notas

  • Las presencias son efímeras, no se persisten, y WhatsApp expira el indicador en el teléfono del destinatario en ~5–10s incluso sin un pause explícito.
  • duration > 60 se trunca a 60 (cap interno).
  • En chats donde el destinatario desactivó las confirmaciones de presencia, el indicador puede no aparecer.

Respuestas de error

HTTPerror.messageCuándo
400Invalid request bodyJSON malformado.
400Number is requiredCampo faltante.
400State is required. Use 'typing', 'recording', or 'pause'state vacío.
400Invalid state. Use 'typing', 'recording', or 'pause'Fuera del enum.
401Invalid token
404Instance not found
503Instance is not connected to WhatsAppSin sesión activa.