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

# Grupos

> Listar, criar e gerenciar grupos WhatsApp com o SDK PHP

Use `$vzaps->groups()` para operações de grupos WhatsApp de uma instância.

Campos comuns em todas as chamadas:

| Campo           | Tipo     | Obrigatório | Descrição           |
| --------------- | -------- | ----------- | ------------------- |
| `instanceId`    | `string` | Sim         | ID da instância.    |
| `instanceToken` | `string` | Sim         | Token da instância. |

Operacoes em grupo específico também exigem `groupId` no payload.

## `groups()->list($request)`

Lista grupos com páginacao.

```php theme={null}
$groups = $vzaps->groups()->list([
    'instanceId' => 'VZ...',
    'instanceToken' => 'instance-token',
    'page' => 1,
    'pageSize' => 20,
]);

print_r($groups);
```

**Retorno:** envelope `{ code, success, data.groups[] }` com paginacao quando aplicavel.

## `groups()->get($request)`

Obtém metadados de um grupo.

```php theme={null}
$group = $vzaps->groups()->get([
    'instanceId' => 'VZ...',
    'instanceToken' => 'instance-token',
    'groupId' => '120363012345678901@g.us',
]);

print_r($group);
```

**Retorno:** envelope `{ code, success, data }` com metadados do grupo (`jid`, `name`, `topic`, participantes, etc.).

## `groups()->inviteLink($request)`

Obtém ou reseta o link de convite.

```php theme={null}
$invite = $vzaps->groups()->inviteLink([
    'instanceId' => 'VZ...',
    'instanceToken' => 'instance-token',
    'groupId' => '120363012345678901@g.us',
    'reset' => false,
]);

print_r($invite);
```

**Retorno:** envelope `{ code, success, data.invite_link }`.

Com reset:

```php theme={null}
$newInvite = $vzaps->groups()->inviteLink([
    'instanceId' => 'VZ...',
    'instanceToken' => 'instance-token',
    'groupId' => '120363012345678901@g.us',
    'reset' => true,
]);
```

## `groups()->setPhoto($request)`

Altera a foto do grupo. Aceita URL pública ou data URL base64.

```php theme={null}
$vzaps->groups()->setPhoto([
    'instanceId' => 'VZ...',
    'instanceToken' => 'instance-token',
    'groupId' => '120363012345678901@g.us',
    'image' => 'https://cdn.example.com/grupos/foto.jpg',
]);
```

**Retorno:** envelope `{ code, success, data.details }` confirmando a alteracao.

## `groups()->setName($request)`

Altera o nome do grupo.

```php theme={null}
$vzaps->groups()->setName([
    'instanceId' => 'VZ...',
    'instanceToken' => 'instance-token',
    'groupId' => '120363012345678901@g.us',
    'name' => 'Suporte VIP',
]);
```

**Retorno:** envelope `{ code, success, data.details }` confirmando a alteracao.

## `groups()->setDescription($request)`

Altera a descrição do grupo.

```php theme={null}
$vzaps->groups()->setDescription([
    'instanceId' => 'VZ...',
    'instanceToken' => 'instance-token',
    'groupId' => '120363012345678901@g.us',
    'description' => 'Canal oficial de suporte',
]);
```

**Retorno:** envelope `{ code, success, data.details }` confirmando a alteracao.

## `groups()->setSettings($request)`

Altera configurações do grupo.

```php theme={null}
$vzaps->groups()->setSettings([
    'instanceId' => 'VZ...',
    'instanceToken' => 'instance-token',
    'groupId' => '120363012345678901@g.us',
    'adminOnlyMessage' => true,
    'adminOnlySettings' => false,
    'delayMessage' => 0,
]);
```

**Retorno:** envelope `{ code, success, data.details }` confirmando a alteracao.

## `groups()->create($request)`

Cria um grupo com participantes.

```php theme={null}
$vzaps->groups()->create([
    'instanceId' => 'VZ...',
    'instanceToken' => 'instance-token',
    'groupName' => 'Suporte VIP',
    'groupDescription' => 'Canal de atendimento',
    'groupImage' => 'https://cdn.example.com/grupos/foto.jpg',
    'participants' => ['5511999999999', '5511888888888'],
]);
```

**Retorno:** envelope `{ code, success, data }` com dados do grupo criado.

## `groups()->addAdmin($request)`

Promove participantes a administrador.

```php theme={null}
$vzaps->groups()->addAdmin([
    'instanceId' => 'VZ...',
    'instanceToken' => 'instance-token',
    'groupId' => '120363012345678901@g.us',
    'participants' => ['5511999999999'],
]);
```

**Retorno:** envelope `{ code, success, data.details }` confirmando a alteracao.

## `groups()->removeAdmin($request)`

Remove administradores do grupo.

```php theme={null}
$vzaps->groups()->removeAdmin([
    'instanceId' => 'VZ...',
    'instanceToken' => 'instance-token',
    'groupId' => '120363012345678901@g.us',
    'participants' => ['5511999999999'],
]);
```

**Retorno:** envelope `{ code, success, data.details }` confirmando a alteracao.
