client.lowlevel (WaLowLevelCoordinator) é o escape hatch bruto por baixo dos coordinators tipados. Use-o para enviar stanzas de protocolo que a API de alto nível não cobre, fazer IQs customizados ou interceptar stanzas recebidas.
Binary nodes
Tudo aqui falaBinaryNode — a representação do zapo para uma stanza de protocolo do WhatsApp:
Enviando um node
sendNode escreve uma stanza bruta. Falhas que parecem um problema transitório de envio de recibo são bufferizadas na fila de recibos e logadas em vez de lançadas.
Fazendo um IQ
query envia uma stanza IQ e aguarda a resposta correspondente (dentro de timeoutMs). Lança um erro se o client não estiver conectado.
Interceptando nodes recebidos
Registre um handler para nodes recebidos que correspondam a umtag (e um subtype opcional). O handler retorna um Promise<boolean> — retorne true quando você tiver tratado o node. registerIncomingHandler retorna uma função de unregister.
WaIncomingNodeHandlerRegistration:
Filtrando stanzas recebidas
Um filtro de stanza roda antes dos handlers tipados. Retornetrue para descartar uma stanza por completo. O zapo ainda envia o ack apropriado para message/receipt/notification, então o servidor para de reentregá-la.
Stanzas críticas de auth (
success e failure) ignoram os filtros — você não consegue descartá-las, então o fluxo de conexão e pareamento sempre permanece intacto.