AI Competitor: monitorização de preços da concorrência
Instalar e configurar a monitorização de preços da concorrência com extração por IA no PrestaShop 8 e 9.
Apresentação
O AI Competitor vigia os preços dos seus concorrentes diretamente a partir do back-office do PrestaShop. Para cada produto do seu catálogo, declara um ou vários URL da concorrência; o módulo visita-os a intervalos regulares, extrai o preço apresentado (com recurso à IA quando os métodos clássicos falham), deteta as variações significativas, avisa-o por e-mail e propõe-lhe um preço ajustado segundo a sua estratégia de preços.
Compatível com o PrestaShop 8.0 a 9.x, PHP 7.4 a 8.3, multiloja nativo. Sem dependências Composer.
Instalação
- No seu back-office, abra Módulos → Gestor de módulos → Instalar um módulo.
- Carregue o ficheiro
dfaicompetitor.zip. - O módulo instala-se e cria automaticamente as suas três tabelas (
dfaicompetitor_url,dfaicompetitor_price,dfaicompetitor_alert), bem como o menu Catálogo → AI Competitor.
Depois da instalação, é gerado um token de cron único. Encontra-o no painel do módulo.
Configuração inicial
Abra Catálogo → AI Competitor. O painel reúne as estatísticas e quatro blocos de configuração.
Fornecedor de IA
O recurso à IA é facultativo, mas fortemente recomendado: é ele que assume o trabalho quando um site concorrente não expõe dados estruturados nem um seletor utilizável. São suportados três fornecedores:
- Mistral AI (predefinido) — o mais económico, modelo aconselhado:
mistral-small-latest - Anthropic Claude — a melhor precisão em páginas complexas, modelo aconselhado:
claude-haiku-4-5-20251001 - OpenAI — bom compromisso, modelo aconselhado:
gpt-4o-mini
Introduza a chave de API do fornecedor escolhido. Fica oculta na apresentação; deixe o campo vazio numa gravação posterior para manter a chave existente. Paga diretamente ao fornecedor, sem custo adicional da DataFirefly.
Alertas
- E-mail de notificação — destinatário dos resumos de alertas e do relatório semanal.
- Limiar de variação — em percentagem (3 % por predefinição). Abaixo desse valor, não é criada qualquer alerta.
- Dia do relatório semanal — segunda-feira por predefinição.
Recolha de dados
- URL por lote do cron — número de URL tratados em cada execução (20 por predefinição).
- Intervalo predefinido — em horas, aplicado aos novos URL (24 h por predefinição).
- Tempo limite HTTP e User-Agent — o User-Agent fornecido é identificável (
DataFireflyBot); pode personalizá-lo.
Estratégia de ajustamento
Três estratégias determinam o preço sugerido, sempre calculado a partir do concorrente mais barato:
- Alinhar — o mesmo preço do concorrente mais baixo.
- Ficar X % abaixo — X % abaixo (predefinição: 1 %).
- Prémio de X % — X % acima, para um posicionamento premium assumido.
Acrescentar URL da concorrência
Abra Catálogo → AI Competitor → Competitor URLs → Adicionar. Cada linha associa um produto do seu catálogo a uma página da concorrência:
- Produto — selecionado no seu catálogo.
- Nome do concorrente — texto livre (Amazon, Worten, Fnac, uma loja online…).
- URL — o endereço completo da ficha de produto do concorrente.
- Seletor CSS (opcional) — ver abaixo.
- Moeda ISO — EUR por predefinição.
- Forçar a extração por IA — ignora os métodos clássicos neste URL.
- Intervalo — em horas, específico deste URL.
O botão Scrape de cada linha despoleta uma extração imediata, prático para validar um URL logo que é criado.
Como funciona a extração
Para cada URL, o módulo tenta quatro métodos em cascata e para no primeiro que resulte:
- JSON-LD — os dados estruturados Product/Offer, presentes na grande maioria dos sites de comércio eletrónico. O preço, a moeda e a disponibilidade são lidos diretamente, sem configuração.
- OpenGraph — as etiquetas meta product price amount.
- Seletor CSS — se tiver indicado um. O conversor integrado suporta classes, identificadores, seletores de atributo e combinadores de filho. Exemplos válidos:
.current-price,.price-box > .amount,span[itemprop=price]. - IA — é enviado ao seu fornecedor um extrato de HTML limpo, que devolve o preço, a moeda e o estado de stock. Os formatos de preço internacionais são suportados (1 299,90 — 1.234,56 — $49.99).
Comece sempre sem seletor CSS: o JSON-LD chega na maioria dos casos. Só acrescente um seletor ou force a IA se a coluna Status apresentar no_price.
Configurar o cron
A recolha periódica assenta num endpoint protegido por token, apresentado no painel. Agende a sua chamada a cada 30 minutos:
*/30 * * * * curl -s "https://a-sua-loja.com/index.php?fc=module&module=dfaicompetitor&controller=cron&token=O_SEU_TOKEN" > /dev/null
Em cada execução, o cron trata o lote de URL cujo intervalo já decorreu, envia os e-mails de alerta pendentes, expede o relatório semanal se for o dia certo e limpa os dados antigos (registos > 180 dias, alertas > 365 dias). A resposta é um JSON de síntese.
O token pode ser regenerado a qualquer momento a partir do painel (os crons existentes terão de ser atualizados). Está também disponível um acionamento manual através do botão Run cron now.
Alertas
São gerados cinco tipos de alerta, cada um com uma gravidade:
- price_drop / price_rise — variação acima do limiar. Uma variação ≥ 10 % passa a critical.
- undercut — um concorrente passa abaixo do seu preço de venda com IVA. Sempre critical.
- out_of_stock / back_in_stock — transições de disponibilidade detetadas através dos dados estruturados ou da IA.
- scrape_error — apenas após 3 falhas consecutivas, para eliminar o ruído das indisponibilidades passageiras.
As alertas são agrupadas num único e-mail de resumo por execução do cron e podem ser consultadas em Reports & Alerts, com confirmação de leitura («Acknowledge all»).
Relatório semanal
Todas as semanas, no dia configurado, um e-mail HTML resume: os produtos com maior desvantagem de preço, as maiores descidas e subidas da concorrência, o estado de saúde da recolha e uma síntese executiva redigida pela IA que hierarquiza as ações a tomar. Uma pré-visualização do relatório em curso está sempre disponível em Reports & Alerts, com um botão de envio imediato.
Sugestão de preço
Em Reports & Alerts, selecione um produto monitorizado: o módulo apresenta o seu preço atual, o mínimo/média/máximo da concorrência, as fontes e o preço sugerido segundo a sua estratégia. O botão Aplicar grava o preço no produto PrestaShop.
A aplicação nunca é automática: é uma escolha deliberada para evitar espirais de descida em espelho entre concorrentes equipados com o mesmo tipo de ferramenta. A conversão de preço com IVA para preço sem IVA é feita automaticamente segundo a taxa de imposto do produto.
Resolução de problemas
Status «no_price»
Nenhum dos métodos encontrou um preço. Verifique o URL num navegador, acrescente um seletor CSS que aponte para o elemento do preço, ou ative «Forçar a extração por IA» nesse URL.
Status «error»
A página não respondeu (HTTP ≥ 400 ou tempo limite). Alguns sites bloqueiam robôs: personalize o User-Agent na configuração, aumente o tempo limite ou espace o intervalo. Só é emitida uma alerta à 3.ª falha consecutiva.
A extração por IA não funciona
Verifique se a chave de API é válida e se o modelo existe no seu fornecedor. Os erros de chamada da IA ficam registados em Parâmetros avançados → Registos com o prefixo [dfaicompetitor].
Os e-mails não chegam
Teste a configuração de e-mail do PrestaShop (Parâmetros avançados → E-mail). O módulo utiliza o sistema de e-mails nativo com os seus próprios modelos FR/EN.
Boas práticas e conformidade
- Espace os intervalos (6 a 24 h por URL chegam para monitorização de preços), para não sobrecarregar desnecessariamente os servidores da concorrência.
- Mantenha um User-Agent identificável: é a prática leal esperada na monitorização concorrencial.
- A leitura de preços públicos é geralmente lícita na Europa, mas continua a ser responsável pela utilização dos dados recolhidos.