Conectar WhatsApp

Abra o WhatsApp no celular → Aparelhos conectados → Conectar um aparelho

QR Code

O QR expira em cerca de 60s; um novo aparece automaticamente.

Descobrir chat ID

  1. Adicione o bot ao grupo ou canal desejado.
  2. Envie qualquer mensagem no grupo (ex.: /start).
  3. Clique em Buscar chats abaixo.

Detalhe da captura

Carregando…

P

Promo Capture

WhatsApp → Telegram · Afiliados automáticos

WhatsApp parado —

Circuit breaker ativo: reconexões pausadas para proteger a conta. Retoma em . (falhas consecutivas: )

Carregando dados…

Capturas hoje
Últimos 7 dias
registradas no SQLite
Grupos ativos
habilitados no cadastro
Total capturas
histórico completo
Enviados Telegram
link postado no chat
Sem envio Telegram
fila acionável (sem aprovação pendente)
Aguardando aprovação
publicar manualmente
Pendente (imagem)
aguardando foto p/ Telegram

Aprovação pendente

Grupos com «exigir aprovação» — convertidas, ainda não publicadas no Telegram.

Nenhuma captura aguardando aprovação.

Carregando…

Conexão WhatsApp

Saúde da sessão Baileys e reconexões nas últimas 24h

Conectado há
Reconexões (24h)

Feed recente

Nenhuma captura ainda. Cadastre um grupo e envie mensagem no WhatsApp.

Resumo

Dados vindos do banco data/app.db (tabelas captures e groups).

Classificação warn = mensagem sem imagem anexa. Loja/preço ainda não são extraídos automaticamente.

Aba Posts Telegram: enviados = mensagem com link enviada ao bot com sucesso; não enviados = sem URL, falha de afiliado ou falha da API do Telegram (motivo gravado no SQLite).

Últimas capturas (tabela)

Texto Grupo Imagem Quando Conversão Telegram Status
Sem registros
Até por página · página

Histórico de capturas

Carregando…

Nenhum registro em captures.

Clique em uma linha para ver o detalhe e reprocessar.

ID WA msg Texto Grupo Quando Conv. TG Falha St
Até por página · página

Posts Telegram

Fluxo: captura no WhatsApp (ou manual) → processamento de link/afiliado → envio ao grupo/canal do Telegram. Processados só entram após confirmação da API do Telegram. Não enviados reúne pendências acionáveis (ex.: imagem faltando, falha do Telegram); não inclui capturas aguardando sua aprovação (veja Visão geral). Só entram no fluxo de envio mensagens cujo link teve afiliação válida (✅ ou 🟢). Demais (sem URL, 🟡 sem regra/limpo, ⚠️ indisponível, ❌ erro) vão para Posts ignorados.

Carregando…

Nenhuma postagem com envio confirmado ao Telegram ainda.

Grupo Texto Link enviado Rede Conversão Enviado em
Enviados · até por página · página

Carregando…

Lista vazia.

Grupo Texto Motivo Detalhe (SQLite) Conversão Capturado em
Não enviados · até por página · página

Carregando…

Nenhum post ignorado ainda.

Grupo Texto Motivo Detalhe (SQLite) Conversão Capturado em
Ignorados · até por página · página

Captura manual

Mesmo fluxo da captura automática do WhatsApp: grava em captures, converte o link (afiliados), encurta só nas redes marcadas na config do encurtador e envia ao Telegram. Telegram: sempre foto + legenda (texto com link convertido). Sem arquivo, o sistema tenta baixar a imagem da URL no texto (og:image). Se não houver link ou não der para obter imagem, a linha fica pendente até você anexar no histórico. Não é preciso cadastrar grupo — cole o texto e, se quiser, uma imagem.

Clique para escolher arquivo, ou solte uma imagem aqui

Também pode colar com Ctrl+V no quadro ou no texto

Prévia

Grupos monitorados

Cadastre JIDs de grupo (@g.us) monitorados pelo pipeline. Dados vêm do SQLite.

Carregando grupos…

Grupos na sua conta (clique para preencher o formulário)

Adicionar grupo monitorado

Carregando cadastro…

Carregando configurações…

Telegram

✓ token validado ⚠ não configurado Salvo — valide se quiser

Bot: @ ()

Use Descobrir se não souber o ID.

Retenção de capturas

Remove automaticamente do SQLite as linhas de captures mais antigas que o prazo e apaga os arquivos de imagem ligados a elas em data/images/. A primeira execução ocorre ~5 min após subir o servidor; depois, uma vez por dia. Filtro por rede: lista JSON em minúsculas (mesmo valor de affiliate_network no banco: shopee, mercadolivre, amazon, magalu, natura, clube, awin, rakuten, cityads, desconhecida, ou nome curto da loja custom ex. boticario). Lista vazia [] = aplica a todas as redes. Com itens na lista, só apaga capturas antigas dessa(s) rede(s) (linhas sem rede preenchida não entram no filtro).

Afiliados — Shopee

Afiliados — Mercado Livre

O cookie expira periodicamente — atualize quando o ML falhar.

Reconhecimento de links por rede

Cada cartão é uma rede. Dentro dela você monta a lista de domínios (um ou mais) que identificam links dessa rede: o programa compara o hostname do link com cada item (trecho contido no host, sem https://). Lista vazia = não sobrescreve o padrão do sistema para aquela rede. Use + Adicionar domínio para criar a primeira linha. Evite termos genéricos (ex.: só com.br) — podem classificar sites errados. Ordem de decisão: Clube → Amazon → Natura → Mercado Livre → Magalu → Shopee → CityAds → Awin → Rakuten → lojas custom.

Afiliados — Amazon

Afiliados — Magalu

Afiliados — Natura / Awin / Rakuten

Merchants Awin / Rakuten (JSON)

Lojas fora do integrador

Para links que não entram em Shopee, Mercado Livre, Amazon, Magalu, Awin, Rakuten, CityAds etc., defina o domínio da loja e um ou mais blocos de parâmetros (cada bloco = trecho como no painel do afiliado, depois do ?). Vários blocos na mesma loja são aplicados em sequência na URL (útil quando a rede exige 2+ trechos). Entre lojas, a ordem da lista importa: a primeira loja que combinar com o site do link ganha — use ↑↓ e coloque domínios mais específicos em cima.

Nenhuma loja cadastrada. Use «Adicionar loja» para incluir a primeira.

Importar de JSON (opcional)

Cole um array no mesmo formato do banco e clique em Aplicar. Depois use Salvar para persistir.

Encurtador (descontos.ai)

O serviço de encurtamento só chama a API quando Encurtador ativo está ligado e a rede detectada no link tem o checkbox abaixo. Caso contrário, o Telegram recebe o link convertido (afiliado) sem passar pelo descontos.ai.

Encurtar só nestas redes

Testar conversão de link

O botão não fica desabilitado durante o teste (evita ficar preso se a aba dormir no meio do pedido). Cliques extras são ignorados até terminar.

Log do processamento

O mesmo texto é enviado ao console do navegador com o prefixo [PromoCapture][TesteLink] (F12 → aba Console; filtre por PromoCapture). No terminal do Node aparecem linhas AffiliateTest:.


      

Rede / host:

Original:

Afiliado:

Status:

Abrir

Deduplicação / formato

Reservado para próximas versões (dedup e templates). Config principal acima está no SQLite (config).

Atividade (SQLite)

Eventos gravados em activity_logs (conexão WA, capturas, avisos do pipeline). Logs completos do Node continuam no terminal.

Carregando…

Nenhuma entrada ainda.