Evolution API utiliza o socket.io para emitir eventos, aproveitando a tecnologia WebSocket. Isso torna o desenvolvimento de integrações mais eficiente e direto para os desenvolvedores. 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 em Variáveis de Ambiente
Para se conectar ao servidor WebSocket na Evolution API, você pode usar o seguinte formato de URL:
Copy
wss://api.seusite.com/nome_instancia
Substitua 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:
Copy
const socket = io('wss://api.seusite.com/nome_instancia', { transports: ['websocket']});socket.on('connect', () => { console.log('Conectado ao WebSocket da Evolution API');});// Escutando eventossocket.on('nome_evento', (data) => { console.log('Evento recebido:', data);});// Lidando com desconexãosocket.on('disconnect', () => { console.log('Desconectado do WebSocket da Evolution API');});
Neste exemplo, substitua nome_evento pelo evento específico que você deseja escutar.
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.
Você também pode enviar mensagens para o servidor usando o método emit:
Copy
socket.emit('send_message', { message: 'Olá, Mundo!' });// Neste caso, send_message é o nome do evento, e o objeto { message: 'Olá, Mundo!' } é os dados sendo enviados.
Para fechar a conexão WebSocket, use o método disconnect:
Copy
socket.disconnect();
Lembre-se de manipular a conexão de forma responsável, desconectando quando sua aplicação ou componente for desmontado para evitar vazamentos de memória e garantir o uso eficiente de recursos.Ao aproveitar os WebSockets, a Evolution API oferece uma maneira poderosa de interagir com o sistema em tempo real, proporcionando uma experiência contínua tanto para desenvolvedores quanto para usuários finais.