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.

Cada pacote de backend exporta uma factory create*Store que você passa para uma entrada de backends do createStore. Todos os backends implementam os mesmos contratos de store por domínio, então trocar de backend é uma mudança de config, não de código.

SQLite

@zapo-js/store-sqlitecreateSqliteStore(config).
import { createSqliteStore } from '@zapo-js/store-sqlite'

const sqlite = createSqliteStore({
  path: '.auth/state.sqlite',
  driver: 'auto'
})
CampoTipoDescrição
pathstringCaminho do arquivo de banco de dados. Obrigatório.
driverWaSqliteDriverSeleção do driver nativo ('auto', …).
pragmasRecord<string, string | number>Pragmas do SQLite.
tableNamesWaSqliteTableNameOverridesSobrescreve os nomes das tabelas.
batchSizesWaSqliteBatchSizeSelectionAjusta os tamanhos de lote.
cacheTtlMs{ retryMs?, groupMetadataMs?, deviceListMs?, messageSecretMs? }TTLs de cache.
Requer a peer dependency better-sqlite3.

PostgreSQL

@zapo-js/store-postgrescreatePostgresStore(config).
import { createPostgresStore } from '@zapo-js/store-postgres'

const postgres = createPostgresStore({
  pool: { connectionString: process.env.DATABASE_URL },
  tablePrefix: 'wa_'
})
CampoTipoDescrição
poolPool | PoolConfigUm pool pg existente ou uma config de pool. Obrigatório.
tablePrefixstringPrefixo para as tabelas criadas.
cacheTtlMsobjectTTLs de cache (mesmo formato do SQLite).
cleanup{ intervalMs?, onError? }Poller de limpeza em segundo plano.
Também exporta createPgPool e ensurePgMigrations. Requer a peer dependency pg.

MySQL

@zapo-js/store-mysqlcreateMysqlStore(config).
import { createMysqlStore } from '@zapo-js/store-mysql'

const mysql = createMysqlStore({
  pool: { uri: process.env.MYSQL_URL },
  tablePrefix: 'wa_'
})
CampoTipoDescrição
poolPool | PoolOptionsUm pool mysql2 ou opções. Obrigatório.
tablePrefixstringPrefixo para as tabelas criadas.
cacheTtlMsobjectTTLs de cache.
cleanup{ enabled?, intervalMs?, onError? }Poller de limpeza em segundo plano.
Também exporta createMysqlPool e ensureMysqlMigrations. Requer a peer dependency mysql2.

Redis

@zapo-js/store-rediscreateRedisStore(config).
import { createRedisStore } from '@zapo-js/store-redis'

const redis = createRedisStore({
  redis: { host: '127.0.0.1', port: 6379 },
  keyPrefix: 'wa:'
})
CampoTipoDescrição
redisRedis | RedisOptionsUma instância ioredis ou opções. Obrigatório.
keyPrefixstringPrefixo para todas as chaves.
cacheTtlMsobjectTTLs de cache.
Requer a peer dependency ioredis.

MongoDB

@zapo-js/store-mongocreateMongoStore(config).
import { createMongoStore } from '@zapo-js/store-mongo'

const mongo = createMongoStore({
  db: { uri: process.env.MONGO_URL, database: 'zapo' },
  collectionPrefix: 'wa_'
})
CampoTipoDescrição
dbDb | { uri, database, options? }Um Db do mongodb ou informações de conexão. Obrigatório.
collectionPrefixstringPrefixo para as collections criadas.
cacheTtlMsobjectTTLs de cache.
Requer a peer dependency mongodb.

Misturando backends

O createStore permite que cada domínio escolha um backend por nome, então você pode combiná-los:
createStore({
  backends: { redis, postgres },
  providers: {
    auth: 'redis', signal: 'redis', senderKey: 'redis',
    appState: 'redis', privacyToken: 'redis',
    messages: 'postgres', threads: 'postgres', contacts: 'postgres'
  }
})
Veja Stores para a lista completa de domínios.
Last modified on May 27, 2026