Alterar grupo
/v1/instances/{id}/groups/{jid}desde M8token da instância ou adminQuando usar
Muda nome, descrição ("" remove) e configurações, nessa ordem; para na primeira falha (as anteriores ficam). As configurações podem vir soltas ou dentro de settings. Responde com o grupo depois das mudanças. Com o grupo locked, só admins mudam os dados.
Autenticação
Aceita o token da instância (só a própria instância) ou o token admin. Um token de outra instância recebe 403 forbidden (ou 404 not_found em webhooks de outra instância).
Parâmetros
Caminho
| Nome | Tipo | Descrição |
|---|---|---|
idobrigatório | string | Id da instância (inst_...). |
jidobrigatório | string | JID do grupo ou comunidade (120363…@g.us). |
Corpo (JSON)
| Nome | Tipo | Descrição |
|---|---|---|
name | string | (até 100) |
description | string | "" remove. (até 2048) |
announce | boolean | |
locked | boolean | |
approval_required | boolean | |
admins_add_members | boolean | |
ephemeral_seconds | 0 | 86400 | 604800 | 7776000 | |
settings | GroupSettings | Configurações de um grupo (marco 8). |
settings.announce | boolean | Só admins enviam mensagens. |
settings.locked | boolean | Só admins editam nome |
settings.approval_required | boolean | Entrada com aprovação de um admin. |
settings.admins_add_members | boolean | Só admins adicionam participantes. |
settings.ephemeral_seconds | 0 | 86400 | 604800 | 7776000 | Mensagens temporárias (0: desligadas). |
Exemplo
curl -s -X PATCH "$LITEZAP_URL/v1/instances/$ID/groups/$JID" \ -H "Authorization: Bearer $LITEZAP_TOKEN" \ -d '{"name":"Novo nome","settings":{"locked":true,"ephemeral_seconds":86400}}'const res = await fetch("http://localhost:8787/v1/instances/inst_7f3a9c2e5b1d4086/groups/[email protected]", { method: "PATCH", headers: { Authorization: `Bearer ${process.env.LITEZAP_TOKEN}`, "Content-Type": "application/json" }, body: JSON.stringify({ "name": "Novo nome", "settings": { "locked": true, "ephemeral_seconds": 86400 } }),});console.log(res.status, res.status === 204 ? "" : await res.json());import osimport requests
r = requests.patch( headers={"Authorization": f"Bearer {os.environ['LITEZAP_TOKEN']}"}, json={ "name": "Novo nome", "settings": { "locked": True, "ephemeral_seconds": 86400, }, }, timeout=150,)print(r.status_code, r.json() if r.content else "")package main
import ( "fmt" "io" "net/http" "os" "strings")
func main() { req, _ := http.NewRequest("PATCH", "http://localhost:8787/v1/instances/inst_7f3a9c2e5b1d4086/groups/[email protected]", strings.NewReader(`{"name":"Novo nome","settings":{"locked":true,"ephemeral_seconds":86400}}`)) req.Header.Set("Authorization", "Bearer "+os.Getenv("LITEZAP_TOKEN")) req.Header.Set("Content-Type", "application/json") resp, err := http.DefaultClient.Do(req) if err != nil { panic(err) } defer resp.Body.Close() out, _ := io.ReadAll(resp.Body) fmt.Println(resp.Status, string(out))}<?phprequire 'vendor/autoload.php'; // composer require guzzlehttp/guzzle
$client = new GuzzleHttp\Client(['base_uri' => 'http://localhost:8787']); 'headers' => ['Authorization' => 'Bearer ' . getenv('LITEZAP_TOKEN')], 'json' => [ 'name' => 'Novo nome', 'settings' => [ 'locked' => true, 'ephemeral_seconds' => 86400, ], ], 'http_errors' => false,]);echo $res->getStatusCode(), ' ', $res->getBody(), PHP_EOL;Nos exemplos, LITEZAP_URL é a URL base (ex.: http://localhost:8787) e o token vem deLITEZAP_TOKEN (instância) ou LITEZAP_ADMIN_TOKEN.
Resposta
200 Grupo depois das mudanças.
Campos de Group
jid | string | |
name | string | |
description | string | |
owner | string | |
created_at | string | |
community | boolean | É uma comunidade. |
parent | string | Comunidade a que o grupo pertence. |
announcement_group | boolean | Grupo de avisos da comunidade. |
participant_count | integer | |
lid_addressing | boolean | O grupo endereça os membros por LID. |
suspended | boolean | |
settings | GroupSettings | Configurações de um grupo (marco 8). |
settings.announce | boolean | Só admins enviam mensagens. |
settings.locked | boolean | Só admins editam nome |
settings.approval_required | boolean | Entrada com aprovação de um admin. |
settings.admins_add_members | boolean | Só admins adicionam participantes. |
settings.ephemeral_seconds | 0 | 86400 | 604800 | 7776000 | Mensagens temporárias (0: desligadas). |
participants | GroupParticipant[] | Só em GET /groups/{jid} e na criação. |
Erros
| Código | HTTP | Retentável | O que fazer |
|---|---|---|---|
validation_failed | 400 | não | Corrija o corpo ou os parâmetros; a message diz o campo. |
unauthorized | 401 | não | Envie Authorization: Bearer <token> válido. |
group_forbidden | 403 | não | |
group_not_found | 404 | não | |
instance_not_connected | 409 | depende | Confira o estado da instância; se logged_out, pareie de novo. |
instance_banned | 409 | não | Número banido: apague a instância. |
worker_error | 502 | sim | Tente de novo com backoff; se persistir, veja o log do servidor. |
Todo erro usa o envelope {"error":{"code","message","retryable"}}. Tabela completa em Erros.
Eventos gerados
Equivalente na Z-API: Atualizar nome / descrição / configurações do grupo. Veja Migrar da Z-API.
Outras operações de Grupos: Listar grupos · Criar grupo · Metadados do grupo · Trocar foto do grupo · Remover foto do grupo · Gerenciar participantes · Listar pedidos de entrada · Aprovar ou rejeitar pedidos · Link de convite · Redefinir link de convite · Sair do grupo · Ver grupo pelo convite · Entrar por convite

