Iniciar Sessão
O comando Iniciar Sessão conecta o canal ao WhatsApp. Existem três métodos de autenticação: QR Code, Pair Code e Link de conexão. Em todos os casos, o usuário precisa confirmar a conexão no celular.Método 1: QR Code
Gera um QR Code que deve ser escaneado pelo WhatsApp no celular do usuário.Requisição
Campos
Webhook de resposta
O QR Code é entregue via webhookGENERATE_QR_CODE_RESPONSE:
Como exibir o QR Code
O campoqrCode contém a imagem PNG codificada em Base64. Para exibir em uma página web:
Método 2: Pair Code
Gera um código numérico de 8 dígitos que o usuário digita manualmente no WhatsApp.Requisição
Campos
Webhook de resposta
O Pair Code é entregue via webhookPAIR_CODE_GENERATED_RESPONSE:
O usuário deve abrir o WhatsApp no celular, ir em Dispositivos conectados >
Conectar dispositivo > Vincular por número de telefone e digitar o código.
Método 3: Link de conexão
Gera um link de conexão que pode ser aberto pelo próprio usuário para autorizar o dispositivo, sem que você precise renderizar um QR Code ou exibir um código na sua interface.Requisição
Campos
Webhook de resposta
O link é entregue via webhookSESSION_START_LINK_GENERATED_RESPONSE:
Fluxo de autenticação
1
Enviar comando
Envie o comando
SESSION_START_QR_CODE, SESSION_START_PAIR_CODE ou SESSION_START_LINK
para o endpoint.2
Receber resposta
Receba o webhook com o QR Code (imagem Base64), o Pair Code (código alfanumérico) ou o link
de conexão (URL).
3
Autenticar no celular
O usuário escaneia o QR Code, digita o Pair Code ou abre o link de conexão no WhatsApp do celular.
4
Conexão confirmada
Após a autenticação, você receberá um webhook
CONNECTED confirmando a conexão.Webhooks de erro
Em caso de falha na autenticação, você receberá um dos seguintes webhooks:SESSION_START_ERROR
SESSION_START_ERROR
Erro ao iniciar a sessão.
PAIRING_ERROR
PAIRING_ERROR
Erro específico do processo de pareamento (Pair Code).
Erros comuns
QR Code expirou varias vezes
QR Code expirou varias vezes
O usuário não escaneou o QR Code dentro do tempo limite. Após varias tentativas,
um
SESSION_START_ERROR será enviado. Envie o comando novamente para reiniciar o processo.Número inválido no Pair Code
Número inválido no Pair Code
O número informado no comando
SESSION_START_PAIR_CODE não está registrado no WhatsApp
ou está em formato incorreto. Verifique se o número inclui o código do país (ex: 5511999887766).Dispositivo já conectado
Dispositivo já conectado
Se o WhatsApp já está conectado a outro dispositivo com o mesmo número, a sessão
anterior será encerrada automaticamente.
Eventos do ciclo de vida da conexão
Após iniciar a sessão, você receberá webhooks sobre o estado da conexão. Esses eventos sao essenciais para monitorar a saúde da sessão e reagir a desconexoes.CONNECTED
Enviado quando o canal se conecta ao WhatsApp com sucesso.DISCONNECTED
Enviado quando o canal se desconecta do WhatsApp.Uma desconexão pode ocorrer por diversos motivos: comando de Desconectar,
perda de conexão com a internet, ou o usuário desvinculou o dispositivo pelo WhatsApp.
SESSION_EXPIRED
Enviado quando a sessão do WhatsApp expira e não pode ser reconectada automaticamente. Uma nova autenticação (QR Code ou Pair Code) será necessária.INSTANCE_START
Enviado quando a instância do canal e iniciada no servidor.INSTANCE_STOP
Enviado quando a instância do canal e parada no servidor.INSTANCE_USER_CONNECT_TIMEOUT
Enviado quando a instância aguardou o usuário conectar (via QR Code ou Pair Code) mas o tempo limite foi atingido sem autenticação.Após este evento, você pode enviar novamente o comando
SESSION_START_QR_CODE,
SESSION_START_PAIR_CODE ou SESSION_START_LINK para gerar uma nova autenticação.HISTORY_SYNC_PROGRESS
Enviado periodicamente durante a sincronização do histórico de mensagens, indicando o progresso da operação. Só é emitido quando oSESSION_START_* foi enviado com enableHistoryOnConnect: true.
Para históricos grandes, este evento pode chegar dezenas de vezes. Use-o para atualizar
uma barra de progresso na sua aplicação se quiser feedback visual.
HISTORY_SYNC_COMPLETED
Enviado quando a sincronização do histórico de mensagens termina (com sucesso ou não).OFFLINE_SYNC_COMPLETED
Enviado quando a sincronização de mensagens recebidas enquanto o dispositivo estava offline termina. Acontece logo após oCONNECTED, antes que novas mensagens em tempo real comecem a fluir.
APP_STATE_SYNC_COMPLETED
Enviado quando uma das coleções de estado do app (lista de conversas, contatos, configurações, etc.) termina de sincronizar. Pode ocorrer múltiplas vezes — uma por coleção.DEVICE_SESSION_BACKUP
Enviado quando o MessageFy exporta um snapshot completo da sessão do dispositivo. É o par de backup da Importação de Sessão: osessionData pode ser reimportado
para restaurar a conexão sem novo pareamento.