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

> 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…

- Página: <https://www.datafirefly.com/pt/documentation/dfcartrestore/>
- Idioma: pt
- Atualizado em: 2026-09-28
- Outros idiomas: [fr](https://www.datafirefly.com/documentation/dfcartrestore/index.md), [en](https://www.datafirefly.com/en/documentation/dfcartrestore/index.md), [es](https://www.datafirefly.com/es/documentation/dfcartrestore/index.md), [de](https://www.datafirefly.com/de/documentation/dfcartrestore/index.md), [it](https://www.datafirefly.com/it/documentation/dfcartrestore/index.md), [pl](https://www.datafirefly.com/pl/documentation/dfcartrestore/index.md), [nl](https://www.datafirefly.com/nl/documentation/dfcartrestore/index.md)
- Índice: <https://www.datafirefly.com/pt/documentation/llms.txt>

## 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.

## Links de restauro no back office

### 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.

## O que vê quem abre o link

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.

### Links de restauro

- **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.

## Segurança dos links

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 link mostra «Este link não é válido.»

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 link mostra «Este link expirou.»

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

### O link Os meus carrinhos guardados não aparece na conta

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.
