> ## 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.

# Usuários e contatos

> Consultar usuários, avatar e gerenciar contatos da instância

Use `users` e `contacts` para consultar perfis no WhatsApp e gerenciar contatos da instância.

Para instâncias, veja [Instâncias e billing](/pt-BR/sdk/dotnet/instances-and-billing).

## Contatos

### `client.Contacts.ListAsync<TResponse>(instanceId, options?)`

```csharp theme={null}
await client.Contacts.ListAsync<object>("VZ...", new InstanceRequestOptions { InstanceToken = "instance-token" });
```

**Retorno:** envelope `{ Code, Success, Data }` com `data[]` de contatos (`Jid`, `Name`, `IsInWhatsapp`, etc.).

### `client.Contacts.AddAsync<TResponse>(request)`

```csharp theme={null}
await client.Contacts.AddAsync<object>(new ContactAddRequest
{
    InstanceId = "VZ...",
    InstanceToken = "instance-token",
    Phone = "5511999999999",
    FirstName = "Maria",
    FullName = "Maria Silva",
});
```

**Retorno:** envelope `{ Code, Success, Data }` com mensagem de confirmacao (ex.: `"Contact added"`).

## Usuários

### `client.Users.InfoAsync<TResponse>(request)`

```csharp theme={null}
await client.Users.InfoAsync<object>(new UserPhonesRequest
{
    InstanceId = "VZ...",
    InstanceToken = "instance-token",
    Phone = "5511999999999",
});
```

**Retorno:** envelope `{ Code, Success, Data }` com perfil do usuario (`VerifiedName`, `Status`, `PictureId`, etc.).

### `client.Users.CheckAsync<TResponse>(request)`

```csharp theme={null}
await client.Users.CheckAsync<object>(new UserPhonesRequest
{
    InstanceId = "VZ...",
    InstanceToken = "instance-token",
    Phone = "5511999999999",
});
```

**Retorno:** envelope `{ Code, Success, Data.Users[] }` com `Phone`, `Exists`, `Jid` por numero consultado.

### `client.Users.AvatarAsync<TResponse>(request)`

```csharp theme={null}
await client.Users.AvatarAsync<object>(new UserAvatarRequest
{
    InstanceId = "VZ...",
    InstanceToken = "instance-token",
    Phone = "5511999999999",
});
```

**Retorno:** envelope `{ Code, Success, Data }` com `base64` e `mimetype` da foto.

### `client.Users.ContactsAsync<TResponse>(instanceId, options?)`

```csharp theme={null}
await client.Users.ContactsAsync<object>("VZ...", new InstanceRequestOptions { InstanceToken = "instance-token" });
```

**Retorno:** envelope `{ Code, Success, Data }` — mapa JID → contato (`FirstName`, `FullName`, `PushName`, etc.).
