Carregando dados…
Aprovação pendente
Grupos com «exigir aprovação» — convertidas, ainda não publicadas no Telegram.
Nenhuma captura aguardando aprovação.
Carregando…
· · id
Conexão WhatsApp
Saúde da sessão Baileys e reconexões nas últimas 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 | ||||||
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 |
|---|---|---|---|---|---|---|---|---|
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.
Carregando…
Lista vazia.
| Grupo | Texto | Motivo | Detalhe (SQLite) | Conversão | Capturado em |
|---|---|---|---|---|---|
Carregando…
Nenhum post ignorado ainda.
| Grupo | Texto | Motivo | Detalhe (SQLite) | Conversão | Capturado em |
|---|---|---|---|---|---|
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
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 quiserBot: @ ()
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.
Nenhum domínio cadastrado para «». Clique em + Adicionar domínio abaixo para incluir o primeiro (ex.: ). Se deixar vazio e salvar, o sistema continua usando os padrões embutidos só para essa rede.
Domínios desta rede
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.
Cada bloco é mesclado na ordem. Se a mesma chave aparecer de novo, o valor do bloco seguinte substitui.
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.
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:.
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.