Pular para o conteúdo principal
Use client.instances() e client.auth() para autenticação da conta, ciclo de vida da instância e billing. Para sessão WhatsApp, veja Sessão. Para chats, veja Chats. Para envio de mensagens, veja Mensagens. Passe InstanceRequestOptions com instanceToken nas rotas escopadas à instância.

Auth

client.auth().getAccessToken()

String token = client.auth().getAccessToken();
System.out.println(token.substring(0, Math.min(16, token.length())));
Retorno: string com o JWT de acesso (accessToken de POST /token).

Instâncias e billing

client.instances().create(request)

JsonNode created = client.instances().create(
    InstanceCreateRequest.builder()
        .name("Atendimento")
        .webhook("https://example.com/webhooks/vzaps")
        .eventsSubscribe(List.of("Message", "Connected", "Disconnected"))
        .build());
Retorno: InstancePublicCreateResponseid, name, token, url, webhook, events_subscribe, status, created_at, updated_at.

client.instances().list(request)

JsonNode instances = client.instances().list(
    InstanceListRequest.builder().page(1).pageSize(20).search("atendimento").build());
Retorno: pagina { page, size, total, total_pages, content[], summary }. Cada item de content segue o resumo publico da instancia (id, name, status, etc.).

client.instances().get(instanceId)

JsonNode instance = client.instances().get("VZ...");
Retorno: mesmo formato resumido de um item de instances.list() (id, name, token, url, webhook, status, etc.).

client.instances().update(instanceId, body, options)

client.instances().update(
    "VZ...",
    Map.of("name", "Atendimento Comercial"),
    InstanceRequestOptions.builder().instanceToken("instance-token").build());
Retorno: instancia atualizada no mesmo formato resumido de instances.get().

client.instances().restart(instanceId, options)

client.instances().restart(
    "VZ...",
    InstanceRequestOptions.builder().instanceToken("instance-token").build());
Retorno: InstanceActionResponseinstance_id, status, details.

client.instances().delete(instanceId, options)

client.instances().delete(
    "VZ...",
    InstanceRequestOptions.builder().instanceToken("instance-token").build());
Retorno: corpo vazio em sucesso (204) ou envelope de erro padrao.

client.instances().subscribe(instanceId, body, options)

JsonNode checkout = client.instances().subscribe(
    "VZ...",
    Map.of(),
    InstanceRequestOptions.builder().instanceToken("instance-token").build());
Retorno: BillingHostedSessionurl, session_id, mode (direct ou checkout), subscription_id.

client.instances().resumeSubscription(instanceId, options)

client.instances().resumeSubscription(
    "VZ...",
    InstanceRequestOptions.builder().instanceToken("instance-token").build());
Retorno: { status: "ok" }.

client.instances().cancel(instanceId, options)

client.instances().cancel(
    "VZ...",
    InstanceRequestOptions.builder().instanceToken("instance-token").build());
Retorno: { message } confirmando cancelamento ou agendamento.

Chamadas avançadas

Para tipagem própria, use client.request(..., MeuDto.class) ou os DTOs publicados como SessionStatusResponse. Para o contrato HTTP completo, use a aba API.