Presencia

Obtén información de presencia (online, offline con última conexión, escribiendo) de un contacto si comparte su información de presencia.

Establecer presencia

http
POST /api/{session}/presence
jsonBody
{
  "chatId": "5215551234567@c.us",
  "presence": "typing"
}

Estados de presencia posibles:

  • online — disponible (sin chatId).
  • offline — ausente (sin chatId).
  • typing — escribiendo (requiere chatId).
  • recording — grabando (requiere chatId).
  • paused — limpia el estado después de escribir (requiere chatId).

Obtener presencia de un chat

http
GET /api/{session}/presence/{chatId}
jsonResponse
{
  "id": "5215551234567@c.us",
  "presences": [
    {
      "participant": "5215551234567@c.us",
      "lastKnownPresence": "online",
      "lastSeen": null
    }
  ]
}

Suscribirse a la presencia

Suscríbete para recibir actualizaciones de presencia mediante el webhook presence.update:

http
POST /api/{session}/presence/{chatId}/subscribe

Obtener presencia de todos los chats

http
GET /api/{session}/presence

Devuelve la presencia de grupos y chats personales. lastSeen contiene el timestamp Unix de la última conexión; lastKnownPresence puede ser offline, online, typing, recording o paused.

Indicador de escritura

Puedes usar POST /api/startTyping y POST /api/stopTyping como atajos de presence=typing y presence=paused (ver Indicador de escritura).

Eventos

Suscríbete al webhook presence.update para recibir la presencia más reciente. Consulta el detalle del payload en Eventos.