> ## Documentation Index
> Fetch the complete documentation index at: https://docs.oxenty.api.br/llms.txt
> Use this file to discover all available pages before exploring further.

# Visão Geral

> Gerencie sessões do WhatsApp

# Sessões

Uma **sessão** representa uma conexão ativa com uma conta do WhatsApp. Cada sessão
permite enviar e receber mensagens, gerenciar contatos e grupos de uma conta específica.

## Conceitos Principais

<CardGroup cols={2}>
  <Card title="Multi-dispositivo" icon="monitor">
    A API usa o protocolo multi-dispositivo do WhatsApp, que não requer o telefone
    online após a conexão inicial.
  </Card>

  <Card title="QR Code" icon="qr-code">
    Para conectar uma sessão, é necessário escanear um QR Code com o WhatsApp do
    dispositivo que será vinculado.
  </Card>
</CardGroup>

## Ciclo de Vida

```mermaid theme={"system"}
stateDiagram-v2
    [*] --> disconnected: Criar sessão
    disconnected --> qr: Conectar
    qr --> connected: QR escaneado
    connected --> disconnected: Desconectar
    connected --> disconnected: Logout
    disconnected --> [*]: Deletar sessão
```

## Status da Sessão

| Status         | Descrição                            |
| -------------- | ------------------------------------ |
| `disconnected` | Sessão criada mas não conectada      |
| `qr`           | QR Code disponível para escaneamento |
| `connecting`   | Estabelecendo conexão com WhatsApp   |
| `connected`    | Sessão ativa e pronta para uso       |

## Endpoints

<CardGroup cols={2}>
  <Card title="Criar Sessão" icon="plus" href="/api-reference/sessions/create">
    POST /sessions
  </Card>

  <Card title="Listar Sessões" icon="list" href="/api-reference/sessions/list">
    GET /sessions
  </Card>

  <Card title="Obter Sessão" icon="eye" href="/api-reference/sessions/get">
    GET /sessions/:id
  </Card>

  <Card title="Atualizar Sessão" icon="pen" href="/api-reference/sessions/update">
    PUT /sessions/:id
  </Card>

  <Card title="Reconectar" icon="plug" href="/api-reference/sessions/reconnect">
    POST /sessions/:id/reconnect
  </Card>

  <Card title="QR Code" icon="qr-code" href="/api-reference/sessions/qr-code">
    GET /sessions/:id/qrcode
  </Card>

  <Card title="Desconectar" icon="unplug" href="/api-reference/sessions/disconnect">
    POST /sessions/:id/disconnect
  </Card>

  <Card title="Deletar Sessão" icon="trash" href="/api-reference/sessions/delete">
    DELETE /sessions/:id
  </Card>
</CardGroup>

## Configurações de Webhook

Cada sessão pode ter seu próprio webhook configurado para receber eventos em
tempo real. Configure os campos:

* `webhookUrl` - URL que receberá os eventos
* `webhookEvents` - Array de eventos para receber
* `webhookSecret` - Secret para validar assinaturas

Veja o guia de [Webhooks](/guides/webhooks) para mais detalhes.
