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

Contatos

client.contacts().list(instanceId, options)

var options = InstanceRequestOptions.builder().instanceToken("instance-token").build();
JsonNode contacts = client.contacts().list("VZ...", options);
Retorno: envelope { code, success, data } com data[] de contatos (jid, Name, IsInWhatsapp, etc.).

client.contacts().add(request)

JsonNode added = client.contacts().add(
    GenericInstanceRequest.builder()
        .instanceId("VZ...")
        .instanceToken("instance-token")
        .build());
Retorno: envelope { code, success, data } com mensagem de confirmacao (ex.: "Contact added"). Passe phone, firstName e fullName no corpo via request ou DTO equivalente.

Usuários

client.users().info(request)

JsonNode info = client.users().info(
    GenericInstanceRequest.builder()
        .instanceId("VZ...")
        .instanceToken("instance-token")
        .build());
Retorno: envelope { code, success, data } com perfil do usuario (VerifiedName, Status, PictureId, etc.).

client.users().check(request)

JsonNode exists = client.users().check(request);
Retorno: envelope { code, success, data.users[] } com phone, exists, jid por numero consultado.

client.users().avatar(request)

JsonNode avatar = client.users().avatar(request);
Retorno: envelope { code, success, data } com base64 e mimetype da foto.

client.users().contacts(instanceId, options)

JsonNode contacts = client.users().contacts("VZ...", options);
Retorno: envelope { code, success, data } — mapa JID → contato (FirstName, FullName, PushName, etc.).