Pre-order Manager: guia completo
Instalação, configuração das pré-encomendas com sinal, conversão automática, lembretes e API REST.
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
- Descarregue o ficheiro
dfpreorder.zipa partir da sua conta DataFirefly. - Na administração do WordPress, vá a Plugins → Adicionar → Carregar plugin.
- Selecione o ZIP, clique em Instalar agora e ative a extensão.
- 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
- Abra o produto no editor do WooCommerce e localize o separador Pré-encomenda nos dados do produto.
- Assinale Ativar a pré-encomenda.
- 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).
- 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»).
- 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.
- 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).
- 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:
- 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.
- 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. - Espera: a pré-encomenda aparece em WooCommerce → Pré-encomendas → separador Lista, com o estado, a data ETA e os montantes.
- 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.
- 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âmetrosstatus,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 booleanoforce).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.