Pular para o conteúdo principal
O client.chat é o WaAppStateMutationCoordinator. Ele escreve mutations de app-state — as configurações por chat e por conta que o WhatsApp sincroniza entre todos os seus dispositivos vinculados (silenciar, fixar, arquivar, ler, labels, contatos, …). Há duas camadas:
  1. Helpers tipados de conveniência para as operações comuns (setChatMute, setChatPin, …).
  2. Um set / remove genérico que funciona contra qualquer schema de app-state registrado — para tudo que não tem um helper dedicado.
Mutations feitas em outro lugar chegam de volta como eventos mutation.

Helpers de conveniência

Exemplos

Um WaAppStateMessageKey identifica uma única mensagem:

Formatos de opções

Status e listas de transmissão

set / remove genérico

Para schemas sem um helper, use set (com campos de valor) ou remove (apenas índice). A entrada é plana: escolha um nome de schema, depois preencha os campos de índice do schema (id, chatJid, labelId, …) e os campos de valor lado a lado. O coordinator os roteia para o subcampo SyncActionValue correto.
remove recebe o mesmo formato menos os campos de valor:

Mais exemplos de schema

Um set concreto (e remove quando aplicável) por schema voltado ao usuário restante. Os campos de índice e os campos de valor correspondem a indexParts e valueField do schema em @vinikjkkj/wa-spec/appstate.

Ações de chat

Contatos

Labels

Status e chamadas

Stickers

Business e marketing

Threads de IA

Configurações e sistema

Os schemas não cobertos acima (ChatAssignment / ChatAssignmentOpenedStatus, as superfícies de marketing e broadcast, os schemas de pagamento, e os schemas internos de sync como Sentinel e NctSaltSync) são ou nichados, deprecados na wire, ou gerenciados pelo próprio engine de sync — veja o aviso abaixo antes de usá-los.
O nome do campo de valor (contactAction, labelEditAction, …) corresponde ao subcampo SyncActionValue do schema.

Todos os schemas

Cada chave abaixo é um schema válido para set / remove. Schemas com um ✓ também têm um helper tipado de conveniência.

Ações de chat

Contatos

Labels

Status e chamadas

Stickers

Business e marketing

Pagamentos

Threads de IA

Configurações e sistema

Vários schemas (Sentinel, NctSaltSync, PrimaryVersion, DeviceCapabilities, …) são gerenciados internamente pelo engine de sincronização. Eles estão listados por completude porque o sistema de tipos os aceita, mas escrevê-los à mão pode dessincronizar o app-state — prefira os helpers de conveniência e os schemas de business documentados.

Sincronizando

Última modificação em 31 de maio de 2026