REST Trigger
Descubra mais sobre o REST Trigger e saiba como utilizá-lo na Digibee Integration Platform.
Atualizado
Isto foi útil?
Descubra mais sobre o REST Trigger e saiba como utilizá-lo na Digibee Integration Platform.
Atualizado
Isto foi útil?
Quando um pipeline é configurado e publicado com o REST Trigger, um endpoint REST é criado automaticamente. Você pode visualizar esse endpoint após a implantação - basta clicar no cartão do pipeline na tela de Run.
Com esse trigger, você pode criar APIs que atendem o padrão REST e definir rapidamente quais os métodos que seu endpoint responderá.
Dê uma olhada nas opções de configuração do componente. Parâmetros suportados por estão marcados com (DB)
.
Methods
Serve para configurar os verbos HTTP a serem suportados pelo endpoint após a implantação.
POST, PUT, GET, PATCH, DELETE e OPTIONS
String
Response Headers
Headers a serem retornados pelo endpoint quando o processamento no pipeline terminar.
N/A
String
Maximum Timeout
Tempo limite (em milissegundos) para que o pipeline processe informações antes de retornar uma resposta. Limite: 900000.
30000
Inteiro
Maximum Request Size
Tamanho máximo do payload (em MB).
5
Inteiro
Response Headers (DB)
Headers a serem retornados pelo endpoint quando o processamento no pipeline terminar.
Não pode ser deixado vazio. Aceita Double Braces.
N/A
Pares de chave-valor
Add Cross-Origin Resource Sharing (CORS)
Adicione os CORS headers a serem retornados pelo endpoint quando o processamento no pipeline terminar.
False
Booleano
CORS Headers
Este parâmetro define o CORS especificamente ao pipeline e suas restrições.
N/A
Pares de chave-valor
External API
Se a opção estiver ativada, a API é publicada em um gateway externo.
True
Booleano
Internal API
Se a opção estiver ativada, a API é publicada em um gateway interno. O pipeline pode ter tanto a opção de External API quanto a Internal API habilitadas simultaneamente.
False
Booleano
mTLS enabled API
Se a opção estiver ativada, a API é publicada em um gateway dedicado a APIs com mTLS ativo por padrão.
False
Booleano
API Key
Se a opção estiver ativada, o endpoint pode ser consumido apenas se for enviada uma chave de API previamente configurada na Digibee Integration Platform.
False
Booleano
Token JWT
False
Booleano
Basic Auth
Se a opção estiver ativada, o endpoint só pode ser consumido se uma configuração de Basic Auth estiver presente na requisição.
False
Booleano
Additional API Routes
Se a opção estiver ativada, o trigger permite que você configure novas rotas.
False
Booleano
Remove Digibee Prefix from Route
Esta opção estará disponível somente quando os parâmetros External API e Internal API estiverem desabilitados, e os parâmetros mTLS enabled API e Additional API Routes estiverem habilitados.
False
Booleano
Routes
Exibido somente quando o parâmetro Additional API Routes_ _estiver habilitado. É aqui que você consegue definir as rotas adicionais do endpoint.
N/A
String
Rate Limit
Se a opção estiver ativada, uma configuração de rate limiting será aplicada no API Gateway. Disponível se API Key ou Basic Auth estiverem ativados.
False
Booleano
Limit by
Define a entidade na qual os limites serão aplicados. Opções: API.
API
String
Aggregate by
Define a entidade agregadora dos limites. Opções. Consumer ou Credential (API Key, Basic Auth).
Consumer
String
Options
Define o limite de requisições que podem ser feitas dentro de um período de tempo.
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.
Second
String
Limit
Define o número máximo de requisições que os usuários podem fazer no intervalo de tempo especificado.
N/A
Inteiro
Allow Redelivery Of Messages
False
Booleano
Caso o payload enviado pelo consumidor do endpoint ultrapasse o limite, será retornada uma mensagem indicando que o tamanho máximo foi ultrapassado e um status-code 413 com a seguinte mensagem:
Este parâmetro não suporta API Key, JWT ou Basic Auth. Para utilizá-lo no seu realm, é necessário fazer uma solicitação via chat e assim enviaremos as informações necessárias para instalação deste serviço.
Conforme explicado anteriormente, essa opção serve para configurar rotas novas no endpoint.
Ao implantar um pipeline, uma URL é criada automaticamente. No entanto, você pode customizar a rota de acordo com o que for mais conveniente. Isso inclui também o recebimento de parâmetros através da rota.
Depois que os pipelines são implantados, as URLs adquirem a seguinte estrutura:
TEST:
ou PROD:
{realm}: corresponde ao realm.
v{n}: versão principal (major) do pipeline.
{pipeline-name}: nome dado ao pipeline.
Vamos supor que você criou o pipeline product-list. Levando em consideração o comentário acima, a sua URL teria a seguinte aparência:
Agora, veja como configurar uma rota estática para esse caso.
Com essas configurações aplicadas e o pipeline implantado, você obtém uma nova URL:
Usando como exemplo o mesmo pipeline configurado anteriormente, veja como configurar a rota:
Com essas configurações aplicadas e o pipeline implantado, você obtém uma nova URL:
Nesse caso, o consumidor do endpoint pode enviar uma requisição contendo o id de um produto e retornar apenas as informações dele. Exemplo da URL na requisição:
Para utilizar esse valor enviado pela rota dentro do pipeline, recorra à sintaxe Double Braces:
Como explicado anteriormente, esta opção é recomendada para remover o prefixo de rota padrão Digibee da rota do pipeline.
Digamos que você tenha criado um pipeline e definido o trigger da seguinte forma:
Com as configurações aplicadas e o pipeline implantado, você terá uma nova URL:
Ao criarmos APIs, geralmente queremos limitar o número de requisições da API que usuários podem fazer em um dado intervalo de tempo.
Esta ação pode ser executada ativando a opção Rate Limit e aplicando as seguintes configurações:
Se a API possui rotas adicionais, o limite é compartilhado entre todas as rotas. Para aplicar as configurações de rate limit, a API precisa ser configurada com uma API Key ou Basic Auth para que o parâmetro Aggregate by possa ser usado por grupos de credenciais se a opção Consumer estiver selecionada, ou por credenciais individuais se a opção Credential (API Key, Basic Auth) estiver selecionada.
Se vários parâmetros Interval estiverem configurados com valores repetidos, apenas um desses valores é considerado. Também é necessário que um valor maior que zero seja informado para o parâmetro Limit.
Se as opções de rate limiting não forem definidas corretamente, elas serão ignoradas e um warning log será emitido. Você pode visualizar esse log na página de Pipeline Logs.
Veja a seguir como o trigger se comporta em determinada situação e a sua respectiva configuração.
Observe como configurar um pipeline com o REST Trigger para retornar uma informação de dentro do pipeline em formato JSON e como o retorno deve ser tratado especificamente para esse trigger.
Primeiramente, crie um novo pipeline e configure o trigger. A configuração pode ser feita da seguinte forma:
Com as configurações acima, você determina que:
o endpoint funciona apenas com o verbo GET.
Além disso, você determina que a API é do tipo externa e não precisa de token para a comunicação.
Feito isso, o endpoint já retornará automaticamente o JSON que definimos acima como resposta do endpoint.
Após a implantação, pegue a URL gerada e envie uma requisição do tipo GET. O endpoint deve retornar o status-code 200, e o corpo da resposta deve ter a mesma aparência do JSON que previamente definimos dentro do conector MOCK.
Observe como configurar um pipeline com o REST Trigger para retornar uma informação de dentro do pipeline em formato JSON e como o retorno deve ser tratado especificamente para esse trigger.
Primeiramente, crie um novo pipeline e configure o trigger. A configuração pode ser feita da seguinte forma:
Com as configurações acima, você determina que:
o endpoint funciona apenas com o verbo POST.
Além disso, você determina que a API é do tipo externa e não precisa de token para a comunicação.
Com isso configurado, um payload com um novo produto será recebido e esse será adicionado ao array. Após isso, o pipeline retornará para o consumidor o array com o novo produto adicionado.
Após a implantação, pegue a url gerada e envie uma requisição do tipo POST com o seguinte body:
O endpoint deve retornar o status-code 200, e o corpo da resposta deve ter a seguinte aparência:
Sempre que você realizar uma requisição ao endpoint criado, a estrutura da mensagem que o trigger entrega ao pipeline é sempre a mesma e segue este padrão:
body: conteúdo a ser enviado no payload do request para ser transformado em string neste campo.
form: se o form-data for utilizado no request, os dados enviados são entregues neste campo.
headers: os headers enviados no request são entregues neste campo, mas alguns são preenchidos automaticamente de acordo com a ferramenta utilizada para realizar o request.
queryAndPath: os parâmetros de query e path passados na URL são entregues neste campo.
method: método HTTP utilizado no request a ser entregue neste campo.
contentType: quando informado no request, o valor do Content-type é repassado para o pipeline dentro desse campo.
path: o path utilizado na URL no request é repassado nesse campo.
absoluteURI: a URI absoluta do request é passada nesse campo.
Se a opção estiver ativada, o endpoint pode ser consumido apenas se for enviado um token JWT previamente gerado por outro endpoint com essa capacidade. Leia o artigo da para obter mais detalhes.
Se a opção estiver ativada, permite o reenvio da mensagem em caso de falha do Pipeline Engine. Leia o artigo sobre o para obter mais detalhes.
O Cross-Origin Resource Sharing (CORS) é um mecanismo que permite informar ao navegador quais origens tem a permissão para fazer requisições. Este parâmetro define o CORS especificamente ao pipeline e suas restrições. Para configurar de forma global ao invés de individualmente em cada pipeline, consulte a . Utilizamos vírgula para informar múltiplos valores em um header, mas não adicionamos espaço antes ou após a vírgula. Caracteres especiais não devem ser utilizados nas chaves, por conta de possíveis falhas em proxys e gateways.
Agora observe como configurar um no pipeline para que ele seja o provedor de dados que o endpoint retorna ao final. Coloque o componente indicado, conecte-o ao trigger e configure-o com o seguinte JSON:
Agora observe como configurar um no pipeline para que ele modifique os dados recebidos e que o endpoint retornará ao final. Coloque o componente indicado, conecte-o ao trigger e configure-o com o seguinte JSON: