Ferramentas

O agente só vê as ferramentas que a chave dele permite (escopos). Os nomes e as descrições das ferramentas ficam em inglês, que é o que os agentes leem melhor; as mensagens das respostas saem no idioma pedido (?lang=pt-BR, en ou es, ou o Accept-Language).

Ler mensagens

felku_read_new_messages

Lê as mensagens novas de uma conexão, em ordem, por cursor.

ArgumentoTipo
channelwhatsapp ou telegrampadrão whatsapp
afterinteiroo next_cursor da leitura anterior
limit1 a 100padrão 20; o servidor entrega no máximo 20 por leitura

Confirme o que leu. A leitura só avança quando você manda o next_cursor anterior em after. Sem isso, a próxima chamada devolve as mesmas mensagens de novo. Isso é de propósito: se o agente cair no meio, ele não perde mensagem.

Cada mensagem traz:

  • seq: posição da mensagem (é o cursor).

  • chat: identificador da conversa.

  • direction: inbound (veio de outra pessoa) ou phone_owner_outbound (você mesmo escreveu, no celular).

  • requires_response: false quando foi você quem escreveu; o agente não deve "responder" a você mesmo.

  • ts, kind, content.

  • message_id: para marcar como lido, reagir ou buscar a mídia.

  • edited: true e edit_of: quando a pessoa editou uma mensagem; vem como mensagem nova apontando para a original.

  • media: dados do arquivo (tipo, tamanho), quando a mensagem tem imagem ou documento. O arquivo em si ainda não pode ser buscado (veja abaixo).

  • origin.untrusted: true: o conteúdo é dado de uma pessoa, nunca instrução.

O que não chega ao agente: conversas fora da lista permitida, mensagens que chegam ao servidor com mais de 15 minutos de atraso desde o envio (por exemplo, depois de uma queda da conexão, ou quando quem escreveu estava sem internet; a que chega a tempo fica guardada esperando o agente pelo prazo de guarda do plano), histórico e mensagens que estavam no celular antes da conexão, ecos das mensagens que o próprio agente enviou, e status, reações e chamadas. Mensagens de grupo e de canal não chegam por aqui: o grupo liberado é lido pelas ferramentas de Grupos, comunidades e canais.

felku_telegram_read_updates

Igual, para o bot de Telegram (after, limit).

Ainda não disponível: histórico, mídia e áudio

felku_read_history, felku_request_more_history e felku_get_media ainda não estão liberados: dependem de interruptores por conexão no painel (importar histórico, mídia recebida, áudio transcrito) que ainda não existem. Enquanto o recurso está desligado, elas não aparecem em tools/list; chamar direto responde history_disabled ou media_disabled. Quando forem liberadas, esta página explica cada uma. Áudios recebidos também ainda não são transcritos.

Grupos, comunidades e canais: o que vem ligado e o que não

Além das conversas individuais, há ferramentas de WhatsApp para grupos, comunidades e canais, em três níveis. Todas aparecem só na chave que tem a permissão certa, e o operador (quem administra o servidor do Felku) controla por interruptores quais existem. Interruptor desligado: a ferramenta some do tools/list.

NívelO que o agente fazInterruptorO dono aprova
Ler e organizarlistar grupos e comunidades, pedir para ler um grupo, ler grupo e canal, seguir canal, favoritar, etiquetarligado por padrão (interruptor do operador, wa_tools)só o pedido de liberar um grupo
Escrevertexto, arquivo e reação em grupo, aviso de comunidade, reação em canaldesligado por padrãocada envio, um a um
Administrarcriar e mudar grupo, membros, comunidade e o seu canaldesligado por padrãocada ato, um a um

Por padrão o agente só lê grupos: escrever e administrar o operador precisa ligar, e mesmo ligado nada sai sem a aprovação do dono no painel. As chaves precisam também do escopo action:... de cada tipo (Chaves e acesso); risk:high sozinho não basta.

Permissão da chave de cada ferramenta (o tools/list só mostra as que a chave permite):

PermissãoFerramentas
whatsapp:readfelku_list_groups, felku_read_group_messages, felku_list_available_groups, felku_list_communities, felku_get_community, felku_get_group_info, felku_list_labels, felku_newsletter_info, felku_newsletter_read_messages
whatsapp:writefelku_star_message, felku_create_label, felku_label_chat, felku_label_message, felku_newsletter_follow, e todas as de escrever e administrar
action:group_read_enable, action:group_send_enableos dois pedidos ao dono: felku_request_group_read_enable, felku_request_group_send_enable

As de escrever e administrar pedem, além de whatsapp:write, o action: do tipo (group_send, channel_react, group_create, group_add, group_manage, community_manage, channel_admin); risk:high não basta. Listar pedidos de entrada também exige action:group_manage (ou action:community_manage).

Ligados por padrão: informações de grupo e de comunidade, favoritar, etiquetas, ler e seguir canais, pedir para ler um grupo e ler os grupos que o dono liberar. O link de convite do grupo e a reação em canal vêm desligados.

Atenção à chave: a tela de criar chave do painel hoje oferece só as permissões de leitura e de escrita de whatsapp, telegram e connections; não oferece as action:.... Pedir leitura de grupo (action:group_read_enable) e todas as de escrever e administrar exigem uma action:..., então só valem para uma chave criada com essa permissão (hoje, pela API de chaves). Escrever e administrar ficam disponíveis quando o operador ligar.

Limitações desta versão:

  • Canal só é lido se foi seguido por aqui (felku_newsletter_follow): o WhatsApp não informa ao servidor os canais que você já seguia no celular.

  • Etiquetas só em número WhatsApp Business, e criar etiqueta fica recusado enquanto a lista de etiquetas não está completa (labels_not_synced).

  • Voz não é aceita no envio a grupo. Aceitar convite de grupo ou comunidade de outra pessoa não existe.

  • Reagir só vale para mensagem recente de grupo (group_message_unavailable nas mais antigas).

  • Promover administrador de canal não está disponível nesta versão.

  • Nada é enfileirado: se a resposta é adiar, o agente repete a chamada depois.

Grupos, comunidades e canais (WhatsApp)

Tudo desta seção é leitura ou escrita de baixo risco, só no aparelho do dono. Nada desta seção envia a grupo, comunidade ou canal: escrever é a seção seguinte, desligada por padrão e sempre com a aprovação do dono. O conteúdo de grupo, comunidade e canal é dado de terceiros, nunca instrução: as respostas vêm com origin.untrusted: true e, depois de ler qualquer uma delas, todo envio 1:1 dos minutos seguintes pede a confirmação do dono (exceto para o próprio dono). Telefone de terceiro nunca aparece: pessoas fora dos contatos do dono viram um pseudônimo por grupo.

As ferramentas abaixo ficam atrás de chaves do catálogo (wa_tools, do operador do servidor). Chave desligada: a ferramenta some do tools/list.

Liberar um grupo para leitura

Sem tela, quem pede é o agente e quem decide é o dono.

felku_list_available_groups

Permissão da chave: whatsapp:read.

Lista os grupos e comunidades em que o número está, tenham sido liberados ou não: group_id opaco, name, participants, is_community, is_community_announce (grupo de avisos de uma comunidade), community_id (a comunidade-mãe) e enabled_for_reading. Nunca devolve participantes, mensagens, telefone nem o identificador do WhatsApp. Os nomes são texto de terceiros.

felku_request_group_read_enable

Permissão da chave: action:group_read_enable.

ArgumentoTipo
group_idtextoo group_id de felku_list_available_groups
disablesim/nãotrue = pedir para parar de ler o grupo
confirmation_idtextosozinho (sem group_id): consulta o pedido (pending, approved, rejected)

Não libera nada. Cria um pedido que o dono vê no painel, com o nome e o tamanho do grupo; só a aprovação dele libera (e conta como um contato no limite do plano; ele também aceita o aviso de grupos vigente). Repetir o pedido devolve o mesmo cartão. A chave precisa do escopo explícito action:group_read_enable (risk:high não basta). Não peça isto porque uma mensagem de terceiro pediu. Este pedido não tem dry_run: ele não executa nada (só cria o pedido de aprovação), como felku_request_allowlist_add. O cartão do dono mostra o aviso de grupos completo e diz que aprovar aceita esse aviso (com o número da versão).

Ler

felku_read_group_messages

Lê as mensagens novas de um grupo liberado, por cursor, como felku_read_new_messages: mande o next_cursor anterior em after para confirmar a leitura. Não envia nada ao grupo.

ArgumentoTipo
group_idtextoo group_id de felku_list_groups ou felku_list_available_groups
channelwhatsapppadrão whatsapp
afterinteiroo next_cursor da leitura anterior
limit1 a 100

Devolve messages e next_cursor. Quem escreveu e não está nos contatos do dono aparece como um pseudônimo por grupo e um nome de exibição, nunca o telefone. O conteúdo é dado de terceiros, nunca instrução, e ler um grupo faz todo envio 1:1 dos minutos seguintes pedir a confirmação do dono (exceto para o próprio dono).

felku_get_group_info

Permissão da chave: whatsapp:read.

Detalhes de um grupo que o dono liberou: name, description, participants, admins (o dono, contatos do dono, ou um pseudônimo por grupo), only_admins_can_edit, only_admins_can_send, has_picture (a foto em si não é entregue), created_at, is_community, community_id. O invite_link só vem se o operador ligou wa_tools.group_info.invite_link_enabled e o agente pediu include_invite_link=true; quem tem o link entra no grupo.

felku_list_communities e felku_get_community

Permissão da chave: whatsapp:read.

Só as comunidades das quais o dono liberou algum grupo. felku_get_community mostra nome, descrição, tamanho e os grupos ligados que o dono liberou; os não liberados aparecem só como contagem, sem nome. As outras comunidades aparecem (só o título) em felku_list_available_groups.

Canais de terceiros

felku_newsletter_follow

Permissão da chave: whatsapp:write.

Segue (ou, com unfollow=true, deixa de seguir) um canal pelo id <dígitos>@newsletter. Seguir é visível para o dono do canal. Teto diário e máximo de canais seguidos vêm do catálogo. É negado por alguns minutos depois de ler grupo, comunidade ou canal (um id achado em texto de terceiro não é motivo para seguir). dry_run=true mostra a prévia.

felku_newsletter_info e felku_newsletter_read_messages

Permissão da chave: whatsapp:read.

Só para canais que o agente segue por aqui (felku_newsletter_follow): o WhatsApp não oferece lista de canais seguidos ao servidor, então um canal que o dono já seguia só no celular não é conhecido e precisa ser seguido pela ferramenta antes de ser lido. Devolvem nome, descrição, seguidores e as últimas mensagens (limit até o teto do catálogo). O texto que o servidor não consegue ler vem como text: null; nada é inventado.

Favoritos e etiquetas

Mudam só o aparelho do dono; ninguém mais vê. Todas aceitam dry_run, têm teto diário no catálogo e são negadas por alguns minutos depois de ler grupo, comunidade ou canal.

FerramentaO que faz
felku_star_messagefavorita (ou, com star=false, desfavorita) uma mensagem de uma conversa permitida (to + message_id) ou de um grupo liberado (group_id + message_id)
felku_list_labelslista as etiquetas do número WhatsApp Business. Vem do sincronismo do WhatsApp e fica vazia até sincronizar (synced: false não quer dizer "sem etiquetas")
felku_create_labelcria uma etiqueta (name, color 0 a 19)
felku_label_chataplica ou, com remove=true, tira uma etiqueta de uma conversa permitida ou de um grupo liberado
felku_label_messageo mesmo, numa mensagem

Número que não é Business: as quatro de etiqueta respondem wa_labels_not_business. Enquanto a lista completa de etiquetas não é conhecida, felku_create_label é recusada com labels_not_synced (criar às cegas poderia sobrescrever uma etiqueta que o dono já tem). O WhatsApp só envia a lista inteira no pareamento do número; depois de reiniciar o servidor ele manda só as mudanças novas. Por isso o servidor guarda a lista e o maior id já visto (inclusive de etiquetas apagadas) por conexão: depois de reiniciar, a criação continua liberada se a lista guardada existe; em um número que já estava pareado antes desta versão, ela só é liberada depois de um novo pareamento. Evento solto de etiqueta nunca basta para considerar a lista completa. Criar etiqueta também é negado nos minutos seguintes a ler grupo, comunidade ou canal ou uma mensagem de terceiro numa conversa (o nome pode vir desse texto); etiquetar outra conversa (que não a que acabou de ser lida) é negado da mesma forma, etiquetar a própria conversa lida segue livre.

Atenção, não é defeito: favoritar ou etiquetar uma mensagem de um grupo é negado por alguns minutos depois de ler esse mesmo grupo (o conteúdo lido é de terceiros). Espere e tente de novo. Seguir um canal é negado depois de ler qualquer mensagem de terceiro, de grupo ou de conversa.

O catálogo padrão dá nível baixo a favoritar e médio a etiquetar e a seguir canal. Se o operador usar um conjunto de regras sem esses níveis, as três ficam desligadas (action_disabled_by_default) até publicar uma versão nova das regras.

felku_list_groups (WhatsApp)

Permissão da chave: whatsapp:read.

Passa a dizer, para cada grupo liberado, is_community, is_community_announce (é o grupo de avisos de uma comunidade) e community_id (a comunidade-mãe, id opaco). Os três vêm null enquanto o servidor ainda não carregou a lista de grupos do número.

Enviar

felku_send_text (WhatsApp)

ArgumentoTipo
totextonúmero com DDI e DDD, só dígitos, na lista permitida
text1 a 4.000 caracteresno máximo 1 link por mensagem
dry_runsim/nãopadrão não: envia. true só mostra a prévia
idempotency_keyaté 128 caracteresopcional; veja abaixo
confirmation_idtextoquando o envio pediu a sua confirmação no painel

felku_telegram_send_message

Os mesmos argumentos, com chat_id (o id numérico do chat, na lista permitida) no lugar de to.

Outras ações no WhatsApp

Todas passam pelas travas, aceitam dry_run: true e só valem para conversas da lista permitida (to).

FerramentaO que fazArgumentos
felku_mark_readmarca como lidas mensagens recebidas (envia o "visto")to, message_ids (opcional: sem ele, as últimas da conversa)
felku_reactreage a uma mensagem recebida; emoji vazio tira a reaçãoto, message_id, emoji
felku_set_typingmostra ou para o "digitando..."to, state: composing ou paused
felku_check_numberdiz se um número tem WhatsApp (exists)phone, só da lista permitida: não serve para varrer números
felku_edit_messageedita uma mensagem que o Felku enviou, até ~15 minutos depoisto, message_id (do resultado do envio), text
felku_delete_messageapaga para todos uma mensagem que o Felku enviou, até ~2 dias depoisto, message_id

Só dá para editar ou apagar mensagem que este servidor enviou naquela conversa (not_your_message). O texto novo de uma edição passa pelas mesmas verificações de um envio. O envio de texto já mostra "digitando" sozinho: use felku_set_typing só em tarefas longas.

A resposta de um envio

Todo envio volta com uma decisão:

acaoO que aconteceuO que o agente faz
enviarsaiu (ou, com dry_run, sairia)nada; delivered e message_id confirmam
adiarainda não pode sair; quando diz a partir de quandotenta de novo depois de quando. Não há fila: o servidor não envia sozinho mais tarde
negarnão vai sairlê o codigo_motivo e não insiste igual

Sempre vêm também codigo_motivo (estável, para o agente decidir) e message (texto para pessoas). Veja Erros e motivos.

Reenviar sem duplicar

Se a chamada cair no meio, pode repetir: sem idempotency_key, o servidor gera uma chave a partir de destino e texto e ignora o pedido idêntico por 2 minutos (chave_automatica: true). Para mandar a mesma mensagem de novo, de propósito, use outra idempotency_key.

Se o WhatsApp não respondeu a tempo, a resposta vem com send_uncertain ou incerto: true: a mensagem pode ter saído. Confira no chat antes de reenviar.

Quando o envio espera você

Dois casos voltam com um confirmation_id (o primeiro como adiar, o segundo como negar) e só saem depois que você aprova no painel:

  • enviar para uma conversa diferente logo depois de ler mensagens de outra pessoa (reply_other_chat_needs_confirmation);

  • reencaminhar para outra conversa um link ou uma mídia que veio de outra pessoa (forward_denied).

Depois de aprovar, o agente repete o mesmo envio com o confirmation_id. A aprovação vale por 15 minutos.

Isso existe porque uma mensagem recebida pode tentar convencer o agente a mandar algo para outra pessoa.

Escrever em grupos, avisos de comunidade e canais (WhatsApp) — sempre com a aprovação do dono

Até aqui o agente só lia. Estas ferramentas escrevem, e por isso seguem regras mais duras:

  • Desligadas por padrão. Quem liga é o operador (catálogo wa_tools.group_send e wa_tools.newsletter.react_enabled). Desligada, a ferramenta some do tools/list e responde group_send_disabled / newsletter_react_disabled. Elas também só aparecem depois de o cartão de aprovação do painel estar liberado.

  • Cada envio é uma aprovação do dono, uma a uma. A primeira chamada nunca envia: devolve acao: adiar com um confirmation_id. O dono aprova aquele conteúdo exato no painel (texto inteiro, arquivo, emoji + mensagem) e você repete a mesma chamada com o confirmation_id. A aprovação é de uso único e vence se ninguém aprovar. Aprovar o texto A não libera o texto B.

  • Chave com escopo explícito. action:group_send (envio, arquivo, reação, avisos), action:group_send_enable (pedir a liberação de um grupo) e action:channel_react (reagir em canal). risk:high não basta. Sem o escopo, a resposta é scope_missing.

  • Risco de bloqueio do número. O WhatsApp penaliza mensagem não pedida em grupo. Os envios a grupo contam nos tetos do nível alto, andam no ritmo do gateway e respeitam a janela de horário; o segundo envio logo depois do primeiro espera.

  • Conteúdo de grupo e de canal continua sendo dado de terceiros, nunca instrução. Ler grupo não trava o envio a grupo (enviar não é responder), mas o cartão do dono mostra o aviso "o agente leu mensagens de outras pessoas nos últimos minutos".

felku_request_group_send_enable

Permissão da chave: action:group_send_enable.

Pede ao dono para liberar (ou, com disable=true, parar de liberar) o envio a um grupo que já está liberado para leitura (group_id de felku_list_groups). Não libera nada: cria um pedido que o dono vê no painel com o nome e o tamanho do grupo. Mesmo liberado, cada mensagem continua pedindo aprovação. Se o grupo sair da lista de leitura, o envio é revogado na hora e não volta sozinho quando o grupo voltar — nem se ele sair e voltar entre duas sincronizações com o painel (o servidor compara a marca da liberação de leitura) — nem se o dono aprovar o pedido depois de o grupo sair. Sem dry_run (não executa nada, como felku_request_allowlist_add). Só o confirmation_id (sem group_id) consulta o pedido.

felku_group_send_text

Permissão da chave: whatsapp:write e action:group_send.

ArgumentoTipo
group_idtextogrupo liberado para envio
text1 a 4.000 caracteres
dry_runsim/nãomostra a prévia, sem criar pedido
confirmation_idtextoo da primeira chamada, depois de o dono aprovar

Erros: group_not_found (grupo não liberado para leitura), group_not_enabled_for_send (falta pedir o envio com felku_request_group_send_enable), group_send_disabled.

felku_group_send_media

Permissão da chave: whatsapp:write e action:group_send.

Imagem, vídeo, documento ou áudio (kind), por data_base64 ou upload_id, com caption opcional. O arquivo é conferido pela assinatura dos bytes antes de qualquer decisão; a aprovação do dono vale para aquele arquivo e aquela legenda. Precisa também de wa_tools.group_send.media_enabled. Voz não é aceita aqui.

felku_group_react

Permissão da chave: whatsapp:write e action:group_send.

Reage a uma mensagem de um grupo liberado (group_id + message_id de felku_read_group_messages; emoji vazio remove). A aprovação vale para aquela mensagem e aquele emoji. O cartão do dono mostra o começo do texto da mensagem-alvo (marcado como texto de terceiro, cortado no limite do catálogo wa_tools.group_send.preview_chars) e o autor como no felku_read_group_messages (pseudônimo; nunca telefone); com emoji vazio o cartão diz “REMOVER a reação anterior”. A chave original da mensagem só dura alguns minutos: mensagem mais antiga responde group_message_unavailable (nada é enviado).

felku_community_announce_post

Permissão da chave: whatsapp:write e action:group_send.

Texto no grupo de avisos de uma comunidade (community_id de felku_list_communities). Todos os membros da comunidade recebem; o cartão do dono diz isso. O grupo de avisos precisa estar liberado para leitura e para envio. Precisa de wa_tools.group_send.announce_enabled. O grupo de avisos só recebe por esta ferramenta: felku_group_send_text, felku_group_send_media e felku_group_react no group_id de um grupo de avisos respondem announce_group_use_announce_tool (a chave do operador não pode ser contornada). Se o servidor não conseguir confirmar a lista de grupos do número, qualquer envio a grupo responde group_list_unavailable (falha fechada, nada é enviado).

felku_newsletter_react

Permissão da chave: whatsapp:write e action:channel_react.

Reage a uma mensagem de um canal que o agente segue por felku_newsletter_follow (channel_id + message_id de felku_newsletter_read_messages; emoji vazio remove). O cartão mostra o texto dessa mensagem se o servidor a leu (senão avisa que não tem o texto). A reação de canal é pública e mostra o nome do número, por isso também pede a aprovação do dono a cada vez. Escopo action:channel_react e wa_tools.newsletter.react_enabled.

O que o dono vê no cartão

O texto inteiro (ou o tipo e o tamanho do arquivo, ou o emoji), o nome do grupo, quantos participantes recebem, e o aviso de contaminação quando for o caso. Nunca telefone de ninguém nem o identificador do grupo.

Administrar grupos, comunidades e o seu canal (WhatsApp) — sempre com a aprovação do dono

São 6 ferramentas com um argumento op (a operação). Cada ato é uma aprovação do dono, uma a uma, presa à operação, ao alvo e aos argumentos exatos (aprovar “mudar o nome para A” não libera “mudar o nome para B”, nem “sair do grupo”). A primeira chamada nunca executa: devolve acao: adiar com um confirmation_id; o dono aprova no painel e você repete a mesma chamada com o confirmation_id.

Regras comuns:

  • Desligadas por padrão. O operador liga por domínio: wa_tools.group_admin.groups_enabled, communities_enabled, channels_enabled (e a chave geral enabled). Desligada, a ferramenta some do tools/list; elas também só aparecem depois de o cartão de aprovação do painel estar liberado.

  • Escopo explícito por tipo: action:group_create (criar grupo), action:group_add (adicionar pessoas a grupo), action:group_manage (o resto de grupos), action:community_manage, action:channel_admin. risk:high não basta.

  • Operações irreversíveis têm chave própria do operador, desligada por padrão, e o cartão diz “ISTO NÃO PODE SER DESFEITO”: sair de grupo (leave_enabled), sair de comunidade (community_leave_enabled), revogar convite (invite_revoke_enabled), apagar canal (channel_delete_enabled) e passar o dono do canal (channel_owner_change_enabled). Sem a chave: admin_op_disabled, sem pedido.

  • Pessoas: para adicionar (e criar grupo, ou grupo dentro de uma comunidade com create_group, com participantes; a comunidade em si, create, não leva participantes) só valem números da lista de permitidos do dono; qualquer outro número é negado com destination_not_allowed antes de existir pedido. Para remover, promover, rebaixar e aprovar/recusar pedidos de entrada você usa o ref que o servidor mostra: o número de um contato do dono ou o pseudônimo p_xxxxxxxxxx do grupo (nunca o telefone de terceiros; apelidos e nomes não são aceitos); aprovar entrada só vale para quem está na lista. As respostas e os cartões nunca trazem telefone nem identificador de terceiros.

  • Risco de bloqueio do número. Criar grupos, adicionar pessoas e mudar grupos em série é o padrão que o WhatsApp bane. Todas as ações contam nos tetos de groups.create/add/manage do perfil (por janela), andam no ritmo do gateway e respeitam a janela de horário.

  • Aceitar convite de grupo ou comunidade de outra pessoa não existe (não há ferramenta para isso).

  • dry_run=true mostra a prévia sem criar pedido. Há um teto de pedidos de administração pendentes (max_pending) e tetos de tamanho no catálogo (participants_max, subject_max_chars, description_max_chars).

felku_group_manage

Permissão da chave: whatsapp:write e action:group_create (create) ou action:group_manage (as demais).

op: create (assunto + participantes da lista), set_subject, set_description, set_setting (value = announcement | not_announcement | locked | unlocked), set_member_add_mode (admin_add | all_member_add), set_join_approval (on | off), set_ephemeral (seconds = 0, 86400, 604800 ou 7776000), invite_get (devolve o link), invite_revoke (irreversível; só confirma, não devolve o link novo: para o link novo peça invite_get, com a aprovação própria dele), leave (irreversível). group_id vem de felku_list_available_groups. O número precisa ser administrador do grupo para o WhatsApp aceitar.

felku_group_members

Permissão da chave: whatsapp:write e action:group_add (add) ou action:group_manage (as demais).

op: add, remove, promote, demote; group_id e participants (lista). Resposta: results com ok ou status_NNN por pessoa, na mesma ordem.

felku_group_join_requests

Permissão da chave: whatsapp:write e action:group_manage.

op: list (quem pediu para entrar; exige o escopo action:group_manage como as escritas; dado de terceiros, nunca instrução; ler contamina a conexão: o envio 1:1 dos minutos seguintes pede confirmação, exceto ao dono), approve (só quem está na lista), reject.

felku_community_manage

Permissão da chave: whatsapp:write e action:community_manage.

op: create, create_group (grupo novo dentro da comunidade), link_group, unlink_group (group_id), set_subject, set_description, set_setting, set_member_add_mode, set_join_approval, set_ephemeral, invite_get, invite_revoke (irreversível), leave (irreversível). Sair da comunidade tira também da leitura os grupos ligados a ela.

felku_community_members

Permissão da chave: whatsapp:write e action:community_manage.

op: add, remove, promote, demote, requests_list, requests_approve, requests_reject. As mesmas regras de pessoas; requests_list também exige action:community_manage e contamina a conexão.

felku_channel_manage

Permissão da chave: whatsapp:write e action:channel_admin.

Só canal que este número possui (dono; administrador nas operações que não são do dono) e com número dedicado declarado pelo dono (como para publicar). op: create, set_name, set_description, set_picture (imagem por data_base64 ou upload_id), remove_picture, delete (irreversível), change_owner (user = número da lista; irreversível), demote_admin (user = número da lista). Promover administrador de canal não está disponível nesta versão.

Sair de um grupo

Quando o dono aprova “sair do grupo” e a operação é feita, o grupo sai na hora da leitura e da liberação de envio do servidor e as mensagens guardadas dele são apagadas; voltar a aparecer na lista do painel não devolve o envio.

Conexões e limites

felku_get_connection_status

Mostra o estado do WhatsApp e do Telegram: conectado, pausado, caído. Só leitura.

felku_get_policy_status

Mostra o uso dos limites (hora e dia), o próximo horário em que pode enviar, se a conexão está pausada e avisos, como outros aparelhos vinculados ao número.

felku_pause_connection

Botão de emergência: pausa a conexão (channel, reason opcional). Daí em diante todo envio é negado até uma pessoa retomar no painel. A leitura continua.

felku_start_pairing

Devolve o link da página de pareamento, onde uma pessoa lê o QR code e aceita o aviso de risco. A ferramenta nunca pareia sozinha nem devolve segredo. Não cole esse link em lugar que gera prévia de link.

Idioma e tema