OfficeCore Docs

Referência técnica da API REST e do sistema de filas BullMQ.

NestJS 11Prisma 6BullMQ 5Next.js 16PostgreSQLRedis

Endpoints da API

Base URL: https://api.officecore.com.br

GET/health

Status da API e timestamp

POST/auth/login

Autenticação — retorna accessToken + refreshToken

POST/auth/refresh

Rotação de refresh token — invalida o anterior

POST/auth/sessions/revoke-allJWT

Revoga todas as sessões do usuário

GET/dashboard/summaryJWT

KPIs consolidados do tenant (usuários, documentos, saldo, auditoria)

GET/plans/currentJWT

Plano ativo do tenant com limites e uso

GET/plans/can-create-branchJWT

Verifica se o plano permite criar mais filiais

GET/companiesJWT

Lista empresas do tenant com filiais e perfis de negócio

POST/companies/branchesJWT

Cria filial (valida limite do plano, registra auditoria)

GET/documents/capabilities

Funcionalidades disponíveis no módulo de documentos

GET/documentsJWT

Lista documentos do tenant (?tenantId=&empresaId=)

POST/documentsJWT

Cria documento (draft) — hash gerado assincronamente via worker

GET/documents/:idJWT

Detalhe do documento com versões

PATCH/documents/:id/activateJWT

Ativa documento — despacha jobs de ativação e assinatura sistêmica

PATCH/documents/:id/archiveJWT

Arquiva documento com registro de auditoria

GET/auditJWT

Últimos 50 eventos de auditoria do tenant com hash chain

POST/integrations/asaas/webhooks

Recebe eventos de pagamento Asaas (x-tenant-id header)

Filas BullMQ (Worker)

Conexão Redis: redis://127.0.0.1:6379

auditoriaPersiste AuditEvent com hash chain encadeado
notificacoesEmail (SMTP pendente) e webhooks de saída HTTP
webhooksProcessa WebhookLog RECEIVED → PROCESSED/FAILED
documentosSHA-256 do conteúdo, ativação e arquivamento
assinatura-sistemicaHMAC-SHA256 vinculado ao documento e timestamp
relatoriosQueries agregadas: auditoria, usuários, documentos, assinaturas
integracoes-financeirasEventos Asaas → atualiza status da Subscription

Autenticação

A API usa JWT (15 min) + Refresh Token (30 dias). O refresh token é rotacionado a cada uso — o anterior é revogado imediatamente. Tokens são hasheados com Argon2id antes de persistir no banco.

Cabeçalho: Authorization: Bearer <accessToken>

Auditoria

Cada evento de auditoria possui um hash encadeado (HMAC-SHA256) vinculado ao evento anterior do tenant — formando uma cadeia imutável verificável. Eventos sensíveis (login de SUPER_ADMIN, revogação de sessões) são marcados comsensivel: true.