Entitlement Classes
Uma Entitlement Class define que tipo de acesso um entitlement representa. Quando o sistema cria um entitlement, a classe determina quais recursos derivados são provisionados, como o entitlement é renovado e como ele aparece na interface admin e no portal do cliente.
Classes não são hardcoded. Elas são armazenadas no banco de dados e configuráveis pelo WordPress admin. O sistema é distribuído com classes integradas que cobrem os cenários B2B mais comuns, e admins podem criar classes personalizadas para suas próprias necessidades de negócio.
Classes integradas
O MIDDAG Account é distribuído com estas classes:
| Classe | Prefixo do código | O que cobre | Recursos derivados criados |
|---|---|---|---|
| PLG | PLG- | Plugin ou licença de software | Licença (chave de ativação, máx. sites), Download |
| ENV | ENV- | Ambiente de hospedagem gerenciada | Ambiente (plataforma, URL, status de saúde), Solicitação de Serviço |
| SVC | SVC- | Serviço contínuo ou projeto | Serviço, Contrato, Saldo de Créditos, Solicitação de Serviço, Documento |
| ORD | ORD- | Compra geral | Vínculo com Pedido, Vínculo com Fatura, Documento, Download |
| AFL | AFL- | Membro de programa de afiliados | Registro de Afiliado (faixa de comissão, rastreamento de indicações) |
| EDU | EDU- | Educação, treinamento ou curso | Vínculo com Pedido, Documento (materiais), Download |
Cada classe tem seu próprio prefixo de código. Quando você vê um código como ENV-2026050003, sabe imediatamente que é um ambiente gerenciado criado em maio de 2026.
O que cada classe controla
PLG — Plugin
Para produtos de software. Quando um Entitlement PLG é criado:
- Uma Licença é gerada com uma chave de ativação
- A licença tem um número máximo de ativações de sites (configurado por produto)
- O acesso a downloads é habilitado se o produto tiver arquivos disponíveis para download
- O status da licença segue o ciclo de vida do entitlement: se o entitlement é suspenso, a licença fica inativa
Use PLG para: plugins WordPress, complementos de software, qualquer produto que necessite de chave de licença e acesso a downloads.
ENV — Ambiente
Para instalações de hospedagem gerenciada. Quando um Entitlement ENV é criado:
- Um registro de Ambiente é criado com status
provisioning - O ambiente rastreia plataforma (Moodle, WordPress ou personalizada), URL e status de saúde
- A URL é preenchida manualmente por um admin ou automaticamente via webhook do sistema de provisionamento
Use ENV para: sites Moodle gerenciados, instalações WordPress gerenciadas, qualquer plataforma hospedada que você mantém para clientes.
SVC — Serviço
Para serviços contínuos ou projetos com prazo definido. SVC é a classe mais complexa porque suporta dois modos de ciclo de vida:
- Contínuo (
lifecycle: ongoing) — um serviço contínuo com cobrança recorrente, como suporte de hospedagem gerenciada ou gestão de infraestrutura. Cria um Contrato com termos de renovação. - Projeto (
lifecycle: project) — um engajamento com prazo definido, com data de início e fim, como um projeto de consultoria ou desenvolvimento personalizado.
Quando um Entitlement SVC é criado:
- Um registro de Serviço é criado rastreando o tipo de serviço (hospedagem, suporte, infraestrutura, consultoria, desenvolvimento, aplicativos móveis, migração, upgrade, gestão de projetos)
- Um Contrato é criado se o serviço for contínuo (ou se exigido por política), com termos de SLA e intervalo de datas
- Um Saldo de Créditos é criado com os créditos iniciais incluídos no plano
- Solicitações de Serviço e Documentos são vinculados conforme são criados
Use SVC para: planos de suporte, engajamentos de consultoria, infraestrutura gerenciada, qualquer serviço que sua empresa entrega.
ORD — Pedido
A classe de uso geral para compras que não se encaixam em uma categoria especializada. Quando um Entitlement ORD é criado:
- O entitlement é vinculado ao Pedido e à Fatura de origem
- O acesso a downloads é habilitado se o produto tiver arquivos disponíveis para download
- Nenhum recurso derivado especializado é provisionado
ORD é também a classe padrão: se um produto não tiver o campo de metadado _middag_entitlement_class definido, o sistema cria um Entitlement ORD.
Use ORD para: compras únicas, mercadorias em geral, produtos que precisam de rastreamento mas não de licença ou gestão de serviços.
AFL — Afiliado
Para membros de um programa de parceiros ou afiliados. Quando um Entitlement AFL é criado:
- O entitlement é vinculado a um registro de Afiliado na integração SolidAffiliate
- Faixas de comissão e rastreamento de indicações seguem a configuração do SolidAffiliate
Use AFL para: parcerias de afiliados, programas de revenda, rastreamento de indicações.
EDU — Educação
Para treinamentos, mentorias e cursos. Quando um Entitlement EDU é criado:
- O entitlement é vinculado ao Pedido de origem
- O acesso a downloads é habilitado para materiais educacionais
- E-mails de boas-vindas e onboarding são enviados ao cliente
Use EDU para: cursos online, programas de mentoria, trilhas de certificação, qualquer conteúdo educacional que você vende.
Como as classes se mapeiam para produtos WooCommerce
A conexão entre um produto WooCommerce e uma Entitlement Class é um único campo de metadado do produto:
_middag_entitlement_class = PLG | ENV | SVC | ORD | AFL | EDUQuando um cliente compra um produto e o pedido é concluído, o serviço de provisionamento lê esse campo de metadado para determinar qual classe de entitlement criar. Campos de metadado adicionais do produto controlam comportamentos específicos da classe:
| Campo de metadado do produto | Usado por | Finalidade |
|---|---|---|
_middag_entitlement_class | Todos | Qual classe de entitlement criar |
_middag_svc_lifecycle | SVC | ongoing ou project — determina o tipo de serviço |
_middag_parent_entitlement | Qualquer | Vincular automaticamente como filho de um entitlement existente |
Esse mapeamento é configurado uma vez por produto. Após isso, toda compra desse produto cria automaticamente o tipo correto de entitlement com os recursos derivados corretos.
Criando classes personalizadas
Se as classes integradas não cobrem seu negócio, você pode criar classes personalizadas pelo WordPress admin. Uma classe personalizada precisa de:
- Um prefixo de código único (3 caracteres, maiúsculas) — usado no formato do código do entitlement
- Um nome de exibição — mostrado na interface admin e no portal do cliente
- Configuração de recursos derivados — quais recursos provisionar quando um entitlement dessa classe for criado
- Comportamento de ciclo de vida — como a classe trata renovação, expiração e cancelamento
Classes personalizadas são armazenadas no banco de dados junto com as classes integradas. Funcionam de forma idêntica em todos os aspectos: geração de código, gestão de ciclo de vida, Policy Engine e API REST.
Classes e a Policy Engine
A Entitlement Class é o segundo nível da hierarquia de sobrescrita de políticas:
Global > Entitlement Class > Organization > Product > Individual EntitlementIsso significa que você pode definir regras como:
- "Todos os Entitlements PLG renovam automaticamente" (política no nível da classe)
- "Todos os Entitlements SVC têm um cooldown de 30 dias para mudança de plano" (política no nível da classe)
- "Entitlements ENV requerem aprovação do admin para provisionamento" (política no nível da classe)
Essas políticas no nível da classe sobrescrevem os padrões globais, mas podem ser sobrescritas nos níveis de organização, produto ou entitlement individual. Veja Políticas para a explicação completa.
O que os admins veem
No WordPress admin, a página de configuração de Entitlement Classes mostra:
- Todas as classes registradas (integradas e personalizadas)
- Prefixo de código e nome de exibição de cada uma
- Número de entitlements ativos por classe
- Se a classe é integrada ou personalizada
- Ações: editar configuração, ver todos os entitlements desta classe
Ao criar ou editar um produto no WooCommerce, a Entitlement Class é selecionável em um dropdown no painel de configurações MIDDAG Account do produto.
Páginas relacionadas
- Entitlements — como entitlements funcionam, estados de ciclo de vida e modelo soberano
- Pedidos — como compras disparam a criação de entitlements
- Políticas — regras que podem ser definidas por classe
- Como os Conceitos se Conectam — o diagrama completo de relacionamentos