Saltar al contenido principal

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:

  1. 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.
  2. Crear un Consumer (pestaña Consumers) — necesario solo si la ruta tiene el Security Type configurado 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:

CampoDescripción
Route NameNombre de identificación de la ruta.
Target TypeTipo de destino de la ruta: Flow o Backend App.
Flow / Backend AppSelección del Flow o Backend App específico que recibirá las llamadas, según el Target Type elegido.
URI PrefixPrefijo de la URL pública de la ruta (ej: /api/v1/example).
HTTP MethodsMétodos HTTP permitidos en esa ruta (ej: GET, POST, DELETE, PATCH, PUT, OPTIONS).
Security TypeTipo 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:

CampoDescripció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.

ColumnaDescripción
ConsumerNombre del consumidor.
APIKEYClave de API generada para ese consumidor, usada en las solicitudes.
Rate Limit by SecondLímite de solicitudes por segundo permitido para ese consumidor.
Rate Limit by MinuteLímite de solicitudes por minuto permitido para ese consumidor.
StatusEstado 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:

CampoDescripción
Consumer NameNombre de identificación del consumidor.
Authentication TypeTipo de autenticación de la credencial. Actualmente ApiKey — la API Key se genera automáticamente al guardar.
Rate Limit By SecondLímite de solicitudes por segundo de ese consumidor. Por defecto 10, máximo 100.
Rate Limit By MinuteLí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.