Pular para o conteúdo principal

Documentation Index

Fetch the complete documentation index at: https://zapo.to/llms.txt

Use this file to discover all available pages before exploring further.

Requisitos

O zapo requer Node.js >= 20.9.0. O pacote entrega builds duais ESM/CJS e tipos TypeScript completos.

Instale o pacote principal

npm install zapo-js
O pacote principal não tem dependências de runtime obrigatórias. Todo o resto — armazenamento, logging e o transporte WebSocket — é uma peer dependency opt-in, então você instala apenas o que usa.

Adicione um backend de armazenamento

O zapo persiste o estado de autenticação e do Signal por meio de uma store plugável. Escolha o backend que combina com o seu deployment e instale o pacote dele:
PacoteBackendMelhor para
@zapo-js/store-sqliteSQLite (via better-sqlite3)Local / processo único
@zapo-js/store-postgresPostgreSQLDistribuído, relacional
@zapo-js/store-mysqlMySQLDistribuído, relacional
@zapo-js/store-redisRedisCache + persistência
@zapo-js/store-mongoMongoDBDocument store
npm install @zapo-js/store-sqlite better-sqlite3
Você também pode rodar sem backend algum — a store em memória embutida funciona de imediato e é ótima para testes. Ela apenas não sobrevive a um restart do processo, então você teria que reparear a cada boot.

Peer dependencies opcionais

Instale-as apenas se você usar a funcionalidade correspondente:
npm install pino pino-pretty
  • pino + pino-pretty — necessários apenas se você usar createPinoLogger. Sem eles, o ConsoleLogger embutido é usado.
  • ws — necessário apenas para rotear o WebSocket através de um proxy. O WebSocket nativo do runtime não consegue receber um Agent/dispatcher HTTP, então o zapo recorre ao ws para a perna proxy.ws. Sem um proxy, o WebSocket embutido é usado e você não precisa deste pacote.
  • argo-codec — necessário apenas para conexões mobile (por enquanto). O fluxo companion padrão (QR / código de pareamento) não o usa.

Enviando mídia

O @zapo-js/media-utils é efetivamente necessário para enviar mídia utilizável. A mídia ainda faz upload sem ele, mas não há processor para gerar thumbnails/previews, dimensões de imagem-vídeo ou waveforms de notas de voz — então ela pode aparecer como anexo simples ou sem preview. Instale-o sempre que seu app enviar imagens, vídeo, áudio, documentos ou figurinhas.
npm install @zapo-js/media-utils
Ele invoca ffmpeg/ffprobe e usa sharp, então garanta que esses binários estejam disponíveis. Veja o guia de mídia para saber como conectar o processador ao client.

Verifique sua configuração

import { WaClient } from 'zapo-js'

console.log(typeof WaClient) // "function"
A seguir, vá para o quickstart para conectar e enviar sua primeira mensagem.
Last modified on May 27, 2026