Introdução
🎯 O que este módulo faz?
O módulo Discounts permite que você gerencie e aplique descontos a produtos e pedidos - desde promoções baseadas em porcentagem até reduções de valor fixo - suportando códigos de cupom, descontos por categoria e ofertas específicas para clientes em toda a sua loja de e-commerce.
Pense nisso como seu motor de promoções - defina regras de desconto no painel de administração do OneEntry, aplique-as a produtos ou a pedidos inteiros, valide códigos de cupom no checkout e automatize ajustes de preços para seus clientes.
📖 Explicação Simples
Toda loja de e-commerce precisa de descontos flexíveis:
- 🏷️ Descontos Percentuais - 10% de desconto em produtos selecionados
- 💰 Descontos Fixos - $5 de desconto em pedidos acima de $50
- 🎟️ Códigos de Cupom - Códigos promocionais para campanhas específicas
- 📦 Descontos por Categoria - Descontos em categorias inteiras de produtos
- 👤 Descontos para Clientes - Preços especiais para clientes ou grupos específicos
- 📅 Ofertas por Tempo Limitado - Vendas com datas de início e término definidas
Problemas sem gerenciamento de descontos:
- 🔒 Preços Inflexíveis - Necessidade de mudanças de código para cada promoção
- 📊 Difícil de rastrear - Sem gerenciamento centralizado de descontos
- 🔄 Sem automação - Atualizações manuais de preços para cada venda
A solução Discounts:
Benefícios:
- 🔒 Promoções flexíveis - Crie e gerencie descontos no painel de administração
- 📊 Controle centralizado - Todos os descontos em um só lugar
- 🔄 Aplicação automatizada - Descontos aplicados automaticamente no checkout
- 🎟️ Validação de cupons - Verificação de códigos de cupom em tempo real
✨ Conceitos Chave
O que é um Desconto?
Um Desconto é uma regra de precificação que reduz o custo de produtos ou pedidos:
- Tipo de Desconto - Percentual (por exemplo, 20%) ou valor fixo (por exemplo, $10)
- Valor do Desconto - O montante ou porcentagem a ser reduzido
- Marcador - Identificador único para filtragem e referência
- Período de Validade - Datas de início e término opcionais
- Código de Cupom - Código promocional opcional para descontos acionados pelo cliente
Estrutura do Desconto
Cada desconto tem esta estrutura:
{
id: 1,
identifier: 'summer_sale',
localizeInfos: {
title: 'Summer Sale'
},
discountType: 'percentage',
discountValue: 20,
isActive: true,
validFrom: '2025-06-01T00:00:00.000Z',
validTo: '2025-08-31T23:59:59.999Z',
}
Tipos de Desconto
| Tipo | Descrição | Exemplo |
|---|---|---|
| percentual | Reduzir o preço por uma porcentagem | 20% de desconto em todos os itens de verão |
| fixo | Reduzir o preço por um valor fixo | $10 de desconto em pedidos acima de $50 |
Operações Comuns de Desconto
| Operação | Descrição | Caso de Uso Exemplo |
|---|---|---|
| Obter Todos os Descontos | Listar todos os descontos disponíveis | Gerenciamento de descontos no admin |
| Obter Desconto por Marcador | Buscar um desconto específico | Exibir badge de desconto |
| Validar Cupom | Verificar se um código de cupom é válido | Campo de cupom no checkout |
Por que usar o módulo Discounts?
| Benefício | Descrição |
|---|---|
| Promoções Automatizadas | Sem edição manual de preços para cada venda |
| Gerenciamento de Cupons | Criar, distribuir e validar códigos promocionais |
| Regras Flexíveis | Descontos percentuais, fixos, por categoria ou para clientes |
| Ofertas com Prazo | Agendar campanhas com datas de início/fim |
| Suporte Multilíngue | Nomes de descontos localizados por idioma |
📋 O que você precisa saber
Descontos são Criados no Painel de Administração
Você não pode criar descontos via SDK - eles são criados no painel de administração do OneEntry.
Processo de Criação:
- Fornecer um Nome - Designação do desconto (obrigatório)
- Fornecer um Marcador - Identificador único (obrigatório)
- Selecionar Tipo de Desconto - Percentual ou valor fixo
- Definir Valor do Desconto - O montante da redução
- Opcionalmente definir Período de Validade - Datas de início e término
Validação de Cupons
Use validateDiscountsCoupon() no checkout para verificar códigos de cupom em tempo real antes de aplicá-los a um pedido.
💡 Notas Importantes
Descontos são Criados no Painel de Administração
O módulo Discounts gerencia:
- ✅ Busca todos os descontos ativos
- ✅ Recupera um desconto específico por marcador
- ✅ Valida códigos de cupom no checkout
- ❌ NÃO cria ou modifica descontos (use o painel de administração)
Sua responsabilidade:
- Exibir badges de desconto nas listagens de produtos
- Aplicar campos de entrada de cupom no checkout
- Mostrar totais de desconto no resumo do carrinho/pedido
📊 Tabela de Referência Rápida
| Método | Descrição |
|---|---|
| getAllDiscounts() | Obter todos os descontos |
| getDiscountByMarker() | Obter um único desconto por marcador |
| validateDiscountsCoupon() | Validar um código de cupom de desconto |
❓ Perguntas Comuns (FAQ)
Como aplico um desconto no checkout?
Busque o desconto usando getDiscountByMarker() ou valide um código de cupom com validateDiscountsCoupon(). Use o valor de desconto retornado para calcular o preço reduzido no lado do cliente antes de criar o pedido.
Um desconto pode ter uma data de expiração?
Sim! Os descontos podem ter campos opcionais validFrom e validTo. Verifique esses campos ao exibir descontos para garantir que estejam atualmente ativos.
Como mostro badges de desconto nos produtos?
Busque todos os descontos com getAllDiscounts(), depois combine os descontos aos produtos com base na sua lógica de negócios. Renderize um badge usando o localizeInfos.title e discountValue do desconto.
O que acontece se um código de cupom for inválido?
validateDiscountsCoupon() retorna false se o cupom não existir ou tiver expirado. Mostre uma mensagem de erro apropriada ao cliente.
🎓 Melhores Práticas
- Cache os descontos ao carregar - Eles mudam com pouca frequência; evite chamadas repetidas à API
- Valide cupons no lado do servidor - Sempre verifique antes de aplicar a um pedido
- Mostre o desconto claramente - Exiba os preços originais e com desconto juntos
- Lide com descontos expirados - Verifique
validToantes de exibir um desconto - Use marcadores descritivos -
summer_sale_2025, nãodiscount1 - Localize os nomes dos descontos - Use
localizeInfospara suporte multilíngue
Mais informações sobre a interface do usuário do módulo https://doc.oneentry.cloud/docs/category/discounts
Definição do módulo Discounts
const { Discounts } = defineOneEntry( "sua-url-do-projeto", { "token": "seu-token-de-aplicativo" });
🔗 Documentação Relacionada
- Módulo de Produtos - Gerenciar produtos aos quais os descontos são aplicados
- Módulo de Pedidos - Criar pedidos com descontos aplicados
- Módulo de Pagamentos - Processar pagamentos para pedidos com desconto
- Módulo de Locales - Nomes de descontos multilíngues