Disponível Agora
Estas funcionalidades possuem implementações funcionais na versão atual do MIDDAG Account. Cada item listado abaixo está funcional, testado e disponível para uso em ambientes de produção.
Para a visão geral completa de status, consulte Status Atual.
Domínios Principais
| Domínio | Descrição | Observações |
|---|---|---|
| Organizações | Criar, visualizar e gerenciar organizações de clientes B2B | Fronteira principal de tenant |
| Colaboradores | Membros da equipe com acesso baseado em papéis por organização | Fluxo de convite, atribuição de papel |
| Entitlements | Rastreamento central de ciclo de vida com códigos únicos ({CLASS}-{YYYYMM}{SEQ:4d}), quatro estados, seis classes | Hub de todos os registros derivados |
| Pedidos | Integração com pedidos WooCommerce, vinculados a organizações e entitlements | Criação automática de entitlement na compra |
| Faturas | Registros financeiros vinculados a pedidos e entitlements | Suporte dual-entity (BR/US) |
| Notas Fiscais (NFSe) | Geração de notas fiscais de serviço via integração SOAP com ISSNet | Emissor de Brasília/DF |
| Orçamentos | Propostas comerciais com gestão de ciclo de vida | Rascunho, enviado, aceito, rejeitado, expirado |
| Licenças | Gestão de licenças de software com rastreamento de ativação por site | Limites de ativação, vinculação a domínio |
| Contratos | Acordos de serviço com anexos de documentos | Vinculados a entitlements |
| Ambientes | Ambientes de hospedagem gerenciados com hierarquia pai-filho | Usado pela Entitlement Class ENV |
| Serviços | Definições de tipos de serviço (hospedagem, suporte, consultoria, desenvolvimento) | Vinculados a Entitlement Classes |
| Solicitações de Serviço | Rastreamento de tarefas e tickets vinculados a entitlements com monitoramento de SLA | Sincronização com Jira disponível |
| Documentos | Gestão e distribuição de arquivos vinculados a entitlements | Downloads, anexos |
| Afiliados | Rastreamento de programa de parceiros via integração com SolidAffiliate | Rastreamento de comissões |
Comércio
| Funcionalidade | Descrição |
|---|---|
| Produtos WooCommerce | Catálogo de produtos com mapeamento para Entitlement Class |
| Integração com Checkout | O checkout do WooCommerce cria pedidos e entitlements automaticamente |
| Mapeamento de Status de Pagamento | Alterações no status do pedido são propagadas para o ciclo de vida do entitlement |
| Policy Engine | Regras configuráveis em cinco níveis: global, classe, organização, produto, entitlement |
| Entitlement Classes | Seis classes: Plugin, Environment, Service, Order, Affiliate, Education |
| Suporte Multi-Entity | Roteamento dual de entidade jurídica para operações BR e US |
| Códigos de Entitlement | Identificadores únicos: formato {CLASS}-{YYYYMM}{SEQ:4d}, sete classes geradoras |
Integrações
| Integração | Direção | O Que Faz |
|---|---|---|
| Stripe | Entrada | Processamento de pagamentos, dual-account (BR e US), válidação de assinatura de webhook |
| HubSpot | Entrada | Sincronização de CRM, dual-account (BR e US), integração com pipeline de deals |
| ISSNet | Saída | Geração de nota fiscal de serviço (NFSe) para Brasília/DF via SOAP |
| Banco Inter | Entrada | Meios de pagamento brasileiros: Pix e Boleto, tratamento de webhook |
| Cloudflare | Saída | Banco de dados D1 e armazenamento de objetos R2 |
| Jira | Bidirecional | Sincronização de solicitações de serviço, gestão de issues e worklogs |
Todas as integrações de entrada validam assinaturas de webhook antes do processamento:
- Stripe: header
Stripe-SignatureviaconstructEvent() - HubSpot: válidação do header
X-HubSpot-Signature - Banco Inter: verificação de assinatura baseada em certificado
Infraestrutura
| Funcionalidade | Descrição |
|---|---|
| REST API v1 | API completa sob middag-account/v1 com respostas em envelope padrão |
| Autenticação Tripla | Nonce do WordPress, JWT RS256 e chaves de consumidor WooCommerce |
| Fronteira de Organização | Todas as consultas da API impõem isolamento por organization_id via X-Middag-Organization |
| Admin UI | Interface administrativa com React 19 + Inertia.js v2 dentro do WordPress |
| Pipeline de Build Vite | Vite 6 gera bundle IIFE em assets/dist/app.js |
| Tratamento de Webhooks | Webhooks de entrada do Stripe, HubSpot e Banco Inter com válidação de assinatura |
| Symfony DI Container | Injeção por construtor em todo o código, auto-discovery por sufixo de classe |
| Custom Post Types | Todos os domínios armazenados como CPTs middag_{domain} com show_ui => false |
| Hierarquia de Capabilities | Capabilities customizadas com filtro user_has_cap |
| Delegação de Cron | Handlers leves de WP Cron delegando para serviços de domínio |
| i18n | Inglês como idioma-fonte, text domain middag-account, pronto para tradução |
Cobertura da Admin UI
| Tela | Status |
|---|---|
| Dashboard | Disponível |
| Organizações | Disponível |
| Entitlements | Disponível |
| Demais | Planejado |
A admin UI utiliza um pipeline PageContract com componentes @middag-io/react, estilização Tailwind v4 e Inertia.js v2 para navegação SPA dentro do WordPress.
O Que "Disponível" Significa
Uma funcionalidade marcada como Disponível possui:
- Uma entidade de domínio e camada de serviço funcionais em PHP puro
- Uma implementação de repositório para WordPress
- Endpoints de REST API com autenticação e autorização
- Cobertura de testes unitários para a lógica de domínio
- Integração com o ciclo de vida do entitlement quando aplicável
As funcionalidades podem continuar recebendo melhorias. "Disponível" significa funcional e utilizável, não congelado.