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

# WebSocket

A l2msg WhatsApp utiliza o `socket.io` para emitir eventos em tempo real, aproveitando a tecnologia WebSocket. Isso torna o desenvolvimento de integrações mais eficiente e direto para os desenvolvedores. O WebSocket fornece um canal de comunicação full-duplex sobre uma única conexão duradoura, permitindo o fluxo de dados em tempo real entre o cliente e o servidor.

## Operação

WebSocket só pode ser conectado após a execução do comando `set` na instância. Isso permite que o WebSocket seja específico para cada instância, e a comunicação em tempo real é restrita àquela instância.

* **Funcionamento**: Ideal para cenários onde você deseja uma comunicação em tempo real mais isolada, focada em uma única instância, permitindo maior controle e segmentação dos eventos.

* **Conexão**: A conexão ao WebSocket requer o uso do `/nome_instancia` na URL:

  ```plaintext theme={null}
  wss://api.l2msg.com/nome_instancia
  ```

## Conexão ao WebSocket

Utilize o seguinte formato de URL:

```plaintext theme={null}
wss://api.l2msg.com/nome_instancia
```

Substitua `nome_instancia` pelo nome da sua instância específica.

### Exemplo de Estabelecimento de Conexão WebSocket

Aqui está um exemplo básico de como estabelecer uma conexão WebSocket usando JavaScript:

```javascript theme={null}
const socket = io("wss://api.l2msg.com/nome_instancia", {
  transports: ["websocket"],
});

socket.on("connect", () => {
  console.log("Conectado ao WebSocket da l2msg WhatsApp");
});

// Escutando eventos
socket.on("nome_evento", (data) => {
  console.log("Evento recebido:", data);
});

// Lidando com desconexão
socket.on("disconnect", () => {
  console.log("Desconectado do WebSocket da l2msg WhatsApp");
});
```

Neste exemplo, substitua `nome_evento` pelo evento específico que você deseja escutar.

## Manipulação de Eventos

Uma vez conectado, você pode escutar vários eventos emitidos pelo servidor. Cada evento pode carregar dados relevantes para o contexto do evento. Por exemplo, se estiver ouvindo atualizações de mensagens, você pode receber dados contendo o conteúdo da mensagem atualizada e metadados.

## Fechamento da Conexão

Para fechar a conexão WebSocket, utilize o método `disconnect`:

```javascript theme={null}
socket.disconnect();
```

## Considerações Finais

A l2msg WhatsApp oferece uma forma poderosa de interação em tempo real através dos WebSockets, proporcionando uma experiência contínua tanto para desenvolvedores quanto para usuários finais. Seja no modo global, monitorando todas as instâncias simultaneamente, ou no modo tradicional, focado em uma única instância, a flexibilidade do sistema permite a adaptação às necessidades específicas do seu projeto.
