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.
Para ativar os WebSockets, defina a variável de ambiente
WEBSOCKET_ENABLED
como true
. Veja mais detalhes em Variáveis de Ambiente.Modos de Operação do WebSocket
Modo Global
No modo global, a variável de ambienteWEBSOCKET_GLOBAL_EVENTS
deve ser definida como true
. Nesse modo, o WebSocket é inicializado no start do serviço e envia eventos de todas as instâncias, independentemente dos canais. Isso significa que qualquer cliente conectado ao WebSocket receberá eventos globais, abrangendo todas as instâncias da Evolution API configuradas no sistema.
-
Ativação: Configure no arquivo
.env
: - Funcionamento: Ideal para cenários onde você deseja monitorar ou processar eventos de todas as instâncias simultaneamente, sem precisar estabelecer uma conexão separada para cada instância.
-
Conexão: No modo global, a conexão ao WebSocket não requer o uso do
/nome_instancia
na URL. A URL de conexão será simplesmente:
Modo Tradicional
No modo tradicional, o WebSocket só pode ser conectado após a execução do comandoset
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.
-
Ativação: Certifique-se de que
WEBSOCKET_GLOBAL_EVENTS
esteja definido comofalse
ou não esteja configurado, e siga o fluxo tradicional de configuração da 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: No modo tradicional, a conexão ao WebSocket requer o uso do
/nome_instancia
na URL:
Conexão ao WebSocket
Modo Global
No modo global, a URL de conexão é mais simples e não requer o nome da instância:Modo Tradicional
No modo tradicional, utilize o seguinte formato de URL:api.seusite.com
pelo domínio real da sua API e 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: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étododisconnect
: