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

# Instalação

> Instale, autentique e configure o SDK Java oficial da VZaps

O SDK Java oficial da VZaps encapsula autenticação, chamadas HTTP, headers obrigatórios, eventos realtime e os principais recursos da API pública.

Use em backends Java, serviços Spring Boot, jobs, CLIs e automações server-to-server.

## Requisitos

| Recurso | Versão                |
| ------- | --------------------- |
| Java    | 11 ou superior        |
| Pacote  | `com.vzaps:vzaps-sdk` |

## Instalar

```xml theme={null}
<dependency>
  <groupId>com.vzaps</groupId>
  <artifactId>vzaps-sdk</artifactId>
  <version>0.1.0</version>
</dependency>
```

```kotlin theme={null}
dependencies {
  implementation("com.vzaps:vzaps-sdk:0.1.0")
}
```

## Criar o cliente

```java theme={null}
import com.vzaps.VZapsClient;

try (VZapsClient client = VZapsClient.builder()
    .clientToken("your-client-token")
    .clientSecret("your-client-secret")
    .build()) {
  System.out.println(client.instances().list());
}
```

## Credenciais

| Credencial      | Onde usar                 | Descrição                                                        |
| --------------- | ------------------------- | ---------------------------------------------------------------- |
| `clientToken`   | Builder do cliente        | Token de cliente da conta, também enviado como `X-Client-Token`. |
| `clientSecret`  | Builder do cliente        | Segredo usado pelo SDK para obter e renovar JWTs.                |
| `instanceToken` | Cada chamada de instância | Token da instância, enviado como `X-Instance-Token`.             |

Não exponha `clientSecret` ou `instanceToken` em front-ends públicos.

## Autenticação automática

O SDK obtém um JWT com `clientToken` e `clientSecret`, cacheia em memória e renova antes de expirar.

```java theme={null}
String accessToken = client.auth().getAccessToken();
```

## Opções do cliente

| Opção              | Padrão        | Uso                                   |
| ------------------ | ------------- | ------------------------------------- |
| `connectTimeout`   | 10 segundos   | Timeout de conexão TCP.               |
| `requestTimeout`   | 30 segundos   | Timeout HTTP.                         |
| `tokenRefreshSkew` | 60 segundos   | Renova o JWT antes da expiração real. |
| `userAgent`        | Padrão do SDK | Header HTTP `User-Agent`.             |

## Próximos passos

* Siga o [Starter Guide](/pt-BR/sdk/java/starter-guide).
* Veja [Mensagens](/pt-BR/sdk/java/messages) para métodos de envio.
* Veja [Realtime](/pt-BR/sdk/java/realtime) para assinaturas WebSocket.
