Pruebas de API con Bruno
Esta sección explica cómo utilizar Bruno para probar los endpoints expuestos por el BFF (bff-api) de la plataforma apolo-app-platcom-platform.
Bruno se utiliza como cliente HTTP para:
- Explorar los distintos módulos del BFF
- Probar flujos de autenticación y autorización
- Validar contratos de APIs antes de integrarlos en frontend u otros sistemas
Ubicación de colecciones
Las colecciones de Bruno se encuentran dentro del repositorio, típicamente bajo:
docs/bruno/collections
Cada carpeta contiene:
- Requests organizados por recurso/tag.
- Entornos (
.env) conURLyURL-TESTING`. - Variable para
JWT.
Desde Bruno, puedes importar la carpeta correspondiente (por ejemplo, toda la colección del BFF) y trabajar con los distintos grupos de endpoints.
Entornos y variables
Cada colección cuenta con un folder llamado environments y dentro contiene cada uno de los entornos disponibles: LOCAL, STAGING Y PRODUCTION y dentro se tiene la siguiente estructura:
vars {
URL: http://localhost:8080
URL-TESTING:
}
vars:secret [
JWT: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY2YzRkZWYwYmEwNjlkNzI5NTQ4NDNhYyIsIm5hbWUiOiJVc2VyIFRlc3Qg
]
Estructura de la colección en Bruno
Dentro de Bruno, la colección del BFF está organizada por carpetas que agrupan los endpoints por dominio funcional:
-
ADMIN APPLICATIONS: Endpoints administrativos relacionados con la gestión avanzada de aplicaciones (configuraciones, administración interna, etc.).
-
APPLICATIONS: Endpoints para la gestión de aplicaciones/módulos registrados en la plataforma (creación, actualización, consulta, etc.).
-
AUTH: Endpoints de autenticación y gestión de sesiones:
- Login / logout
- Flujo de 2FA (si aplica)
- Refresco de tokens
- recuperación / reseteo de contraseña
- Consultas de usuario autenticado (`/me, scopes, etc.)
-
EXTERNAL SUPPLIER: Endpoints para integración con proveedores externos que reportan o consumen información desde Apolo (por ejemplo, servicios de terceros que interactúan con la plataforma).
-
PLANS: Endpoints relacionados con la gestión de planes o configuraciones de servicios que se aplican sobre aplicaciones, tenants o proveedores (según lo definido en el BFF).
-
PLAYGROUND API: Endpoints de prueba o sandbox para validar nuevos contratos de API, experimentos o flujos no productivos.
-
REPORTS: Endpoints para generación, consulta y descarga de reportes de auditoría, actividad y seguridad.
-
ROLES: Endpoints relacionados con la gestión de roles (lectura, administración y mapeo de roles entre sistemas).
-
SCOPES: Endpoints para administrar y consultar scopes / permisos que se asocian a usuarios, aplicaciones o clientes.
-
SUPPLIERS: Endpoints para la gestión de proveedores dentro del contexto de la plataforma (alta, baja, consulta, etc.).
-
TENANT: Endpoints orientados a la gestión multi-tenant:
- Tenants disponibles
- Asignación de aplicaciones por tenant
- Configuración específica por tenant
-
TEST_MDH SERVICES: Endpoints de prueba/integración asociados a servicios MDH u otros servicios de laboratorio, usados para validar integraciones sin afectar datos productivos.
📌 En general, cada carpeta agrupa los endpoints que corresponden a los módulos expuestos también en el BFF (auth, applications, tenants, reports, etc.), lo que facilita navegar por dominio.
Buenas prácticas
- Mantener siempre las colecciones sincronizadas con los cambios del BFF (bff-api).
- Documentar brevemente cada request en Bruno (descripción, precondiciones, headers relevantes).
- Usar variables de entorno en lugar de valores hardcodeados (URLs, tokens, IDs de prueba).
- Agrupar nuevos endpoints en la carpeta de dominio correspondiente (o crear una nueva si se agrega un nuevo módulo en el BFF).