Pular para o conteúdo principal
Use client.groups() para listagem, metadados, link de convite, configuracoes e acoes de administracao em grupos. Campos comuns em todas as chamadas:
CampoTipoObrigatórioDescrição
instanceIdstringSimID da instância.
instanceTokenstringSimToken da instância.
Operações em grupo específico também exigem groupId no payload.

client.groups().list(...)

Lista grupos com páginação.
var options = InstanceRequestOptions.builder().instanceToken(instanceToken).build();
JsonNode result = client.groups().list(GenericInstanceRequest.builder()
    .instanceId(instanceId)
    .instanceToken(instanceToken)
    .build());
// Exemplo: tipagem estrita com DTOs publicados quando disponivel
Retorno: envelope { code, success, data.groups[] } com paginacao quando aplicavel.

client.groups().get(...)

Obtém metadados de um grupo.
var options = InstanceRequestOptions.builder().instanceToken(instanceToken).build();
JsonNode result = client.groups().get(GenericInstanceRequest.builder()
    .instanceId(instanceId)
    .instanceToken(instanceToken)
    .build());
// Exemplo: tipagem estrita com DTOs publicados quando disponivel
Retorno: envelope { code, success, data } com metadados do grupo (jid, name, topic, participantes, etc.). Obtém ou reseta o link de convite.
var options = InstanceRequestOptions.builder().instanceToken(instanceToken).build();
JsonNode result = client.groups().inviteLink(GenericInstanceRequest.builder()
    .instanceId(instanceId)
    .instanceToken(instanceToken)
    .build());
// Exemplo: tipagem estrita com DTOs publicados quando disponivel
Retorno: envelope { code, success, data.invite_link }. Com reset:
const newInvite = await vzaps.groups.inviteLink({
  instanceId: 'VZ...',
  instanceToken: 'instance-token',
  groupId: '120363012345678901@g.us',
  reset: true,
});

client.groups().setPhoto(...)

Altera a foto do grupo. Aceita URL pública ou data URL base64.
var options = InstanceRequestOptions.builder().instanceToken(instanceToken).build();
JsonNode result = client.groups().setPhoto(GenericInstanceRequest.builder()
    .instanceId(instanceId)
    .instanceToken(instanceToken)
    .build());
// Exemplo: tipagem estrita com DTOs publicados quando disponivel
Retorno: envelope { code, success, data.details } confirmando a alteracao.

client.groups().setName(...)

Altera o nome do grupo.
var options = InstanceRequestOptions.builder().instanceToken(instanceToken).build();
JsonNode result = client.groups().setName(GenericInstanceRequest.builder()
    .instanceId(instanceId)
    .instanceToken(instanceToken)
    .build());
// Exemplo: tipagem estrita com DTOs publicados quando disponivel
Retorno: envelope { code, success, data.details } confirmando a alteracao.

client.groups().setDescription(...)

Altera a descrição do grupo.
var options = InstanceRequestOptions.builder().instanceToken(instanceToken).build();
JsonNode result = client.groups().setDescription(GenericInstanceRequest.builder()
    .instanceId(instanceId)
    .instanceToken(instanceToken)
    .build());
// Exemplo: tipagem estrita com DTOs publicados quando disponivel
Retorno: envelope { code, success, data.details } confirmando a alteracao.

client.groups().setSettings(...)

Altera configurações do grupo.
var options = InstanceRequestOptions.builder().instanceToken(instanceToken).build();
JsonNode result = client.groups().setSettings(GenericInstanceRequest.builder()
    .instanceId(instanceId)
    .instanceToken(instanceToken)
    .build());
// Exemplo: tipagem estrita com DTOs publicados quando disponivel
Retorno: envelope { code, success, data.details } confirmando a alteracao.

client.groups().create(...)

Cria um grupo com participantes.
var options = InstanceRequestOptions.builder().instanceToken(instanceToken).build();
JsonNode result = client.groups().create(GenericInstanceRequest.builder()
    .instanceId(instanceId)
    .instanceToken(instanceToken)
    .build());
// Exemplo: tipagem estrita com DTOs publicados quando disponivel
Retorno: envelope { code, success, data } com dados do grupo criado.

client.groups().addAdmin(...)

Promove participantes a administrador.
var options = InstanceRequestOptions.builder().instanceToken(instanceToken).build();
JsonNode result = client.groups().addAdmin(GenericInstanceRequest.builder()
    .instanceId(instanceId)
    .instanceToken(instanceToken)
    .build());
// Exemplo: tipagem estrita com DTOs publicados quando disponivel
Retorno: envelope { code, success, data.details } confirmando a alteracao.

client.groups().removeAdmin(...)

Remove administradores do grupo.
var options = InstanceRequestOptions.builder().instanceToken(instanceToken).build();
JsonNode result = client.groups().removeAdmin(GenericInstanceRequest.builder()
    .instanceId(instanceId)
    .instanceToken(instanceToken)
    .build());
// Exemplo: tipagem estrita com DTOs publicados quando disponivel
Retorno: envelope { code, success, data.details } confirmando a alteracao.