Pular para o conteúdo principal
Use users e contacts para consultar perfis no WhatsApp e gerenciar contatos da instância. Para instâncias, veja Instâncias e billing.

Contatos

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

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)

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)

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)

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)

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?)

await client.Users.ContactsAsync<object>("VZ...", new InstanceRequestOptions { InstanceToken = "instance-token" });
Retorno: envelope { Code, Success, Data } — mapa JID → contato (FirstName, FullName, PushName, etc.).