Visao Geral da API
createClient(options)
Retorna uma instancia de WhatsmeowClient.
| Opcao | Tipo | Padrao | Descricao |
|---|---|---|---|
store | string | obrigatorio | Caminho SQLite ou URL do Postgres |
binaryPath | string | auto | Caminho para o binario Go |
commandTimeout | number | 30000 | Timeout de comando IPC em ms |
Conexao
init()— Abre o store e cria o client whatsmeow. Retorna{ jid }se ja estiver pareado.getQRChannel()— Configura o canal de pareamento por QR code. Chame antes deconnect().pairCode(phone)— Parear via numero de telefone (alternativa ao QR). Chame aposconnect().connect()— Conectar ao WhatsAppdisconnect()— Desconectar do WhatsApplogout()— Fazer logout e remover dispositivoisConnected()— Verificar status da conexaoisLoggedIn()— Verificar status de loginwaitForConnection(timeoutMs?)— Aguardar ate estar conectado e logado, ou timeoutresetConnection()— Resetar a conexao WebSocketclose()— Encerrar o subprocesso Go
Mensagens
sendMessage(jid, message)— Enviar uma mensagem tipada (conversa, texto estendido com respostas)sendRawMessage(jid, message)— Enviar qualquer JSON no formatowaE2E.MessagesendReaction(chat, sender, id, reaction)— Reagir a uma mensagem (string vazia para remover)editMessage(chat, id, message)— Editar uma mensagem enviada anteriormenterevokeMessage(chat, sender, id)— Revogar/excluir uma mensagemmarkRead(ids, chat, sender?)— Marcar mensagens como lidas
Enquetes
sendPollCreation(jid, name, options, selectableCount)— Criar e enviar uma enquetesendPollVote(pollChat, pollSender, pollId, pollTimestamp, options)— Votar em uma enquete
Midia
downloadMedia(msg)— Baixar midia de uma mensagem recebidadownloadAny(message)— Baixar midia de qualquer tipo de mensagem (detecta automaticamente)downloadMediaWithPath(opts)— Baixar midia usando caminho direto e chavesuploadMedia(path, mediaType)— Fazer upload de midia para envio ("image"|"video"|"audio"|"document")
Midia usa caminhos de arquivos temporarios em vez de base64 para evitar sobrecarga no pipe IPC. O upload retorna { URL, directPath, mediaKey, fileEncSHA256, fileSHA256, fileLength }.
Contatos e Usuarios
isOnWhatsApp(phones)— Verificar se numeros de telefone estao no WhatsAppgetUserInfo(jids)— Obter informacoes do usuario (status, ID da foto, nome verificado)getProfilePicture(jid)— Obter URL da foto de perfilgetUserDevices(jids)— Obter todos os dispositivos de usuarios especificosgetBusinessProfile(jid)— Obter informacoes do perfil comercialsetStatusMessage(message)— Definir a mensagem de status da sua conta
Grupos
createGroup(name, participants)— Criar um grupogetGroupInfo(jid)— Obter metadados do grupogetGroupInfoFromLink(code)— Obter informacoes do grupo a partir de um link de convitegetGroupInfoFromInvite(jid, inviter, code, expiration)— Obter informacoes do grupo a partir de um convite diretogetJoinedGroups()— Listar todos os grupos dos quais participagetGroupInviteLink(jid, reset?)— Obter/resetar link de convitejoinGroupWithLink(code)— Entrar via link de convitejoinGroupWithInvite(jid, inviter, code, expiration)— Entrar via convite diretoleaveGroup(jid)— Sair de um gruposetGroupName(jid, name)— Atualizar nome do gruposetGroupTopic(jid, topic, previousId?, newId?)— Atualizar topico do grupo (texto de anuncio)setGroupDescription(jid, description)— Atualizar descricao do gruposetGroupPhoto(jid, path)— Atualizar foto do gruposetGroupAnnounce(jid, announce)— Alternar modo de anunciosetGroupLocked(jid, locked)— Alternar bloqueio do grupoupdateGroupParticipants(jid, participants, action)— Adicionar/remover/promover/rebaixargetGroupRequestParticipants(jid)— Obter solicitacoes de entrada pendentesupdateGroupRequestParticipants(jid, participants, action)— Aprovar/rejeitar solicitacoes de entradasetGroupMemberAddMode(jid, mode)—"admin_add"|"all_member_add"setGroupJoinApprovalMode(jid, enabled)— Ativar/desativar aprovacao de entrada
Comunidades
linkGroup(parent, child)— Vincular um grupo filho a uma comunidade paiunlinkGroup(parent, child)— Desvincular um grupo filhogetSubGroups(jid)— Obter subgrupos de uma comunidadegetLinkedGroupsParticipants(jid)— Obter participantes dos grupos vinculados
Presenca
sendPresence(presence)— Definir status online/offlinesendChatPresence(jid, presence, media?)— Definir indicador de digitacao/gravacaosubscribePresence(jid)— Inscrever-se na presenca de um contato
Newsletters
getSubscribedNewsletters()— Listar newsletters inscritasnewsletterSubscribeLiveUpdates(jid)— Inscrever-se para atualizacoes em tempo realcreateNewsletter(name, description, picture?)— Criar um newsletter/canalgetNewsletterInfo(jid)— Obter metadados do newslettergetNewsletterInfoWithInvite(key)— Obter informacoes do newsletter a partir do link de convitefollowNewsletter(jid)— Seguir um newsletterunfollowNewsletter(jid)— Deixar de seguir um newslettergetNewsletterMessages(jid, count, before?)— Buscar mensagens do newslettergetNewsletterMessageUpdates(jid, count, opts?)— Obter atualizacoes de mensagensnewsletterMarkViewed(jid, serverIds)— Marcar mensagens como visualizadasnewsletterSendReaction(jid, serverId, reaction, messageId)— Reagir a uma mensagem de newsletternewsletterToggleMute(jid, mute)— Silenciar/ativar som de um newsletteracceptTOSNotice(noticeId, stage)— Aceitar um aviso de Termos de ServicouploadNewsletter(path, mediaType)— Fazer upload de midia para mensagens de newsletter
Privacidade e Configuracoes
getPrivacySettings()— Obter todas as configuracoes de privacidadetryFetchPrivacySettings(ignoreCache?)— Buscar do cache ou servidorsetPrivacySetting(name, value)— Atualizar uma configuracao de privacidadegetStatusPrivacy()— Obter regras de audiencia padrao do statussetDefaultDisappearingTimer(seconds)— Definir temporizador padrao de mensagens temporariassetDisappearingTimer(jid, seconds)— Definir para um chat especifico
Lista de Bloqueio
getBlocklist()— Obter contatos bloqueadosupdateBlocklist(jid, action)— Bloquear/desbloquear ("block"|"unblock")
QR e Resolucao de Links
getContactQRLink(revoke?)— Gerar ou revogar seu link QR de contatoresolveContactQRLink(code)— Resolver um QR code de contato para informacoes do usuarioresolveBusinessMessageLink(code)— Resolver um link de mensagem comercial
Chamadas
rejectCall(from, callId)— Rejeitar uma chamada recebida
Configuracao
setPassive(passive)— Definir modo passivo (nao receber mensagens)setForceActiveDeliveryReceipts(active)— Forcar envio de confirmacoes de entrega
Auxiliares de Mensagem
generateMessageID()— Gerar um ID de mensagem unicobuildMessageKey(chat, sender, id)— Construir uma chave de mensagem protobufbuildUnavailableMessageRequest(chat, sender, id)— Construir uma requisicao para mensagens indisponiveisbuildHistorySyncRequest(info, count)— Construir uma mensagem de requisicao de sincronizacao de historicosendPeerMessage(message)— Enviar uma mensagem para seus proprios dispositivossendMediaRetryReceipt(info, mediaKey)— Solicitar re-upload de midia ao remetente
Bots
getBotListV2()— Obter a lista de bots disponiveisgetBotProfiles(bots)— Obter perfis de bots especificos
Estado do App
fetchAppState(name, fullSync?, onlyIfNotSynced?)— Buscar estado do app no servidormarkNotDirty(cleanType, timestamp)— Marcar um patch de estado do app como nao modificado
Descriptografia / Criptografia
decryptComment(info, message)— Descriptografar uma mensagem de comentariodecryptPollVote(info, message)— Descriptografar um voto de enquetedecryptReaction(info, message)— Descriptografar uma reacaodecryptSecretEncryptedMessage(info, message)— Descriptografar uma mensagem criptografada secretaencryptComment(info, message)— Criptografar um comentarioencryptPollVote(info, vote)— Criptografar um voto de enqueteencryptReaction(info, reaction)— Criptografar uma reacao
Parsing de Mensagens Web
parseWebMessage(chatJid, webMsg)— Fazer parsing de um WebMessageInfo (da sincronizacao de historico) em um evento de mensagem
Generico
call(method, args)— Enviar qualquer comando para o binario Go (recurso de escape)