Grupos

13. Grupos#

POST/v1/instances/{instanceId}/groups#

Cria um novo grupo no WhatsApp.

Auth: Todos autenticados

Request:

json
{
  "name": "Equipe Vendas",
  "participants": ["554137984905", "5541988887777"]
}
Campo Tipo Obrigatório Descricao
name string sim Nome do grupo (max 25 caracteres)
participants []string sim Números ou JIDs dos participantes

Números BR com 9 extra são normalizados automaticamente.

Resposta 201: Objeto do grupo criado.


GET/v1/instances/{instanceId}/groups#

Lista todos os grupos da instância.

Auth: Todos autenticados

Query Parameters:

Parametro Tipo Descricao
fields string Use light para omitir participants e retornar member_count

Resposta 200 (?fields=light):

json
{
  "data": [
    {
      "jid": "120363012345678901@g.us",
      "name": "Equipe Vendas",
      "description": "",
      "is_announce": false,
      "is_locked": false,
      "member_count": 5
    }
  ],
  "total": 3,
  "fields": "light"
}

GET/v1/instances/{instanceId}/groups/{groupId}#

Retorna informações detalhadas de um grupo.

Auth: Todos autenticados

Resposta 200:

json
{
  "jid": "120363012345678901@g.us",
  "name": "Equipe Vendas",
  "description": "Grupo de vendas da equipe",
  "participants": [
    {
      "jid": "554137984905@s.whatsapp.net",
      "is_admin": true
    },
    {
      "jid": "5541988887777@s.whatsapp.net",
      "is_admin": false
    }
  ],
  "is_announce": false,
  "is_locked": false
}

PATCH/v1/instances/{instanceId}/groups/{groupId}#

Atualiza informações do grupo.

Auth: Todos autenticados (deve ser admin do grupo)

Request:

json
{
  "name": "Novo Nome do Grupo",
  "description": "Nova descricao",
  "picture": "<base64 JPEG>"
}
Campo Tipo Obrigatório Descricao
name string não Novo nome (max 25 chars)
description string não Nova descricao
picture string não Nova foto (base64 JPEG)

Resposta 200:

json
{
  "updated": true,
  "name": "Novo Nome do Grupo"
}

PATCH/v1/instances/{instanceId}/groups/{groupId}/settings#

Altera configurações do grupo.

Auth: Todos autenticados (deve ser admin do grupo)

Request:

json
{
  "announce": true,
  "locked": false
}
Campo Tipo Descricao
announce bool true = so admins enviam mensagens
locked bool true = so admins editam info do grupo

Resposta 200:

json
{
  "announce": true,
  "locked": false
}

POST/v1/instances/{instanceId}/groups/{groupId}/participants/add#

Adiciona participantes ao grupo.

Auth: Todos autenticados

Request:

json
{
  "participants": ["554137984905", "5541977776666"]
}

Resposta 200:

json
{
  "results": [
    {"jid": "554137984905@s.whatsapp.net"}
  ]
}

POST/v1/instances/{instanceId}/groups/{groupId}/participants/remove#

Remove participantes do grupo.

Auth: Todos autenticados

Request:

json
{
  "participants": ["554137984905"]
}

Resposta 200:

json
{
  "results": [
    {"jid": "554137984905@s.whatsapp.net"}
  ]
}

POST/v1/instances/{instanceId}/groups/{groupId}/participants/promote#

Promove participantes a admin do grupo.

Auth: Todos autenticados

Request:

json
{
  "participants": ["554137984905"]
}

Resposta 200:

json
{
  "results": [
    {"jid": "554137984905@s.whatsapp.net"}
  ]
}

POST/v1/instances/{instanceId}/groups/{groupId}/participants/demote#

Remove admin de participantes.

Auth: Todos autenticados

Request:

json
{
  "participants": ["554137984905"]
}

Resposta 200:

json
{
  "results": [
    {"jid": "554137984905@s.whatsapp.net"}
  ]
}

error aparece somente quando o WhatsApp retorna erro por participante.


GET/v1/instances/{instanceId}/groups/{groupId}/participants/pending#

Lista solicitações pendentes de entrada no grupo.

Auth: Todos autenticados

Resposta 200:

json
{
  "group_id": "120363012345678901@g.us",
  "pending": [
    { "jid": "554137984905@s.whatsapp.net", "requested_at": 1741360000 }
  ],
  "count": 1
}

POST/v1/instances/{instanceId}/groups/{groupId}/participants/approve#

Aprova solicitações pendentes de entrada no grupo.

Auth: Todos autenticados

Request:

json
{ "participants": ["554137984905@s.whatsapp.net"] }

Resposta 200:

json
{
  "results": [
    { "jid": "554137984905@s.whatsapp.net" }
  ]
}

POST/v1/instances/{instanceId}/groups/{groupId}/participants/reject#

Rejeita solicitações pendentes de entrada no grupo.

Auth: Todos autenticados

Request: Mesmo corpo do approve.

Resposta 200: Mesmo formato do approve.


Retorna o link de convite do grupo.

Auth: Todos autenticados

Resposta 200:

json
{
  "invite_link": "https://chat.whatsapp.com/AbCdEfGhIjKl"
}

POST/v1/instances/{instanceId}/groups/{groupId}/invite-link/revoke#

Revoga o link de convite atual e gera um novo.

Auth: Todos autenticados

Resposta 200:

json
{
  "invite_link": "https://chat.whatsapp.com/NoVoLiNk1234"
}

POST/v1/instances/{instanceId}/groups/join#

Entra em um grupo usando link de convite.

Auth: Todos autenticados

Request:

json
{
  "invite_link": "https://chat.whatsapp.com/AbCdEfGhIjKl"
}

Resposta 200:

json
{
  "group_jid": "120363012345678901@g.us"
}

POST/v1/instances/{instanceId}/groups/{groupId}/leave#

Sai de um grupo.

Auth: Todos autenticados

Resposta 200:

json
{
  "left": true
}