Skip to content

Endpoints de Entitlement

Os entitlements são o agregador central do middag-account. Cada produto, serviço, environment e licença se vincula a um entitlement por meio de um código único. Inspirado no modelo SEN da Atlassian, porem expandido com classes tipadas e gerenciamento de ciclo de vida.

Caminho base: /wp-json/middag-account/v1/entitlements

Endpoints

MétodoEndpointAuthEscopoDescrição
GET/entitlementsJWT + OrgentitlementsListar entitlements da organização
GET/entitlements/{id}JWT + OrgentitlementsDetalhes do entitlement
GET/entitlements/code/:code``JWT + OrgentitlementsBusca por código (ex.: PLG-2026040142)
GET/entitlements/{id}/ordersJWT + OrgentitlementsPedidos vinculados
GET/entitlements/{id}/licensesJWT + OrgentitlementsLicenças vinculadas
GET/entitlements/{id}/contractsJWT + OrgentitlementsContratos vinculados

Formato do Código

Os códigos de entitlement seguem o padrão {CLASS}-{YEAR}{MONTH}{SEQ:4d}.

Classes:

ClasseTipoDescrição
PLGPluginEntitlement de licença de software
ENVEnvironmentAmbiente de hospedagem gerenciado
SVCServiceServiço profissional / projeto
ORDOrderEntitlement de pedido avulso
AFLAffiliateEntitlement de programa de afiliados
EDUEducationEntitlement de treinamento / academia

Exemplo: PLG-2026040001, ENV-2026050023, SVC-2026030005

GET /entitlements

Listar entitlements da organização atual.

Headers: X-Middag-Organization: {org_id}

Filtros de query:

ParâmetroTipoValores
classstringPLG, ENV, SVC, ORD, AFL, EDU
statusstringactive, suspended, expired, cancelled
searchstringBuscar por código ou nome do produto

Resposta (200):

json
{
    "success": true,
    "data": [
        {
            "id": 101,
            "code": "PLG-2026040001",
            "class": "PLG",
            "product_name": "Campus EAD",
            "status": "active",
            "organization_id": 42,
            "company": "middag_br",
            "expires_at": "2027-04-01T00:00:00Z",
            "auto_created": true,
            "created_at": "2026-04-01T10:00:00Z",
            "updated_at": "2026-04-01T10:00:00Z"
        }
    ],
    "meta": {
        "page": 1,
        "per_page": 20,
        "total": 1,
        "pages": 1
    }
}

GET /entitlements/:id

Detalhes completos do entitlement incluindo metadados.

Campos de resposta: id, code, class, product_name, product_description, status, organization_id, company, expires_at, quote_id, auto_created, metadata, created_at, updated_at.

GET /entitlements/code/:code

Buscar um entitlement pelo seu código único. Retorna o mesmo schema de GET /entitlements/{id}.

GET /entitlements/code/PLG-2026040001

GET /entitlements/:id/orders

Listar pedidos WooCommerce vinculados a este entitlement.

GET /entitlements/:id/licenses

Listar licenças de software vinculadas a este entitlement. Relevante apenas para entitlements da classe PLG.

GET /entitlements/:id/contracts

Listar contratos vinculados a este entitlement.

Valores de Status

StatusDescrição
activeEntitlement válido e operacional
suspendedTemporariamente pausado (ex.: problema de pagamento)
expiredApós data de expiração, não renovado
cancelledCancelado permanentemente (estado terminal)

Consulte Estados de Ciclo de Vida para a maquina de estados completa.

Relacionados