Pesquisas guardadas e alertas de novos produtos: documentação
Instalar, configurar e agendar o módulo dfsavedsearch: pesquisas guardadas, alertas por e-mail sobre novos produtos, cron e conformidade com o RGPD.
Apresentação
O módulo Pesquisas Guardadas e Alertas (dfsavedsearch) permite aos seus clientes guardar uma combinação de critérios de pesquisa (palavras-chave, categoria, fabricante, intervalo de preços, disponibilidade) e receber um e-mail automático assim que é publicado na sua loja um novo produto correspondente.
Cada pesquisa guardada torna-se um canal de reengajamento: o cliente volta por iniciativa própria no dia em que coloca em linha um produto que lhe interessa. Um registo anti-duplicação garante que só é alertado sobre produtos publicados depois de ter guardado a pesquisa, e nunca duas vezes pelo mesmo produto.
Em resumo: pesquisa guardada com um clique a partir da página de resultados, alerta por e-mail com consentimento explícito, resumo diário ou semanal enviado por uma tarefa de cron alojada localmente e conformidade nativa com o RGPD.
Instalação
- No seu back-office, abra Módulos > Gestor de módulos e clique em Carregar um módulo.
- Selecione o arquivo
dfsavedsearch.zipe confirme. - Na instalação, o módulo cria as suas duas tabelas SQL, o seu separador de administração e a configuração predefinida. É gerado automaticamente um token de cron (32 caracteres).
- O módulo fica ativo de imediato. Não é necessária qualquer dependência externa (nem Composer, nem frameworks).
O módulo é compatível com PrestaShop 8.0 a 9.x, em loja simples ou multiloja, e nos cinco idiomas do catálogo (FR, EN, ES, DE, IT).
O pacote não inclui o português. Como o botão «Guardar esta pesquisa», o texto de consentimento e o e-mail de alerta são vistos pelo cliente, traduza-os em Internacional > Traduções e crie a pasta mails/pt antes de ativar o módulo numa loja portuguesa.
Configuração (back-office)
Vá à página de configuração do módulo (Módulos > Gestor de módulos > dfsavedsearch > Configurar). As definições disponíveis são:
- Ativar o módulo: ativa ou suspende a apresentação do botão e o envio dos alertas.
- Produtos por resumo: número máximo de produtos listados num mesmo e-mail de alerta (12 por predefinição).
- Pesquisas por cliente: número máximo de pesquisas que um cliente pode guardar (20 por predefinição).
- Frequência predefinida: diária ou semanal, aplicada às novas pesquisas.
- Token de cron: apresentado em claro, com um botão de regeneração. O URL completo do cron e a data da última passagem são recordados num painel dedicado.
Os valores são guardados nas variáveis de configuração DFSAVEDSEARCH_ENABLED, DFSAVEDSEARCH_MAX_PRODUCTS, DFSAVEDSEARCH_MAX_PER_CUST, DFSAVEDSEARCH_DEFAULT_FREQ, DFSAVEDSEARCH_CRON_TOKEN e DFSAVEDSEARCH_LAST_CRON.
Utilização do lado do cliente
Na página de resultados de pesquisa, é injetado automaticamente um botão «Guardar esta pesquisa». Ao clicar nele, o cliente abre uma janela onde pode:
- dar um nome à pesquisa;
- precisar ou ajustar os seus critérios: palavras-chave, categoria (subcategorias incluídas), fabricante, preço mínimo e máximo, apenas produtos em stock;
- ativar, se quiser, o alerta por e-mail e escolher a frequência.
O alerta por e-mail assenta numa caixa de consentimento explícito, desmarcada por predefinição, acompanhada de um texto de consentimento claro. Um visitante sem sessão iniciada é convidado a autenticar-se antes de guardar uma pesquisa.
Área «As minhas pesquisas»
É acrescentada uma entrada «As minhas pesquisas» à conta de cliente. Aí, o cliente encontra todas as suas pesquisas guardadas e pode, em cada uma:
- ativar ou desativar o alerta por e-mail;
- mudar a frequência (diária ou semanal);
- eliminar a pesquisa.
Os critérios de cada pesquisa são resumidos em emblemas legíveis (categoria, fabricante, intervalo de preços, entre outros).
Agendamento do cron (envio dos alertas)
O envio dos e-mails é comandado por uma tarefa de cron protegida por token. Configure o agendador de tarefas do seu servidor (ou um serviço de cron) para chamar o URL seguinte:
https://a-sua-loja.pt/index.php?fc=module&module=dfsavedsearch&controller=cron&token=O_SEU_TOKEN
Substitua O_SEU_TOKEN pelo token apresentado na configuração do módulo.
Frequência recomendada: chame o URL de hora a hora. O módulo respeita depois a frequência própria de cada pesquisa (diária ou semanal): a data do último envio só é atualizada quando um e-mail é efetivamente expedido.
Configure o agendador no fuso Europe/Lisbon (ou Atlantic/Azores, se for o caso), para que os resumos diários cheguem à hora que espera. Se o seu alojamento agenda em UTC, tenha em conta o desfasamento no horário de verão.
O tratamento é feito por lotes (200 pesquisas por passagem), para se manter leve. A saída do cron indica o número de pesquisas tratadas, de e-mails enviados e de eventuais erros, registadas nos logs do PrestaShop.
Mantenha o seu token de cron confidencial. Em caso de fuga, regenere-o com um clique na configuração: o URL antigo deixa então de funcionar.
Conformidade com o RGPD
- Consentimento explícito: o alerta por e-mail nunca é ativado sem uma ação voluntária do cliente (caixa desmarcada por predefinição).
- Anulação da subscrição com um clique: cada e-mail contém uma ligação de anulação assinada, que desativa o alerta sem exigir início de sessão.
- Exportação e eliminação: o módulo integra-se nos hooks de RGPD do PrestaShop (psgdpr) para a exportação e a eliminação dos dados pessoais.
- Limpeza automática: ao eliminar uma conta de cliente, todas as suas pesquisas guardadas são eliminadas.
Em Portugal, este alerta é uma comunicação eletrónica pedida pelo próprio cliente, o que satisfaz a exigência de consentimento prévio da Lei n.º 41/2004, sob supervisão da CNPD. O consentimento cobre apenas o aviso de novos produtos correspondentes: não reutilize esta lista para newsletters ou campanhas comerciais sem recolher um consentimento próprio para essa finalidade.
Compatibilidade e convenções técnicas
- PrestaShop 8.0 a 9.x, multiloja, 5 idiomas.
- Hooks utilizados:
displayCustomerAccount,actionFrontControllerSetMedia,displayFooter,actionObjectCustomerDeleteAfter,actionDeleteGDPRCustomer,actionExportGDPRData. - Separador de administração
AdminDfSavedSearch, no menu Clientes. - Sem dependências: autoloader PSR-4 manual, JavaScript nativo e sem serviços externos.
Resolução de problemas
- Nenhum e-mail é enviado: confirme que o cron está mesmo a ser chamado (data da última passagem na configuração), que o módulo está ativo e que a configuração de e-mail do PrestaShop funciona.
- O botão não aparece: só é apresentado na página de resultados de pesquisa; confirme que o módulo está ativo e limpe a cache do PrestaShop.
- Um cliente não recebe alertas: certifique-se de que o alerta está ativo na pesquisa em causa e de que foram mesmo publicados novos produtos correspondentes depois de a pesquisa ter sido guardada.