# Cupão de aniversário: documentação do módulo PrestaShop

> Apresentação O módulo envia automaticamente aos seus clientes um código de desconto pessoal em três ocasiões: o aniversário, o aniversário da primeira encomenda válida e o aniversário da criação da…

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

## Apresentação

O módulo envia automaticamente aos seus clientes um código de desconto pessoal em três ocasiões: o aniversário, o aniversário da primeira encomenda válida e o aniversário da criação da conta. Cada código é uma regra de carrinho nativa do PrestaShop, reservada ao cliente e utilizável uma única vez. Depois, o módulo mede a faturação das encomendas feitas com estes códigos.

Compatibilidade: PrestaShop 8.0 a 9.x, multiloja, 8 idiomas (inglês, francês, espanhol, alemão, italiano, neerlandês, polaco, português).

## Instalação

1. Em **Módulos > Gestor de módulos**, clique em **Carregar um módulo** e envie o ficheiro ZIP.
2. O módulo cria duas tabelas, regista os seus hooks, gera o token da tarefa agendada e copia os modelos de e-mail para cada idioma instalado.
3. No menu **Clientes** aparece o novo separador **Aniversários e datas especiais**. O botão **Configurar** do módulo também leva até lá.

Para passar da 1.0.0 para a 1.1.0, basta enviar o novo ZIP: o script de atualização regista os novos hooks.

O painel mostra a lista «Primeiros passos» enquanto os quatro passos essenciais não estiverem concluídos: ativar uma campanha, enviar a si próprio um e-mail de teste, agendar a tarefa diária e recolher as datas de nascimento.

## Configurar as campanhas

O separador **Campanhas** tem um cartão por ocasião. Ative-o com o interruptor no canto superior direito: aparecem as definições e a pré-visualização do e-mail.

### A oferta

- **Tipo de desconto**: percentagem, montante fixo (na moeda predefinida) ou portes grátis.
- **Valor** e **Oferecer também portes grátis** além de uma percentagem ou de um montante.
- **Encomenda mínima (IVA incl.)**: 0 para nenhum mínimo.
- **Validade após a data**: número de dias de validade do código a partir da data da ocasião.
- **Enviar com antecedência**: número de dias antes da data. 0 envia no próprio dia.
- **Aumento por cada ano adicional** e **Valor máximo** (aniversários de encomenda e de conta): por exemplo 10 % no primeiro ano, +2 por ano, com limite de 20 %.
- **Excluir produtos já em promoção** e **Acumulável com outros vales de desconto**.

### Quem o recebe

- **Número mínimo de encomendas válidas**: 0 no aniversário inclui os clientes que nunca encomendaram.
- **Prefixo do código**: por exemplo BDAY gera códigos como BDAY-7KQ2M9.
- **Grupos de clientes**: nenhum selecionado significa todos os grupos.

### O e-mail

Edite o assunto, o título e a mensagem de cada idioma nos separadores de idioma. A pré-visualização à direita atualiza-se em direto com o desconto real. Etiquetas disponíveis: `{firstname}`, `{lastname}`, `{discount}`, `{code}`, `{expiry_date}`, `{min_amount}`, `{years}` (exceto aniversário) e `{shop_name}`. Um campo vazio usa o texto predefinido do idioma.

O botão **Guardar e enviar um teste** envia o e-mail para o endereço do funcionário com sessão iniciada, no seu idioma.

## Agendar o envio diário

Em **Automatização e definições**, copie o URL da tarefa agendada e chame-o uma vez por dia, de preferência de manhã cedo. Exemplo de linha cron:

```
0 7 * * * curl -s "https://a-sua-loja.pt/module/dfkeydates/cron?token=O_SEU_TOKEN" >/dev/null
```

Cada execução cria os códigos do dia, envia os e-mails e os lembretes, associa os códigos utilizados à respetiva encomenda e elimina os códigos expirados não utilizados.

- **Recuperação de dias perdidos** (2 por predefinição): se a tarefa não foi executada, as datas dos dias anteriores são processadas.
- **Máximo de códigos por execução** (200 por predefinição): o restante é enviado na execução seguinte.
- **Executar também nas visitas**: sem cron, o módulo executa-se nas visitas à loja, no máximo uma vez por hora, depois de a página ser enviada. Para assim que um cron real tiver sido chamado nas últimas 26 horas.

Os botões **Simular hoje** (lista dos códigos que seriam enviados, sem enviar nada), **Executar agora**, **Ressincronizar os códigos utilizados** e **Novo token** estão na mesma página.

Cada cliente recebe no máximo um código por ocasião e por ano. Pode, portanto, executar a tarefa várias vezes sem risco de duplicados.

## Antiabuso e recolha de datas de nascimento

O **período de espera após o registo ou alteração do aniversário** (30 dias por predefinição) bloqueia o código de aniversário para uma conta demasiado recente ou cuja data acabou de ser introduzida ou alterada na loja. As alterações feitas por um funcionário no back-office não ativam este período.

As datas de nascimento vêm do campo nativo da conta de cliente (**Clientes > Definições > Data de nascimento**). Se esse campo estiver desativado, o módulo recolhe-as por si:

- na **página de confirmação da encomenda**, quando a data é desconhecida (opção _Pedir a data de nascimento na página de confirmação da encomenda quando é desconhecida_);
- na página **Os meus presentes e datas especiais** da conta de cliente.

O painel mostra a percentagem de contas com data conhecida.

## Lembrete antes de expirar

Ative o lembrete e escolha quantos dias antes da expiração é enviado. Só é enviado se o código não tiver sido utilizado. Os textos do lembrete e o texto do botão de todos os e-mails definem-se por idioma. O botão **Enviar um lembrete de teste** guarda as definições e envia-lhe um exemplo.

## Código num clique

O botão de cada e-mail aponta para uma ligação assinada própria do código. O módulo memoriza o código e adiciona-o ao carrinho assim que o cliente inicia sessão e tem produtos no carrinho. Se o cliente não tiver sessão iniciada, é encaminhado para a página de início de sessão. Se a encomenda mínima não for atingida, o código aguarda e aplica-se assim que o for. Um código expirado, já utilizado ou destinado a outro cliente é recusado com uma mensagem.

## A página de cliente «Os meus presentes e datas especiais»

Acessível a partir de **A minha conta**, mostra os códigos ativos com um botão para os copiar e um botão **Usar no meu carrinho**, as próximas datas especiais do cliente, o formulário da data de nascimento, os presentes anteriores e uma caixa para deixar de receber estes e-mails. Pode ocultar esta página nas definições.

## Estatísticas e acompanhamento da faturação

O separador **Painel** mostra, para o período escolhido:

- a **faturação gerada** sem e com IVA, calculada sobre as encomendas válidas que utilizaram um código, convertida para a moeda predefinida;
- os **códigos enviados e utilizados**, a taxa de conversão e o carrinho médio;
- o **desconto concedido** e o retorno (faturação dividida pelo desconto);
- as **encomendas sem o código** feitas enquanto um código estava válido;
- um gráfico de 12 meses, o desempenho por ocasião, os envios dos próximos 30 dias e as últimas encomendas com um código.

A faturação é atribuída ao período de envio do código. O separador **Códigos enviados** lista todos os códigos com pesquisa, filtros por ocasião, estado e data, reenvio do e-mail de um código ativo e exportação CSV. A ficha de cliente do back-office também mostra os códigos enviados a esse cliente.

## Limpeza dos códigos expirados

A definição **Eliminar códigos expirados não utilizados após** (30 dias por predefinição) elimina as regras de carrinho correspondentes para manter legível **Catálogo > Descontos**. O histórico e as estatísticas do módulo são mantidos. Defina 0 para nunca eliminar.

## RGPD

O módulo regista-se no módulo RGPD oficial do PrestaShop. A exportação dos dados de um cliente inclui os seus códigos e preferências, e a eliminação apaga o histórico do módulo para esse cliente. Cada cliente pode cancelar a subscrição destes e-mails na sua conta.

## Multiloja

As campanhas e as definições são próprias de cada loja. Selecione uma loja no menu multiloja para as editar. Os códigos criados ficam limitados à loja em causa.

## Perguntas frequentes e resolução de problemas

### Não é enviado nenhum código

Verifique se pelo menos uma campanha está ativada e use **Simular hoje**. Se a lista estiver vazia, nenhum cliente cumpre os critérios do dia: data desconhecida, período de espera em curso, grupo não selecionado, encomendas insuficientes ou cliente que cancelou a subscrição.

### Os e-mails não chegam

Envie um e-mail de teste a partir de uma campanha. Se não chegar, verifique a configuração de e-mail do PrestaShop em **Parâmetros avançados > E-mail**. Um código cujo e-mail falhou fica assinalado na lista de códigos e pode ser reenviado.

### Uma encomenda não aparece nas estatísticas

Só são contadas as encomendas válidas. Se um funcionário sem permissão no módulo criou uma encomenda no back-office, clique em **Ressincronizar os códigos utilizados**; a tarefa diária também o faz automaticamente.
