Guía general de APIs
Esta sección describe cómo consumir las APIs expuestas por la plataforma apolo-app-platcom-platform, los patrones comunes de autenticación, versionado, manejo de errores y herramientas de soporte (Swagger, Bruno y Postman).
Panorama general
La plataforma expone múltiples servicios backend (NestJS) organizados en un monorepo Nx. Los más relevantes para consumo externo son:
- bff-api: Backend for Frontend. Puerta de entrada principal para el portal web y consumidores internos.
- auth-api: Autenticación y gestión de sesión.
- applications-api: Gestión de aplicaciones/módulos.
- core-api: Lógica de dominio central.
- reports-api: Generación y consulta de reportes.
- tenants-api: Multi-tenant y segmentación por compañía/país.
En entornos productivos, el acceso suele realizarse a través del BFF o de un API Gateway corporativo, mientras que en desarrollo se consumen servicios directamente por puerto.
Autenticación
La autenticación principal se realiza mediante JWT enviado en el header Authorization:
Authorization: Bearer <token>
El flujo típico es:
- Obtener token mediante auth-api (
/auth/logino equivalente). - Usar ese token para consumir el resto de endpoints (BFF, core, applications, reports, etc.).
Algunos endpoints internos de `auth-api pueden usar tokens de ADFS / IAM, pero esto se gestiona de forma transparente desde los servicios backend.
Paginación
Cuando aplica, se utilizan parámetros estándar:
page: número de página (base 1).limit: cantidad de registros por página.- Opcionalmente:
sort,order.
Entornos y URLs
En desarrollo local, las URLs típicas son:
- BFF:
http://localhost:8080 - Auth API:
http://localhost:8082 - Applications API:
http://localhost:8084 - Reports API:
http://localhost:8086 - Tenants API:
http://localhost:8081 - Core API:
http://localhost:8089
Los valores reales se obtienen desde las variables de entorno (BFF_API_URL, `AUTH_API_URL, etc.) generadas por Seki.
Ejemplo rápido (cURL)
Autenticarse:
curl -X POST http://localhost:8080/auth/login \
-H "Authorization: Bearer <tokenADFS>"
Consumir endpoint protegido (ejemplo, vía BFF):
curl http://localhost:8080/user-reports/user-events/search \
-H "Authorization: Bearer <tokenPlataformaRegional>"
Para detalle por herramienta, consulta: