API Trigger

Saiba mais sobre o API Trigger e como usá-lo na Digibee Integration Platform.

O API Trigger expõe uma integração através de um endpoint REST. Quando um pipeline é configurado e implantado com esse trigger, um endpoint REST é gerado automaticamente. Você pode visualizar esse endpoint no cartão do pipeline na página Run após a implantação.

Configuração da Routes List

Para começar a configurar o trigger, siga estes passos para configurar a Routes List:

  1. Na seção Routes List, clique em Adicionar.

  2. Insira o Path (por exemplo, "/users").

  3. Selecione o Method apropriado.

  4. Adicione uma descrição no campo Summary (como "Recupera todos os usuários").

Depois de criar a rota, ela aparecerá na Routes List. Você pode adicionar novas rotas, editar as rotas existentes ou excluí-las.

Alternativamente, você pode criar um pipeline com um arquivo de especificação OpenAPI. Saiba mais sobre como criar um pipeline a partir de uma especificação OpenAPI.

Representação visual das rotas

Após salvar a configuração do trigger, uma representação visual das rotas será exibida no pipeline.

As rotas só podem ser editadas através do formulário de configuração do trigger. Depois de salvar, quaisquer alterações serão refletidas imediatamente no pipeline.

Cada rota é conectada a um conector Block Execution, que é projetado para separar logicamente a integração em subfluxos diferentes, facilitando o gerenciamento do pipeline. Para concluir a configuração, você precisará criar os fluxos para cada rota dos subfluxos OnProcess e OnException.

Informações importantes:

  • Se você criar o fluxo antes de configurar o trigger, os conectores existentes serão desconectados assim que o trigger for configurado.

  • Excluir uma rota da Routes List irá desconectar o conector Block Execution desta rota do fluxo principal.

  • Alterar o API Trigger para outro tipo de trigger converterá o Router em um conector Choice, e as rotas configuradas anteriormente serão automaticamente conectadas ao Choice.

Em cada um desses casos, você pode copiar os conectores dentro de cada Block Execution e colá-los em outra parte do pipeline.

Parâmetros

Dê uma olhada nos parâmetros de configuração do trigger. Parâmetros suportados por expressões Double Braces estão marcados com (DB).

ParâmetroDescriçãoValor padrãoTipo de dado

Maximum Timeout

Tempo máximo (em milissegundos) para o pipeline processar as informações antes de retornar uma resposta. Limite: 900000 ms.

30000

Integer

The Maximum Allowed Request Size In Mb

Tamanho máximo do payload (em MB). O tamanho configurável máximo é de 5 MB.

5

Integer

Response Headers (DB)

Headers retornados pelo endpoint quando o processamento do pipeline for concluído. Este parâmetro é obrigatório.

N/A

String

Add Cross-Origin Resource Sharing (CORS)

Habilita a adição de headers CORS.

False

Booleano

CORS Headers

Headers CORS retornados pelo endpoint quando o processamento do pipeline for concluído. Disponível apenas se o parâmetro Add Cross-Origin Resource Sharing (CORS) estiver ativo.

N/A

Par de chave-valor

External API

Se ativo, publica a API em um gateway externo.

True

Booleano

Internal API

Se ativo, publica a API em um gateway interno. As opções External API e Internal API podem estar ativas simultaneamente.

False

Booleano

mTLS Enabled API

Se ativo, publica a API em um gateway dedicado com mTLS habilitado por padrão.

False

Booleano

API Key

Se ativo, o endpoint só pode ser consumido se uma chave de API estiver configurada na Digibee Integration Platform.

False

Booleano

Token JWT

Se ativo, o endpoint só pode ser consumido se um token JWT gerado por outro endpoint for enviado. Saiba mais no artigo sobre implementação do Digibee JWT..

False

Booleano

Basic Auth

Se ativo, o endpoint só pode ser consumido se a autenticação Basic Auth estiver presente na requisição. Essa configuração pode ser registrada previamente na página Consumers na Digibee Integration Platform.

False

Booleano

Rate Limit

Se ativo, aplica a limitação de taxa no gateway da API. Disponível apenas se os parâmetros API Key ou Basic Auth estiverem ativos.

False

Booleano

Limit by

Define a entidade à qual os limites serão aplicados. Disponível apenas se o parâmetro Rate Limit estiver ativo.

API

String

Aggregate by

Define a entidade para agregar os limites. Opções: Consumer e Credential (API Key, Basic Auth). Disponível apenas se o parâmetro Rate Limit estiver ativo.

Consumer

String

Options

Define o limite de requisições que podem ser feitas dentro de um intervalo de tempo. Disponível apenas se o parâmetro Rate Limit estiver ativo.

N/A

Opções de Rate Limit

Interval

Define o intervalo de tempo para o limite de requisições. Opções: second, minute, hour, day, e month. Disponível apenas se uma nova opção (Option) for adicionada.

Second

String

Limit

Define o número máximo de requisições que os usuários podem fazer no intervalo de tempo especificado. Disponível apenas se uma nova opção (Option) for adicionada.

N/A

Integer

Allow Redelivery Of Messages

Se ativo, permite que a mensagem seja reenviada caso o Pipeline Engine falhe. Saiba mais no artigo sobre o Pipeline Engine.

False

Booleano

Documentation

Seção para documentar qualquer informação necessária sobre a configuração do trigger e regras de negócio.

N/A

String

Há um parâmetro de configuração global que especifica que todos os pipelines devem ser publicados com pelo menos as opções API Key ou Basic Auth habilitadas.

Informações adicionais dos parâmetros

Abaixo você encontra mais detalhes sobre os parâmetros:

The Maximum Allowed Request Size In Mb

Se o payload enviado pelo consumidor do endpoint exceder o limite, uma mensagem será retornada indicando que o tamanho máximo foi excedido, juntamente com o código de status 413 e a seguinte mensagem:

{ 
    "message": "Request size limit exceeded" 
}
Add Cross-Origin Resource Sharing (CORS) - CORS Headers

Cross-Origin Resource Sharing (CORS) é um mecanismo que permite informar ao navegador quais origens têm permissão para fazer solicitações. Este parâmetro define o CORS especificamente para o pipeline e suas restrições. Para configurar isso de forma global e não individualmente para cada pipeline, consulte o artigo Cabeçalho HTTP CORS.

Você pode usar uma vírgula para inserir vários valores em um header, mas não deve inserir um espaço antes ou depois da vírgula. Além disso, nenhum caractere especial deve ser utilizado nas chaves, pois isso pode causar erros em proxies e gateways.

mTLS enabled API

Você pode habilitar as opções External API e Internal API juntamente com a mTLS enabled API, mas recomendamos deixá-las desativadas. Este parâmetro não suporta API Key, Token JWT ou Basic Auth.

Para utilizar esse recurso no seu ambiente, é necessário fazer uma solicitação pelo suporte, e enviaremos as informações necessárias para a instalação deste serviço.

Rate Limit

Ao criar APIs, é comum limitar o número de solicitações que os usuários podem fazer em um determinado intervalo de tempo.

Você pode fazer isso habilitando a opção Rate Limit e aplicando as seguintes configurações:

  • Limit: API

  • Aggregate by: Credential (API Key, Basic Auth)

  • Options:

    • Item 1:

      • Interval: segundo

      • Limit: 100

    • Item 2:

      • Interval: minuto

      • Limit: 1000

    • Item 3:

      • Interval: hora

      • Limit: 5000

Se a API tiver caminhos adicionais, o limite será compartilhado entre todos eles. Para aplicar as configurações de limite de taxa, a API deve ser configurada com uma API Key ou Basic Auth. Dessa forma, o parâmetro Aggregate by pode ser usado para grupos de credenciais se a opção Consumer for selecionada, ou para uma única credencial se a opção Credential (API Key, Basic Auth) for selecionada.

Se vários parâmetros de intervalo com valores repetidos forem configurados, apenas um desses valores será levado em consideração. Também é necessário especificar um valor maior que zero para o parâmetro Limit.

Se as opções de limite de taxa não forem configuradas corretamente, elas serão ignoradas e um log de aviso será emitido. Você pode visualizar esse log na página de Pipeline Logs.

Atualizado