PS PrestaShop Iniciante

DataFirefly Cart History & Restore Links: histórico de carrinhos e links de restauro

Instalação, links de restauro no back office, página Os meus carrinhos guardados, definições, segurança dos links e resolução de problemas.

Atualizado Versão do módulo 1.0.0

Instalação

Instale o módulo em Módulos > Gestor de módulos > Carregar um módulo enviando o ficheiro ZIP, ou copie a pasta dfcartrestore para o diretório /modules/ da loja e clique em Instalar.

A instalação cria uma tabela de registo (dfcartrestore_log), gera a chave secreta que assina os links e adiciona a página Os meus carrinhos guardados à conta de cliente. Nenhuma tabela nativa é alterada: os carrinhos restaurados são carrinhos normais do PrestaShop.

Funcionamento

Um link de restauro nunca transfere um carrinho. Quando alguém o abre, o módulo lê as linhas do carrinho de origem e adiciona-as uma a uma ao carrinho dessa pessoa, como se clicasse em «Adicionar ao carrinho» em cada artigo.

  • O carrinho de origem nunca é alterado, mesmo que pertença a outro cliente ou esteja ligado a uma encomenda.
  • Ninguém inicia sessão na conta do proprietário do carrinho, ao contrário do link nativo de recuperação de carrinho do PrestaShop.
  • Os preços, as promoções, o stock, as quantidades mínimas e a disponibilidade para encomenda são os do momento do restauro.
  • O mesmo link pode ser usado várias vezes, por várias pessoas.

Lista de carrinhos

Em Clientes > Carrinhos de compras, a coluna Link de restauro mostra um botão Copiar link em cada carrinho com produtos. O link é copiado para a área de transferência sem abrir o carrinho. Na exportação CSV da lista, esta coluna contém o URL completo.

Detalhe do carrinho

No topo da página do carrinho, uma caixa mostra o link completo com os botões Copiar link e Abrir, e o número de vezes que o link já foi usado. Se estiver definido um período de validade, é indicada a data de expiração.

Ficha do cliente

O bloco Carrinhos e links de restauro lista os 10 últimos carrinhos não vazios do cliente, com data, número de artigos, total dos produtos, estado da encomenda e botão de cópia.

O link é gerado no idioma e para a loja do carrinho: um cliente italiano recebe um link para a versão italiana da loja.

Com a página de pré-visualização ativa (definição predefinida), o link abre uma página com os artigos do carrinho, as miniaturas e as quantidades. O visitante clica em Adicionar estes artigos ao meu carrinho para iniciar o restauro e é depois redirecionado para o carrinho ou para a finalização da compra, conforme a sua definição.

Uma mensagem resume o resultado: produtos adicionados, vales aplicados, quantidades ajustadas ao stock e artigos que não foi possível adicionar.

Para um orçamento preparado ao telefone, crie o carrinho em Encomendas > Adicionar nova encomenda, copie o seu link a partir da lista de carrinhos e envie-o ao cliente.

Página Os meus carrinhos guardados

O link Os meus carrinhos guardados aparece na conta de cliente e no bloco A minha conta do rodapé. A página lista os carrinhos do cliente com produtos, do mais recente para o mais antigo, cada um com:

  • a data da última alteração, o número de artigos e o total dos produtos;
  • o estado Encomendado com a referência e um link para a encomenda, ou Não encomendado;
  • as miniaturas dos produtos e um detalhe expansível onde os artigos que deixaram de estar disponíveis são assinalados;
  • o botão Restaurar este carrinho e, se a opção estiver ativa, o botão Copiar link de partilha.

O carrinho atual do cliente não aparece na lista. Em modo substituição, uma confirmação avisa o cliente de que o carrinho atual será substituído e de que o encontrará nesta mesma página.

Definições

Conta de cliente

  • Mostrar o histórico de carrinhos na conta de cliente: ativa a página Os meus carrinhos guardados e os respetivos links.
  • Comportamento do restauro: Substituir o carrinho atual cria um novo carrinho e deixa o anterior no histórico; Adicionar ao carrinho atual junta os artigos aos que já lá estão. Um visitante sem sessão junta sempre, porque não conseguiria recuperar um carrinho substituído.
  • Mostrar os carrinhos já convertidos em encomenda: permite voltar a encomendar os mesmos artigos num clique.
  • Carrinhos por página: de 1 a 50, 10 por predefinição.
  • Período do histórico (dias): só são listados os carrinhos atualizados neste período, 365 por predefinição, 0 sem limite.
  • Permitir que os clientes copiem um link de partilha: útil em B2B, quando um comprador prepara o carrinho e um colega faz a encomenda.
  • Após restaurar, enviar o cliente para: página do carrinho ou finalização da compra. Se houver artigos ajustados ou ignorados, o cliente passa sempre pela página do carrinho para os ver.
  • Validade dos links (dias): aplica-se aos links gerados a partir de agora, 0 para links sem expiração.
  • Mostrar uma página de pré-visualização antes de restaurar: recomendado, ver a secção Segurança.
  • Manter os vales de desconto: Nunca, Apenas quando o cliente restaura a partir da conta (predefinição) ou Sempre. Um vale só é aplicado se ainda for válido para o novo carrinho e o seu titular. As regras automáticas sem código são reaplicadas pelo próprio PrestaShop.

Cada link contém o identificador do carrinho e uma assinatura HMAC-SHA256 calculada com a chave secreta do módulo. Um identificador alterado à mão torna o link inválido.

O botão Invalidar todos os links existentes gera uma nova chave secreta: todos os links partilhados até então deixam de funcionar e os novos links mostrados no back office funcionam normalmente.

As gateways de e-mail (Outlook Safe Links, Proofpoint, Mimecast) e as pré-visualizações de links do Slack, Teams ou WhatsApp abrem os links automaticamente. Se desativar a página de pré-visualização, cada abertura automática a partir de um navegador normal criaria um carrinho. Os bots reconhecidos veem sempre a página de pré-visualização, mesmo quando está desativada.

Regras aplicadas no restauro

  • Produto desativado, não disponível para encomenda ou ausente da loja: ignorado.
  • Combinação eliminada: ignorada.
  • Quantidade inferior à quantidade mínima: aumentada para a quantidade mínima.
  • Stock insuficiente sem encomendas fora de stock autorizadas: quantidade reduzida ao stock disponível se ainda respeitar o mínimo, caso contrário o artigo é ignorado.
  • Produto personalizado: textos copiados, ficheiros enviados duplicados no servidor, para que eliminar a linha copiada nunca apague o ficheiro de uma encomenda.
  • Nenhum artigo adicionado: o carrinho criado para o efeito é eliminado e o carrinho atual do visitante é reposto.

Registo dos restauros

A página de configuração mostra os 30 últimos restauros da loja: data, origem (link ou conta de cliente), carrinho de origem, novo carrinho, cliente ou visitante, número de artigos adicionados e ignorados. Os números de carrinho abrem a respetiva página no back office.

Para programadores

  • actionDfcartrestoreAfterRestore: executado após cada restauro bem-sucedido, com id_cart_source, id_cart e origin (link ou account).
  • actionDfcartrestoreCustomizationCopy: executado após a cópia de uma personalização, com id_customization_source, id_customization, id_cart_source e id_cart. Um módulo que guarda os seus próprios dados por personalização (configurador, gravação) usa-o para os duplicar.

Resolução de problemas

A coluna ou a caixa não aparece para alguns funcionários

O PrestaShop ignora os hooks de um módulo quando o perfil do funcionário ligado não tem a permissão Ver nesse módulo (Parâmetros avançados > Equipa > Permissões, secção Módulos). Atribua esta permissão aos perfis em causa.

O programa de e-mail cortou o link, ou todos os links foram invalidados depois do envio. Copie um novo link no back office.

O período de validade terminou. Copie um novo link ou aumente a validade dos próximos links.

Verifique se a opção da conta de cliente está ativa e depois limpe a cache da loja. Alguns temas não mostram o hook displayCustomerAccount; a página continua acessível em index.php?fc=module&module=dfcartrestore&controller=carts.

Compatibilidade

  • PrestaShop 8.0 a 9.x, o mesmo ZIP cobre as duas versões.
  • Multiloja, multilíngue e multimoeda.
  • Sem dependência Composer.
  • Interface disponível em francês, inglês, espanhol, alemão, italiano, neerlandês, polaco e português.
Esta página foi útil?

Ainda com dúvidas? Contacte o suporte