# Pre-order Manager: guia completo

> Apresentação O DataFirefly Pre-order Manager transforma qualquer produto WooCommerce (simples ou variável) numa pré-encomenda profissional. O cliente paga um sinal ou o montante total na encomenda; na data de disponibilidade…

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

## Apresentação

O DataFirefly Pre-order Manager transforma qualquer produto WooCommerce (simples ou variável) numa pré-encomenda profissional. O cliente paga um sinal ou o montante total na encomenda; na data de disponibilidade (ETA), o plugin converte automaticamente a pré-encomenda: passagem a processamento nos pagamentos completos, geração de uma encomenda de remanescente com ligação de pagamento nos sinais. Lembretes automáticos, limite de stock futuro, rótulo personalizável e API REST completam o fluxo.

## Instalação

1. Descarregue o ficheiro `dfpreorder.zip` a partir da sua conta DataFirefly.
2. Na administração do WordPress, vá a **Plugins → Adicionar → Carregar plugin**.
3. Selecione o ZIP, clique em **Instalar agora** e ative a extensão.
4. Aparece um novo submenu **WooCommerce → Pré-encomendas**: é o centro de controlo do plugin.

Requisitos: WordPress 6.0+, WooCommerce 7.0+ e PHP 7.4 no mínimo. O plugin declara a compatibilidade com HPOS e com os blocos Cart & Checkout, sem necessidade de qualquer definição adicional.

## Definições globais

Abra **WooCommerce → Pré-encomendas → separador Definições**. As opções estão agrupadas em blocos:

- **Ativação**: interruptor global do módulo e política de carrinho misto (permitir ou não a mistura de pré-encomendas e de produtos normais no mesmo carrinho).
- **Conversão automática**: ativa a conversão diária na ETA, define um período de tolerância (0 a 90 dias) após a ETA, e a reposição em stock das unidades reservadas no cancelamento.
- **Apresentação do rótulo**: texto («Pré-encomenda» por predefinição), cor de fundo, cor do texto e localizações (listas da loja e/ou ficha de produto).
- **Textos**: texto do botão de adição ao carrinho («Pré-encomendar» por predefinição) e texto que antecede a ETA («Disponível a»).
- **E-mails aos clientes**: ativação dos e-mails de disponibilidade e de remanescente a pagar.
- **Lembretes de remanescente por pagar**: ativação dos lembretes e prazos em dias separados por vírgulas (por predefinição `7,14,30`).
- **Portes**: opção de adiamento dos portes para a encomenda do remanescente (ver a secção dedicada mais abaixo).

## Configurar um produto em pré-encomenda

1. Abra o produto no editor do WooCommerce e localize o separador **Pré-encomenda** nos dados do produto.
2. Assinale **Ativar a pré-encomenda**.
3. Escolha o **modo de pagamento**: «Pagamento total» (o cliente paga tudo na encomenda) ou «Sinal» (percentagem ou montante fixo, sendo o remanescente faturado na disponibilidade).
4. Indique a **data ETA** (data de disponibilidade prevista). Um campo de texto opcional permite apresentar um texto livre em vez da data (por exemplo «Disponível no início de julho»).
5. Defina, se quiser, um **limite de stock futuro**: o número máximo de unidades pré-encomendáveis. O contador de unidades reservadas aparece ao lado do campo.
6. Personalize, se necessário, o texto do rótulo para este produto e o comportamento da conversão automática (herdar a definição global, forçar sim, forçar não).
7. Guarde: o rótulo e a caixa da ETA aparecem de imediato na ficha de produto.

Nos produtos variáveis, cada variação pode ter a sua própria data ETA e o seu próprio limite de stock (nas opções da variação). A data da variação prevalece sobre a do produto principal.

## Ciclo de vida de uma pré-encomenda

Eis o desenrolar completo do fluxo, etapa a etapa:

1. **Encomenda inicial**: o cliente junta o produto ao carrinho. No modo sinal, o preço apresentado no carrinho e no checkout é o montante do sinal, com menção do remanescente. Paga através do gateway de pagamento habitual.
2. **Registo**: no pagamento, a encomenda passa ao estado `wc-preorder`, é criada uma linha na tabela interna do plugin e o cliente recebe o e-mail de confirmação da pré-encomenda.
3. **Espera**: a pré-encomenda aparece em **WooCommerce → Pré-encomendas → separador Lista**, com o estado, a data ETA e os montantes.
4. **Conversão na ETA**: o cron diário (03:00, hora do site) deteta as pré-encomendas que atingiram o prazo (ETA mais eventual período de tolerância):
   - Modo **pagamento total**: a encomenda passa a «Em processamento» e o cliente recebe o e-mail de disponibilidade.
   - Modo **sinal**: é gerada automaticamente uma encomenda de remanescente (estado «Pagamento pendente») e o cliente recebe o e-mail «Remanescente a pagar» com um botão de pagamento direto.
5. **Pagamento do remanescente**: o cliente paga pela ligação do e-mail (URL de pagamento nativo do WooCommerce, protegido por order key, sem necessidade de iniciar sessão) ou a partir de A minha conta. No pagamento, a pré-encomenda é marcada como terminada e a encomenda de origem passa a «Em processamento» assim que todas as suas linhas de pré-encomenda ficam resolvidas.

## Gestão a partir da administração

O separador **Lista** da página Pré-encomendas mostra todas as pré-encomendas, com filtro por estado, pesquisa por ID de encomenda ou de produto, e paginação. Existem quatro estados: **Pendente** (azul), **Remanescente pendente** (âmbar), **Terminada** (verde) e **Cancelada** (cinzento). Em cada linha, duas ações:

- **Converter**: força a conversão imediata sem esperar pela ETA (útil quando o stock chega mais cedo).
- **Cancelar**: cancela a pré-encomenda, liberta as unidades reservadas (se a opção de reposição estiver ativa) e passa a encomenda a «Cancelada» se ainda estivesse no estado de pré-encomenda.

O botão **«Lançar a conversão agora»** no topo da página aciona de imediato a verificação diária sem esperar pelo cron das 03:00.

## Do lado do cliente: A minha conta

Na página **A minha conta → Detalhe da encomenda**:

- A **encomenda de origem** mostra uma caixa «Remanescente da sua pré-encomenda» que lista as encomendas de remanescente ligadas, o montante, o estado e um botão **«Pagar o remanescente»** para as que ainda estão por pagar.
- A **encomenda de remanescente** mostra, por sua vez, uma caixa «Pré-encomenda de origem» com uma ligação para a encomenda inicial.

## E-mails aos clientes

São fornecidos quatro e-mails transacionais, cada um em versão HTML e texto simples, editáveis em **WooCommerce → Definições → E-mails**:

- **Confirmação de pré-encomenda**: enviado no registo da pré-encomenda, com um aviso de sinal quando aplicável.
- **Pré-encomenda disponível**: enviado na conversão em modo pagamento total.
- **Remanescente a pagar**: enviado na geração da encomenda de remanescente, com o montante em destaque e o botão de pagamento direto.
- **Lembrete de remanescente**: lembretes enviados nos prazos configurados se o remanescente continuar por pagar.

## Lembretes automáticos

Quando a opção está ativa, o cron diário analisa as encomendas de remanescente ainda por pagar (estados pendente, em espera ou falhado) e envia um lembrete em cada prazo configurado. O campo aceita uma lista de dias separados por vírgulas, por exemplo `7,14,30` para relembrar 7, 14 e depois 30 dias após a criação da encomenda de remanescente. Cada prazo só é acionado uma vez por encomenda; o registo é guardado na meta da encomenda de remanescente.

## Portes na encomenda de remanescente

Por predefinição, a encomenda de remanescente não contém portes (foram pagos na encomenda de origem). Se o seu sinal cobrir apenas a reserva do produto e faturar os portes na expedição, ative a opção **«Adiar os portes para o remanescente»**: as linhas de portes da encomenda de origem são duplicadas na encomenda de remanescente, com método e impostos intactos.

Esta opção duplica os portes. Ative-a apenas se a encomenda de sinal for faturada sem portes, por exemplo através de um método «Envio gratuito» condicionado à presença de produtos em pré-encomenda no carrinho. Caso contrário, o cliente paga os portes duas vezes.

## Shortcodes

- `[dfpo_badge product_id="123"]`: apresenta o rótulo Pré-encomenda do produto indicado (ou do produto atual, se omitido).
- `[dfpo_eta product_id="123"]`: apresenta a data de disponibilidade formatada com o respetivo texto.
- `[dfpo_remaining product_id="123"]`: apresenta o número de unidades ainda pré-encomendáveis quando existe um limite definido.

## API REST

Todas as rotas estão no namespace `dfpo/v1` e exigem a permissão `manage_woocommerce` (autenticação por chave de API do WooCommerce ou application password):

- `GET /wp-json/dfpo/v1/preorders`: lista paginada (parâmetros `status`, `page`, `per_page`).
- `GET /wp-json/dfpo/v1/preorders/{id}`: detalhe de uma pré-encomenda.
- `POST /wp-json/dfpo/v1/preorders/{id}/convert`: força a conversão (parâmetro booleano `force`).
- `POST /wp-json/dfpo/v1/preorders/{id}/cancel`: cancela e liberta o stock reservado.
- `POST /wp-json/dfpo/v1/run-conversion`: aciona de imediato a verificação de conversão.

## Hooks para programadores

- `dfpo_preorder_registered` (ação): após a criação de uma linha de pré-encomenda.
- `dfpo_preorder_converted_full` (ação): após a conversão de um pagamento total.
- `dfpo_preorder_converted_deposit` (ação): após a geração da encomenda de remanescente.
- `dfpo_preorder_balance_paid` (ação): após o recebimento do remanescente.
- `dfpo_email_preorder_balance_reminder` (ação): no disparo de um lembrete (permite ligar um SMS ou outro canal).
- `dfpo_badge_html` (filtro): para alterar o HTML do rótulo.

## Resolução de problemas

- **A conversão não dispara**: verifique que o WP-Cron funciona no seu alojamento (alguns alojamentos desativam-no; use então um cron de sistema que chame o `wp-cron.php`). Pode sempre converter manualmente a partir do separador Lista.
- **O preço no carrinho parece incorreto depois de alterar o produto**: esvazie o carrinho de teste e as caches (de objetos e de página). O plugin lê o preço original diretamente na base de dados para evitar efeitos de cache.
- **O e-mail de remanescente não chega**: verifique que o e-mail «Remanescente a pagar» está ativo em WooCommerce → Definições → E-mails, e teste a entregabilidade geral do seu site (SMTP recomendado).
- **O rótulo não aparece**: verifique o interruptor global do módulo, as localizações do rótulo nas definições, e que o tema chama mesmo os hooks padrão do WooCommerce (`woocommerce_single_product_summary`, `woocommerce_after_shop_loop_item_title`).

## Desinstalação

A desativação do plugin conserva todos os dados. A **remoção** do plugin a partir de Plugins elimina definitivamente as tabelas internas, as opções e as metas de produto do plugin. As encomendas WooCommerce (de origem e de remanescente) nunca são eliminadas.
