> ## Documentation Index
> Fetch the complete documentation index at: https://docs.zapmeow.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Grupos

> Criar, listar, descrição, segurança, convite e participantes, no formato do WAHA.

Mesmo caminho e mesmo corpo do WAHA (`/api/{sessão}/groups/...`), o que o `wahaGroups.ts` do backoffice usa na Esteira por turma. `{groupId}` é o `@g.us` (com `%40` na URL). A sessão precisa estar conectada e ser administradora do grupo para mudar ajustes, convite e participantes.

| Método e rota | Corpo | Resposta |
| - | - | - |
| `POST /api/{sessão}/groups` | `{name, participants: [{id}]}` (participantes podem ser vazio) | `201` grupo |
| `GET /api/{sessão}/groups` | | lista de grupos |
| `GET /api/{sessão}/groups/{groupId}` | | grupo (assunto, descrição, participantes) |
| `GET /api/{sessão}/groups/join-info?code=` | | grupo de um convite (código ou link) |
| `PUT /api/{sessão}/groups/{groupId}/description` | `{description}` | `{id, description}` |
| `PUT .../settings/security/messages-admin-only` | `{adminsOnly}` | só administrador escreve |
| `PUT .../settings/security/info-admin-only` | `{adminsOnly}` | só administrador edita nome, foto e descrição |
| `PUT .../settings/security/member-add-mode` | `{membersCanAddNewMember}` (`false` = só administrador adiciona) | |
| `GET .../invite-code` | | `{inviteCode, inviteLink}` |
| `POST .../invite-code/revoke` | | novo `{inviteCode, inviteLink}`; o antigo deixa de valer |
| `GET .../participants/v2` | | `[{id, pn?, role}]`, `role` = `participant`, `admin` ou `superadmin` |
| `POST .../participants/add` / `remove` | `{participants: [{id}]}` | `[{id, status}]` por participante |
| `POST .../admin/promote` / `demote` | `{participants: [{id}]}` | `[{id, status}]` |
| `POST .../leave` | | `{id, left: true}` |

## Detalhes

* Objeto de grupo: `{id, subject, name, description, owner, createdAt, size, participants: [{id, role, pn?, lid?}]}`.
* `pn` (telefone `@c.us`) só vem quando o WhatsApp revela o número de quem aparece como `@lid`; um `@lid` nunca é tratado como telefone.
* `status` por participante: `200` feito; outro valor é a recusa do WhatsApp (`403` = a privacidade da pessoa só aceita convite por link).
* O convite vai em JSON; o WAHA devolve texto e o cliente da Glow aceita as duas formas.
* Erros: `400` corpo inválido ou id que não é grupo (conversa 1 a 1 nunca chega ao WhatsApp), `503` sessão não conectada, `502` recusa do WhatsApp.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.