API Management
1. Visión General
La pantalla de API Management gestiona las rutas, consumidores y autenticación de las APIs expuestas por la plataforma — el panel de administración del API Gateway de Nukk.
Un API Gateway es la puerta de entrada única para las APIs de un sistema: en lugar de que cada Flow o Backend App exponga su propio endpoint directamente, todas las llamadas pasan por él, que aplica de forma centralizada seguridad (autenticación, API Keys), control de tráfico (rate limit), timeouts y enrutamiento hacia el destino correcto. Esto evita exponer la infraestructura interna directamente a internet, estandariza la autenticación entre servicios diferentes, y permite cambiar/mover el destino real de una API sin impactar a quien la consume.
La pantalla tiene dos pestañas:
- Routes — mapea una URL pública a un Flow o Backend App.
- Consumers — credenciales (API Keys) y límites de uso de quien consume las rutas protegidas por API Key.
2. Exponiendo una API
Para exponer un Flow o Backend App como API, normalmente hacen falta dos pasos:
- Crear una Route (pestaña Routes) — define la URL pública, los métodos HTTP permitidos y a qué Flow/Backend App debe reenviarse la llamada.
- Crear un Consumer (pestaña Consumers) — necesario solo si la ruta tiene el
Security Typeconfigurado como API Key. El Consumer representa a quien va a consumir la API y recibe la clave (API Key) usada para autenticar las llamadas.
Si la ruta no usa API Key como tipo de seguridad, el paso del Consumer no es necesario.
3. Pestaña Routes
Lista las rutas registradas, filtrables por Squad y Environment. La tabla muestra: Route, URI Prefix, Target, Security Type, Last Update, Status y Actions.
Creando una Route
El formulario New Route tiene los siguientes campos:
| Campo | Descripción |
|---|---|
| Route Name | Nombre de identificación de la ruta. |
| Target Type | Tipo de destino de la ruta: Flow o Backend App. |
| Flow / Backend App | Selección del Flow o Backend App específico que recibirá las llamadas, según el Target Type elegido. |
| URI Prefix | Prefijo de la URL pública de la ruta (ej: /api/v1/example). |
| HTTP Methods | Métodos HTTP permitidos en esa ruta (ej: GET, POST, DELETE, PATCH, PUT, OPTIONS). |
| Security Type | Tipo de seguridad aplicado a la ruta. Ej: API Key — exige que la llamada informe una API Key válida de un Consumer registrado. |
Timeouts (advanced) — opcionales; si se dejan en blanco, usan el valor por defecto del gateway (~60s). Valores en milisegundos:
| Campo | Descripción |
|---|---|
| Read timeout (ms) | Tiempo máximo de espera por la respuesta del destino (Flow/Backend App). |
| Send timeout (ms) | Tiempo máximo para enviar la solicitud hasta el destino. |
| Connect timeout (ms) | Tiempo máximo para establecer la conexión con el destino. |
4. Pestaña Consumers
Lista los consumidores de API registrados, filtrables por Squad y Environment. La tabla muestra: Consumer, API Key, Rate Limit by Second, Rate Limit by Minute, Last Update, Status y Actions.
Cada Consumer representa una credencial de acceso, usada para autenticar llamadas en rutas con Security Type = API Key.
| Columna | Descripción |
|---|---|
| Consumer | Nombre del consumidor. |
| APIKEY | Clave de API generada para ese consumidor, usada en las solicitudes. |
| Rate Limit by Second | Límite de solicitudes por segundo permitido para ese consumidor. |
| Rate Limit by Minute | Límite de solicitudes por minuto permitido para ese consumidor. |
| Status | Estado del consumidor (ej: INSTALLING durante el aprovisionamiento, READY cuando ya está disponible para su uso). |
La API Key aparece enmascarada en el listado, con un botón al lado para copiarla íntegramente.
Creando un Consumer
El formulario New Consumer tiene los siguientes campos:
| Campo | Descripción |
|---|---|
| Consumer Name | Nombre de identificación del consumidor. |
| Authentication Type | Tipo de autenticación de la credencial. Actualmente ApiKey — la API Key se genera automáticamente al guardar. |
| Rate Limit By Second | Límite de solicitudes por segundo de ese consumidor. Por defecto 10, máximo 100. |
| Rate Limit By Minute | Límite de solicitudes por minuto de ese consumidor. Por defecto 100, máximo 1000. |
Ambos rate limits se aplican en conjunto: la llamada se bloquea en cuanto cualquiera de los dos sea superado. El límite por segundo protege contra picos cortos de tráfico, y el límite por minuto contra volumen sostenido.
5. Preguntas frecuentes
¿Toda ruta necesita un Consumer?
No — solo hace falta crear un Consumer cuando la ruta usa Security Type = API Key. Otros tipos de seguridad pueden no requerir ese paso.
¿Se puede tener más de un Consumer usando la misma ruta? Sí — es posible configurar N consumers para la misma ruta. Cada uno recibe su propia API Key y tiene sus propios rate limits, lo que permite dar límites diferentes a cada cliente/aplicación que consume la API.
¿Qué pasa si los timeouts no se configuran? El gateway usa el valor por defecto (~60 segundos) para lectura, envío y conexión.