12. Presença e Perfil#
POST/v1/instances/{instanceId}/presence#
Define a presença (status online) da instância.
Auth: Todos autenticados
Request:
{
"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:
{
"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:
{
"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#
{
"name": "Novo Nome",
"status": "Novo status",
"privacy": {
"profile": "contacts",
"last_seen": "match_last_seen"
}
}
Opcao 2: Multipart (para enviar foto)#
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 |
privacy |
object | não | Mapa setting_name -> value; aplica configurações de privacidade junto do perfil. |
picture |
file/base64 | não | Nova foto de perfil (max 10 MB) |
Resposta 200:
{
"instance_id": "84c2e480-...",
"updated": true,
"fields": ["name", "status"]
}
PATCH/v1/instances/{instanceId}/privacy/{key}#
Atualiza uma configuração de privacidade da instância.
Auth: Todos autenticados
Parametros de URL:
| Parametro | Descricao |
|---|---|
key |
photo, profile, last-seen, last_seen, online, about, read-receipts, read_receipts, group-add, group_add, call-add, call_add |
Request:
{
"value": "contacts"
}
Valores aceitos por chave:
photo/profile/about:all,contacts,nobodylast-seen/last_seen:all,contacts,nobody,sameonline:all,sameread-receipts/read_receipts:all,nobodygroup-add/group_add:all,contacts,contact_blacklistcall-add/call_add:all,known
Aliases aceitos: nobody vira none; same vira match_last_seen.
Resposta 200:
{
"instance_id": "84c2e480-...",
"setting": "profile",
"value": "contacts"
}