HTTP no frontend
Este repositório não publica OpenAPI próprio: consome as APIs Central e Default. O contrato que o front conhece está em:
- endpoints.md — catálogo método + path
src/models/services/**— implementaçãosrc/models/types/**— DTOs
Hosts
| Alias | Função | Env | Default de produção |
|---|---|---|---|
| Central | Auth v1, companies v1, presence, portal, external-apis, email-templates v1, centralbackend | VITE_API_BASE_URL | https://centralcrmapixyz.gevtech.com.br |
| Default | Governança, companies, users, roles, global-*, tenants, logs, cadastro | VITE_GOVERNANCE_API_BASE_URL | https://defaultcrmapi.gevtech.com.br |
Empty string no env = same-origin (/api/...) + proxy (dev) ou reverse-proxy (prod).
Headers comuns
| Header | Quando |
|---|---|
Authorization: Bearer <jwt> | Quase todas as rotas autenticadas |
Content-Type: application/json | POST/PUT/PATCH JSON |
Accept: application/json | Leituras |
X-Tenant-Id | Presence, alguns writes Central (jsonPostHeaders em CompanyService) |
Branding (ícone/banner) usa ?json=true para receber data URL.
Autenticação pública (sem Bearer)
Login, register, send-password-email, password-reset, first-access token/confirm, branding público de tenant no login, GET de theme-tokens de sistema.
Sockets (não REST)
| Namespace | Path Engine.IO | Host | Eventos |
|---|---|---|---|
/presence | /socket.io | Central | presença online |
/ws/logs | /socket.io | Default | join { companyUuid }, new-log |
Proxy de desenvolvimento
Prefixos Default (trecho): /api/governance, /api/global-config, /api/integration, /api/v1/auth/users, /api/users, /api/roles, /api/logs, /api/tenant-storage, /api/analisestecnicas, /api/tenants, /api/centralcrm, /api/companies, /api/global-*.
Demais /api e /api/centralbackend → Central. ABECS: /api/abecs-mcc/qa|prd reescrito para hosts Azure.
Como adicionar um endpoint
- Service em
src/models/services/<área>/ - Tipo em
src/models/types/se for contrato novo - Linha neste catálogo
- Teste de parse/erro se o payload for não trivial