Pular para o conteúdo principal

API Management

1. Visão Geral​

A tela de API Management gerencia as rotas, consumidores e autenticação das APIs expostas pela plataforma — o painel de administração do API Gateway da Nukk.

Um API Gateway é a porta de entrada única para as APIs de um sistema: em vez de cada Flow ou Backend App expor seu próprio endpoint diretamente, todas as chamadas passam por ele, que aplica de forma centralizada segurança (autenticação, API Keys), controle de tráfego (rate limit), timeouts e roteamento para o destino correto. Isso evita expor a infraestrutura interna diretamente à internet, padroniza autenticação entre serviços diferentes, e permite trocar/mover o destino real de uma API sem impactar quem a consome.

A tela tem duas abas:

  • Routes — mapeia uma URL pública para um Flow ou Backend App.
  • Consumers — credenciais (API Keys) e limites de uso de quem consome as rotas protegidas por API Key.

2. Expondo uma API​

Para expor um Flow ou Backend App como API, dois passos costumam ser necessários:

  1. Criar uma Route (aba Routes) — define a URL pública, os métodos HTTP permitidos e para qual Flow/Backend App a chamada deve ser encaminhada.
  2. Criar um Consumer (aba Consumers) — necessário apenas se a rota tiver o Security Type configurado como API Key. O Consumer representa quem vai consumir a API e recebe a chave (API Key) usada para autenticar as chamadas.

Se a rota não usa API Key como tipo de segurança, o passo do Consumer não é necessário.

3. Aba Routes​

Lista as rotas cadastradas, filtráveis por Squad e Environment. A tabela mostra: Route, URI Prefix, Target, Security Type, Last Update, Status e Actions.

Criando uma Route​

O formulário New Route tem os seguintes campos:

CampoDescrição
Route NameNome de identificação da rota.
Target TypeTipo de destino da rota: Flow ou Backend App.
Flow / Backend AppSeleção do Flow ou Backend App específico que receberá as chamadas, de acordo com o Target Type escolhido.
URI PrefixPrefixo da URL pública da rota (ex: /api/v1/example).
HTTP MethodsMétodos HTTP permitidos nessa rota (ex: GET, POST, DELETE, PATCH, PUT, OPTIONS).
Security TypeTipo de segurança aplicado à rota. Ex: API Key — exige que a chamada informe uma API Key válida de um Consumer cadastrado.

Timeouts (advanced) — opcionais; se deixados em branco, usam o padrão do gateway (~60s). Valores em milissegundos:

CampoDescrição
Read timeout (ms)Tempo máximo de espera pela resposta do destino (Flow/Backend App).
Send timeout (ms)Tempo máximo para enviar a requisição até o destino.
Connect timeout (ms)Tempo máximo para estabelecer a conexão com o destino.

4. Aba Consumers​

Lista os consumidores de API cadastrados, filtráveis por Squad e Environment. A tabela mostra: Consumer, API Key, Rate Limit by Second, Rate Limit by Minute, Last Update, Status e Actions.

Cada Consumer representa uma credencial de acesso, usada para autenticar chamadas em rotas com Security Type = API Key.

ColunaDescrição
ConsumerNome do consumidor.
APIKEYChave de API gerada para esse consumidor, usada nas requisições.
Rate Limit by SecondLimite de requisições por segundo permitido para esse consumidor.
Rate Limit by MinuteLimite de requisições por minuto permitido para esse consumidor.
StatusStatus do consumidor (ex: INSTALLING durante o provisionamento, READY quando já está disponível para uso).

A API Key aparece mascarada na listagem, com um botão ao lado para copiá-la integralmente.

Criando um Consumer​

O formulário New Consumer tem os seguintes campos:

CampoDescrição
Consumer NameNome de identificação do consumidor.
Authentication TypeTipo de autenticação da credencial. Atualmente ApiKey — a API Key é gerada automaticamente após salvar.
Rate Limit By SecondLimite de requisições por segundo desse consumidor. Padrão 10, máximo 100.
Rate Limit By MinuteLimite de requisições por minuto desse consumidor. Padrão 100, máximo 1000.

Os dois rate limits são aplicados em conjunto: a chamada é barrada assim que qualquer um dos dois for excedido. O limite por segundo protege contra picos curtos de tráfego, e o limite por minuto contra volume sustentado.

5. Perguntas frequentes​

Toda rota precisa de um Consumer? Não — só é necessário criar um Consumer quando a rota usa Security Type = API Key. Outros tipos de segurança podem dispensar esse passo.

Dá para ter mais de um Consumer usando a mesma rota? Sim — é possível configurar N consumers para a mesma rota. Cada um recebe sua própria API Key e tem seus próprios rate limits, o que permite dar limites diferentes para cada cliente/aplicação que consome a API.

O que acontece se os timeouts não forem configurados? O gateway usa o valor padrão (~60 segundos) para leitura, envio e conexão.