Produtos e Entitlement Classes
Todo produto WooCommerce no ecossistema MIDDAG mapeia para uma Entitlement Class. Esse mapeamento indica ao MIDDAG Account qual tipo de acesso conceder quando um cliente adquire o produto. Um produto mapeia para exatamente uma classe.
As seis Entitlement Classes
| Classe | Nome | O que representa | O que é criado na compra |
|---|---|---|---|
| PLG | Plugin | Licença de software | Entitlement + Chave de licença + Acesso a download |
| ENV | Environment | Instância de hospedagem gerenciada | Entitlement + Instância de ambiente |
| SVC | Service | Serviço ou projeto contínuo | Entitlement + Serviço + Contrato + Saldo de Créditos |
| ORD | Order | Compra de uso geral | Entitlement (genérico, vinculado ao pedido) |
| AFL | Affiliate | Participação no programa de parceiros | Entitlement + Rastreamento de afiliado |
| EDU | Education | Treinamento, mentoria, curso | Entitlement + Acesso ao curso |
Como o mapeamento funciona
Ao criar ou editar um produto WooCommerce, um painel do MIDDAG Account aparece no editor de produto. Esse painel contém:
- Entitlement Class -- Selecione uma das seis classes acima.
- Configurações específicas da classe -- Campos que variam por classe (duração da licença, tier do ambiente, categoria do serviço, etc.).
- Overrides de política -- Overrides opcionais por produto para políticas de renovação, reembolso, cancelamento e outras.
Produtos sem mapeamento de Entitlement Class são tratados como produtos WooCommerce padrão. Nenhum entitlement é criado quando são adquiridos.
Campos meta do produto
O mapeamento é armazenado como meta do produto WooCommerce:
| Chave meta | Tipo | Descrição |
|---|---|---|
_middag_entitlement_class | string | O código da classe: PLG, ENV, SVC, ORD, AFL, EDU |
_middag_provisioning_mode | string | auto (padrão) ou manual |
_middag_policy_overrides | JSON | Overrides de política por produto (opcional) |
Campos meta adicionais dependem da classe. Por exemplo, produtos PLG possuem _middag_license_duration e _middag_activation_limit.
Registro de Produtos [Planejado]
O Registro de Produtos é uma tela administrativa planejada (MIDDAG Account > Configurações > Registro de Produtos) que oferece uma visão centralizada de todos os produtos WooCommerce e seus mapeamentos de Entitlement Class. Nessa tela você pode:
- Ver todos os produtos com a classe atualmente atribuída
- Atribuir ou alterar classes em lote
- Visualizar produtos sem mapeamento (que, portanto, não criarão entitlements)
- Filtrar por classe, categoria ou status
Até que o Registro de Produtos seja implementado, os mapeamentos são configurados no editor individual de produto.
Exemplos
Produto de plugin (classe PLG)
Um produto como "MIDDAG for Moodle -- FULL" (SKU: PLG-MOODLE-FULL):
- Entitlement Class: PLG
- Tipo de cobrança: Assinatura (mensal ou anual)
- Na compra: Cria um entitlement com código como
PLG-2026050042, gera uma chave de licença, habilita acesso a download - Na renovação: Estende a data de expiração do entitlement, a chave de licença permanece a mesma
Plano de hospedagem (classe ENV)
Um produto como "Managed Hosting -- Standard" (SKU: SVC-HOST-BASIC):
- Entitlement Class: ENV
- Tipo de cobrança: Assinatura (mensal)
- Na compra: Cria um entitlement com código como
ENV-2026050003, provisiona uma instância de ambiente - Na renovação: Estende o entitlement, o ambiente permanece ativo
Plano de suporte (classe SVC)
Um produto como "Monthly Support -- Business" (SKU: SVC-SUP-BUSINESS):
- Entitlement Class: SVC
- Tipo de cobrança: Assinatura (mensal ou anual)
- Na compra: Cria um entitlement, registro de serviço, contrato e saldo de créditos inicial
- Na renovação: Estende o entitlement, atualiza o saldo de créditos conforme o plano
Sessão de treinamento (classe EDU)
Um produto como "Training Session 1h" (SKU: EDU-BRIDGE-SESSION):
- Entitlement Class: EDU
- Tipo de cobrança: Pagamento único
- Na compra: Cria um entitlement com acesso à sessão de treinamento
Overrides de política por produto
Cada produto pode sobrescrever os valores globais e de nível de classe das políticas. A hierarquia de override é:
Padrões globais
-> Padrões da classe (ex.: todos os produtos PLG)
-> Overrides da organização
-> Overrides do produto <-- configurado aqui
-> Overrides individuais do entitlementO mais específico vence. Se um produto não define um override, o valor é herdado do nível acima.
Overrides comuns por produto:
| Política | Exemplo de override |
|---|---|
| Reembolso | Janela de reembolso mais curta para produtos avulsos (7 dias ao invés de 30) |
| Renovação | Renovação pelo preço atual do catálogo ao invés do preço original de compra |
| Trial | Habilitar trial para produtos ENV específicos (14 dias) |
| SLA | Tier de SLA mais alto para produtos de hospedagem premium |
Esses overrides são configurados na definição YAML do produto (fonte de verdade) e sincronizados para o meta do produto WooCommerce.
Formato do SKU
Os SKUs de produtos seguem um formato estruturado:
{ENTITLEMENT_CLASS}-{LINE}[-{PRODUCT}][-{VARIATION}]Exemplos:
| SKU | Classe | Linha | Produto | Variação |
|---|---|---|---|---|
PLG-MOODLE-FULL | PLG | MOODLE | FULL | -- |
PLG-EXT-SMARTFORMS | PLG | EXT | SMARTFORMS | -- |
SVC-HOST-BASIC | SVC | HOST | BASIC | -- |
EDU-BRIDGE-SESSION | EDU | BRIDGE | SESSION | -- |
O prefixo da Entitlement Class no SKU corresponde ao mapeamento de classe, facilitando a identificação visual da classe de um produto.
Páginas relacionadas
- O Papel do WooCommerce -- fronteira entre WooCommerce e MIDDAG Account
- Pedidos e Entitlements -- o que acontece após a compra de um produto
- Renovações -- como renovações afetam entitlements
- Entitlement Classes -- referência do conceito de classes