12. Presença e Perfil#
POST/v1/instances/{instanceId}/presence#
Define a presença (status online) da instância.
Auth: Todos autenticados
Request:
json
{
"presence": "composing",
"chat_jid": "554137984905@s.whatsapp.net"
}
| Campo | Tipo | Obrigatório | Descricao |
|---|---|---|---|
presence |
string | sim | available, unavailable, composing, recording, paused |
chat_jid |
string | não | JID do chat (para presença por chat, ex: "digitando...") |
Valores de presença:
| Valor | Efeito no WhatsApp |
|---|---|
available |
Mostra "online" |
unavailable |
Remove "online" |
composing |
Mostra "digitando..." (requer chat_jid) |
recording |
Mostra "gravando audio..." (requer chat_jid) |
paused |
Remove "digitando..." (requer chat_jid) |
Resposta 200:
json
{
"instance_id": "84c2e480-...",
"presence": "composing",
"chat_jid": "554137984905@s.whatsapp.net"
}
GET/v1/instances/{instanceId}/profile#
Retorna o perfil da instância (do número conectado).
Auth: Todos autenticados
Query Parameters:
| Parametro | Tipo | Descricao |
|---|---|---|
include |
string | privacy para incluir configurações de privacidade |
Resposta 200:
json
{
"instance_id": "84c2e480-...",
"jid": "554137984905@s.whatsapp.net",
"push_name": "Empresa LTDA",
"status": "Atendimento 24h",
"picture_url": "/v1/instances/84c2e480-.../profile/avatar"
}
Nota:
picture_url, quando presente, sempre aponta para URL controlada pela Catcher (S3 público ou/profile/avatar). Não ha fallback para URL temporaria do CDN do WhatsApp.
PATCH/v1/instances/{instanceId}/profile#
Atualiza o perfil da instância no WhatsApp.
Auth: Todos autenticados
Opcao 1: JSON#
json
{
"name": "Novo Nome",
"status": "Novo status"
}
Opcao 2: Multipart (para enviar foto)#
text
Content-Type: multipart/form-data
name=Novo Nome
status=Novo status
picture=<arquivo binario>
Limite: picture tem 10 MB de tamanho máximo (request multipart inteiro). Imagens image/* (JPEG/PNG/WebP) são recomendadas; o WhatsApp gera thumbnails internamente.
| Campo | Tipo | Obrigatório | Descricao |
|---|---|---|---|
name |
string | não | Novo nome (push_name) |
status |
string | não | Novo recado/status |
picture |
file/base64 | não | Nova foto de perfil (max 10 MB) |
Resposta 200:
json
{
"instance_id": "84c2e480-...",
"updated": true,
"fields": ["name", "status"]
}