Digibee Documentation
Solicitar documentaçãoAgendar demo
Português
Português
  • Primeiros passos
  • Destaques
    • Release notes
      • Release notes 2025
        • Maio
        • Abril
        • Março
        • Fevereiro
        • Janeiro
      • Release notes 2024
        • Dezembro
        • Novembro
        • Outubro
        • Setembro
        • Agosto
          • Lançamento de conectores 20/08/2024
        • Julho
        • Junho
        • Maio
        • Abril
        • Março
        • Fevereiro
        • Janeiro
      • Release notes 2023
        • Dezembro
        • Novembro
        • Outubro
        • Setembro
        • Agosto
        • Julho
        • Junho
        • Maio
        • Abril
        • Março
        • Fevereiro
        • Janeiro
      • Release notes 2022
        • Dezembro
        • Novembro
        • Outubro
        • Setembro
        • Agosto
        • Julho
        • Junho
        • Maio
        • Abril
        • Março
        • Fevereiro
        • Janeiro
      • Release notes 2021
      • Release notes 2020
    • AI Pair Programmer
    • Digibeectl
      • Comece a usar
        • Como instalar o Digibeectl no Windows
      • Digibeectl sintaxe
      • Operações do Digibeectl
  • Digibee em ação
    • Casos Práticos de Uso
      • Melhorando o desempenho de integrações com paginação de API
      • Automatize o armazenamento de arquivos com a Digibee
      • Estratégia de reprocessamento em integrações orientadas a eventos
      • Práticas essenciais para proteger informações sensíveis em pipelines com a Digibee
      • OAuth2 para acesso seguro a APIs
      • Proteja suas APIs com JWT na Digibee
      • Melhores práticas de integração para desenvolvedores na Digibee Integration Platform
      • Como usar Arquitetura orientada a eventos na Digibee Integration Platform
      • Download dinâmico de arquivos com a Digibee
      • Microsserviços: Padrão Circuit Breaker para melhorar a resiliência
      • Estratégia de tratamento de erros em integrações orientadas a eventos
    • Solução de problemas
      • Orientações para integrações
        • Como resolver problemas comuns em pipelines
        • Como resolver o Erro 409: “You cannot update a pipeline that is not on draft mode”
        • Como resolver o erro "Pipeline execution was aborted"
        • Autenticação integrada com o Microsoft Entra ID
        • Como resolver o erro "Failed to initialize pool: ONS configuration failed"
        • Como executar o mapeamento de endereços IP com o banco de dados Progress
        • Como construir fluxos de integração que enviam notificações de erro
        • Como enviar logs para serviços externos
        • Como o JSONPath difere nos conectores e no Painel de execução
        • Usando JSONPath para validar números com dígitos iniciais específicos
        • Como analisar o erro “Network error: Failed to fetch” no Painel de execução
        • Como trabalhar com requisições de payloads superiores a 5MB
        • Como configurar o Microsoft Entra ID para exibir grupos na Digibee Integration Platform
        • Como montar uma mensagem HL7
      • Comportamento e configuração de conectores
        • Timeout no conector Pipeline Executor
        • Como usar DISTINCT e COUNT no Object Store
        • Entendendo o @@DGB_TRUNCATED@@ na Digibee Integration Platform
        • Como resolver nomes sem DNS - REST, SOAP, SAP (web protocols)
        • Como ler e escrever arquivos dentro de pastas
        • AuthToken Reuse para conector Salesforce
        • Como resolver o erro "Invalid payload" na integração de API
        • Bancos de dados suportados
          • Funções e utilidades para banco de dados
      • Implementação e exemplos de uso de conectores
        • Google Storage: Cenários de uso
        • DB V2: Cenários de uso
        • For Each: Exemplo de uso
        • Template e suas utilizações
        • Implementação do Digibee JWT
        • Email V1: Exemplos de uso (Descontinuado)
      • Aplicações do JOLT
        • Transformer: Conhecendo o JOLT
        • Transformer: Transformações com JOLT
        • Transformer: Adicionar valores aos elementos da lista
        • Transformer: Visão geral das operations
        • Transformer: Formatação de datas utilizando split e concat
        • Transformer: Lógica IF-ELSE simples com JOLT
      • Dicas de acesso e desempenho da Plataforma
        • Como resolver problemas para fazer o login na Digibee Integration Platform
        • Como receber atualizações da Status Page da Digibee
        • Como executar a limpeza de cache da Digibee Integration Platform
      • Orientações sobre governança e solução de problemas
        • Como consumir pipelines com Internal API usando ZTNA
        • Como usar a API Interna com ou sem uma VPN
        • Como gerar, converter e cadastrar SSH Keys
        • Autenticação mTLS
          • Como configurar o mTLS na Digibee Integration Platform
          • Perguntas frequentes: Certificados no mTLS
        • Como conectar a Digibee ao Oracle RAC
        • Como conectar a Digibee à SAP
        • Como conectar a Digibee ao MongoDB Atlas usando VPN
        • Como gerenciar IPs na Digibee Integration Platform
        • Configurando Account Dropbox
        • Como usar sua conta do Gmail com o componente de e-mail Digibee (SMTP)
        • Como utilizar a política CORS na Digibee Integration Platform
      • Cenários de implantação
        • Como solucionar erros de “Out of memory” na implantação
        • Aviso de conflito de rotas
    • Boas práticas
      • Boas práticas para a construção de um pipeline
      • Boas práticas ao validar mensagens em um pipeline consumer
      • Evitando loops e maximizando a eficiência dos pipelines
      • Nomenclatura: Global, Contas (Accounts) e Consumers (Chaves de API)
      • Tutorial de paginação
        • Tutorial de paginação - parte 1
        • Tutorial de paginação - parte 2
        • Tutorial de paginação - parte 3
        • Tutorial de paginação - parte 4
      • Exemplos de paginação
      • Arquitetura orientada a eventos
      • Modelo de notificação em integrações orientadas a eventos
      • Modelo de integração OAuth2 com a Digibee
      • Boas práticas para tratamento de erros em pipelines
    • Digibee Academy
      • Integration Developer Bootcamp
  • Guias de referência
    • Conectores
      • AWS
        • S3 Storage
        • SQS
        • AWS Secrets Manager
        • AWS Athena
        • AWS CloudWatch
        • AWS Elastic Container Service (ECS)
        • AWS Eventbridge
        • AWS Identity and Access Management (IAM)
        • AWS Kinesis
        • AWS Kinesis Firehose
        • AWS Key Management Service (KMS)
        • AWS Lambda
        • AWS MQ
        • AWS Simple Email Service (SES)
        • AWS Simple Notification System (SNS)
        • AWS Security Token Service (STS)
        • AWS Translate
      • Azure
        • Azure CosmosDB
        • Azure Event Hubs
        • Azure Key Vault
        • Azure ServiceBus
        • Azure Storage Datalake Service
        • Azure Storage Queue Service
      • Enterprise applications
        • SAP
        • Salesforce
        • Braintree
        • Facebook
        • GitHub
        • Jira
        • ServiceNow
        • Slack
        • Telegram
        • Twillio
        • WhatsApp
        • Wordpress
        • Workday
        • Zendesk
      • File storage
        • Blob Storage (Azure)
        • Digibee Storage
        • Dropbox
        • FTP
        • Google Drive
        • Google Storage
        • OneDrive
        • SFTP
        • WebDav V2
        • WebDav (Descontinuado)
      • Files
        • Append Files
        • Avro File Reader
        • Avro File Writer
        • CSV to Excel
        • Excel
        • File Reader
        • File Writer
        • GZIP V2
        • GZIP V1 (Descontinuado)
        • Parquet File Reader
        • Parquet File Writer
        • Stream Avro File Reader
        • Stream Excel
        • Stream File Reader
        • Stream File Reader Pattern
        • Stream JSON File Reader
        • Stream Parquet File Reader
        • Stream XML File Reader
        • XML Schema Validator
        • ZIP File
        • NFS
      • Flow
        • Delayer
      • Google/GCP
        • Google BigQuery
        • Google BigQuery Standard SQL
        • Google Calendar
        • Google Cloud Functions
        • Google Mail
        • Google PubSub
        • Google Secret Manager
        • Google Sheets
      • Industry solutions
        • FHIR (Beta)
        • Gupy Public API
        • HL7
        • HubSpot: Sales e CMS
        • Mailgun API
        • Oracle NetSuite (Beta)
        • Orderful
        • Protheus: Billing e Inventory of Cost
      • Logic
        • Block Execution
        • Choice
        • Do While
        • For Each
        • Retry
        • Parallel Execution
      • Queues and messaging
        • Event Publisher
        • JMS
        • Kafka
        • RabbitMQ
      • Security
        • AES Cryptography
        • Asymmetric Cryptography
        • CMS
        • Digital Signature
        • JWT (Descontinuado)
        • JWT V2
        • Google IAP Token
        • Hash
        • Digibee JWT (Generate and Decode)
        • LDAP
        • PBE Cryptography
        • PGP
        • RSA Cryptography
        • Symmetric Cryptography
      • Structured data
        • CassandraDB
        • DB V2
        • DB V1 (Descontinuado)
        • DynamoDB
        • Google Big Table
        • Memcached
        • MongoDB
        • Object Store
        • Relationship
        • Session Management
        • Stored Procedure
        • Stream DB V3
        • Stream DB V1 (Descontinuado)
        • ArangoDb
        • Caffeine Cache
        • Caffeine LoadCache
        • Couchbase
        • CouchDB
        • Ehcache
        • InfluxDB
      • Tools
        • Assert V2
        • Assert V1 (Descontinuado)
        • Base64
        • CSV to JSON V2
        • CSV to JSON V1 (Descontinuado)
        • HL7 Message Transformer (Beta)
        • HTML to PDF
        • Transformer (JOLT) V2
        • JSLT
        • JSON String to JSON Transformer
        • JSON to JSON String Transformer
        • JSON to XML Transformer
        • JSON to CSV V2
        • JSON to CSV Transformer (Descontinuado)
        • JSON Path Transformer V2
        • JSON Path Transformer
        • JSON Transformer
        • Log
        • Pipeline Executor
        • QuickFix (Beta)
        • SSH Remote Command
        • Script (JavaScript)
        • Secure PDF
        • Store Account
        • Template Transformer
        • Throw Error
        • Transformer (JOLT)
        • Validator V1 (Descontinuado)
        • Validator V2
        • XML to JSON Transformer
        • XML Transformer
        • JSON Generator (Mock)
      • Web protocols
        • Email V2
        • Email V1 (Descontinuado)
        • REST V2
        • REST V1 (Descontinuado)
        • SOAP V3
        • SOAP V2
        • SOAP V1 (Descontinuado)
        • WGet (Download HTTP)
        • gRPC
    • Triggers
      • Web Protocols
        • API Trigger
        • Email Trigger
        • Email Trigger V2
        • HTTP Trigger
        • HTTP File Trigger
          • HTTP File Trigger - Downloads
          • HTTP File Trigger - Uploads
        • REST Trigger
      • Scheduling
        • Scheduler Trigger
      • Messaging and Events
        • Event Trigger
        • JMS Trigger
        • Kafka Trigger
        • RabbitMQ Trigger
      • Others
        • DynamoDB Streams Trigger
        • HL7 Trigger
        • Salesforce Trigger - Events
    • Double Braces
      • Como referenciar dados usando Double Braces
      • Funções Double Braces
        • Funções matemáticas
        • Funções de utilidades
        • Funções numéricas
        • Funções de string
        • Funções de JSON
        • Funções de data
        • Funções de comparação
        • Funções de arquivo
        • Funções de condição
      • Preenchimento automático de expressões Double Braces
  • Ciclo de desenvolvimento
    • Build
      • Canvas
        • Assistente de IA
        • Smart Connector User Experience
        • Painel de execução
        • Modos de Design e Inspeção
        • Linter: Validação de construção do canvas
        • Mock de Conectores
      • Pipeline
        • Como criar um pipeline
        • Como criar um pipeline usando uma especificação OpenAPI
        • Como criar um projeto
        • Histórico de versões do pipeline
        • Versionamento de pipelines
        • Processamento de mensagens
        • Subpipelines
      • Cápsulas
        • Como usar Cápsulas
          • Como criar uma coleção de Cápsulas
            • Dimensões do cabeçalho da Cápsula
          • Como criar um grupo de Cápsulas
          • Como configurar uma Cápsula
          • Como construir uma Cápsula
          • Como testar uma Cápsula
          • Como salvar uma Cápsula
          • Como publicar uma Cápsula
          • Como mudar uma Cápsula de coleção ou grupo
          • Como arquivar e restaurar uma Cápsula
        • Versionamento de Cápsulas
        • Cápsulas públicas
          • SAP
          • Digibee Tools
          • Google Sheets
          • Gupy
          • Enviar alerta por email
          • Totvs Live
          • Canvas LMS
        • Assistente de IA para geração de documentação de cápsulas
    • Run
      • Conceitos de Run
        • Autoscalling
      • Implantação
        • Implantando um pipeline
        • Como reimplantar um pipeline
        • Como promover pipelines entre ambientes
        • Como verificar o Histórico de implantação do pipeline
        • Como fazer rollback de versão implantada
        • Como utilizar as funções avançadas do histórico de implantação
        • Status de implantação do pipeline
      • Como os alertas funcionam nos pipelines em Run
    • Monitor
      • Monitor Insights (Beta)
      • Execuções concluídas
        • Download dos logs de execução de pipeline
      • Pipeline logs
      • Pipeline Metrics
        • API de métricas de pipeline
          • Como configurar API de métricas Digibee com Datadog
          • Como configurar API de métricas Digibee com Prometheus
        • Latência de Conector
      • Alertas
        • Como criar um alerta
        • Como editar um alerta
        • Como ativar, desativar ou duplicar um alerta
        • Como excluir um alerta
        • Como configurar alertas no Slack
        • Como configurar alertas no Telegram
        • Como configurar alertas via webhook
        • Métricas disponíveis
        • Boas práticas para alertas
        • Casos de uso para alertas
      • Monitoramento de conexões de VPN
        • Alertas para métricas de VPN
  • Gerenciamento de conectividade
    • Conectividade
    • Zero Trust Network Access (ZTNA)
      • Pré-requisitos para usar o ZTNA
      • Como visualizar conexões (Edge Routers)
      • Como visualizar Network Mappings associados com um Edge Router
      • Como adicionar novas conexões em ZTNA (Edge Routers)
      • Como deletar conexões em ZTNA (Edge Routers)
      • Como visualizar rotas (Network mapping)
      • Como adicionar novas rotas (Network Mapping)
      • Como adicionar rotas em lote para ZTNA
      • Como editar rotas (Network Mapping)
      • Como deletar rotas (Network Mapping)
      • Como gerar novas chaves (Edge Router)
      • Como mudar o ambiente dos Edge Routers
      • Fluxo Inverso (Inverse Flow) de ZTNA
      • Grupos de ZTNA
    • Virtual Private Network (VPN)
  • Administração da plataforma
    • Administração
      • Auditoria
      • Controle de acesso
        • Usuários
        • Grupos
        • Papéis
          • Lista de permissões por serviço
          • Papéis e responsabilidades: Governança e identificação de pessoas-chave
      • Integração com provedores de identidades
        • Como integrar um provedor de identidade
        • Regras de autenticação
        • Integração de grupos IdP com grupos Digibee
          • Como criar uma integração de grupo
          • Como testar uma integração de grupo
          • Como habilitar uma integração de grupo
          • Como editar uma integração de grupo
          • Como remover uma integração de grupo
      • Autenticação e autorização de usuários
        • Como habilitar e desabilitar a autenticação de dois fatores
        • Fluxo de login
      • Grupos da organização
    • Configurações
      • Globals
        • Como criar Globals
        • Como editar ou excluir Globals
        • Como usar Globals
      • Contas (Accounts)
        • Configurando cada tipo de conta
        • Monitore alterações nas configurações da conta em pipelines implantados
        • Arquitetura OAuth2
          • Cadastro de novos provedores OAuth
      • Consumers (Chaves de API)
      • Modelos de Relacionamento
      • Multi-Instância
        • Implantando um pipeline de multi-instância
      • Transmissão de Logs
        • Como usar a Transmissão de Logs com o Datadog
    • Governança
      • Políticas
        • Segurança
          • Política de acesso à APIs internas
          • Política de acesso à APIs externas
          • Política de campos sensíveis
        • Transformação
          • Cabeçalho HTTP personalizado
          • Cabeçalho HTTP CORS
        • Política de Limite de réplicas
    • Licenciamento
      • Modelos de licenciamento
        • Modelo baseado em consumo
      • Capacidade e cotas
      • Consumo de licenças
    • Digibee APIs
      • Como criar credenciais de API
  • Conceitos da Digibee
    • Pipeline Engine
      • Digibee Integration Platform Pipeline Engine v2
      • Suporte a Credenciais Dinâmicas (Beta Restrito)
    • SaaS dedicado na Digibee Integration Platform
      • Arquitetura da Digibee Integration Platform no modelo Saas dedicado
      • Requisitos para o modelo SaaS dedicado da Digibee
      • Site-to-Site VPN para suporte de clientes SaaS dedicado
      • Responsabilidades dos cliente Saas dedicado
      • Política de Imagens dos Nodes Kubernetes Customizados
      • Instalação do Digibee Dedicated SaaS no AWS
        • Como instalar os requisitos antes da instalação da Digibee Integration Platform no EKS
        • Permissões para usar a Digibee Integration Platform no EKS
        • Como criar nós customizados para EKS (Golden Images)
    • Introdução ao ZTNA
  • Ajuda & FAQ
    • Suporte ao Cliente Digibee
    • Solicitar documentação, sugerir nova feature ou enviar feedback
    • Programa Beta
    • Segurança e conformidade
    • Sobre a Digibee
Fornecido por GitBook
Nesta página
  • Parâmetros
  • Informações adicionais sobre parâmetros
  • Add Cross-Origin Resource Sharing (CORS) - CORS Headers
  • Maximum Request Size
  • mTLS enabled API
  • Additional API Routes
  • Rota estática customizada
  • Rota customizada com parâmetro no caminho
  • Remove Digibee Prefix from Route
  • Rate Limit
  • REST Trigger em Ação
  • API de consulta de informações com retorno em JSON
  • API de envio de informações com retorno em JSON

Isto foi útil?

  1. Guias de referência
  2. Triggers
  3. Web Protocols

REST Trigger

Descubra mais sobre o REST Trigger e saiba como utilizá-lo na Digibee Integration Platform.

AnteriorHTTP File Trigger - UploadsPróximoScheduling

Atualizado há 3 meses

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á.

Parâmetros

Dê uma olhada nas opções de configuração do componente. Parâmetros suportados por estão marcados com (DB).

Parâmetro
Descrição
Valor padrão
Tipo de dado

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

Existe um parâmetro de configuração global que obriga todos os pipelines a serem publicados com ao menos a opção API Key ou Basic Auth habilitada.

Informações adicionais sobre parâmetros

Add Cross-Origin Resource Sharing (CORS) - CORS Headers

Maximum Request Size

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:

{  
    "message": "Request size limit exceeded"
}

mTLS enabled API

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.

Additional API Routes

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:

https://test.godigibee.io/pipeline/{realm}/v{n}/{pipeline-name} 

ou PROD:

https://api.godigibee.io/pipeline/{realm}/v{n}/{pipeline-name}
  • {realm}: corresponde ao realm.

  • v{n}: versão principal (major) do pipeline.

  • {pipeline-name}: nome dado ao pipeline.

Rota estática customizada

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:

https://test.godigibee.io/pipeline/realm/v1/product-list

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:

https://test.godigibee.io/pipeline/realm/v1/products

Rota customizada com parâmetro no caminho

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:

https://test.godigibee.io/pipeline/realm/v1/products/:id

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:

https://test.godigibee.io/pipeline/realm/v1/products/10156

Para utilizar esse valor enviado pela rota dentro do pipeline, recorra à sintaxe Double Braces:

{{ message.queryAndPath.id }}

Remove Digibee Prefix from Route

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:

https://test.godigibee.io/products

Ao remover o prefixo padrão e definir a rota do pipeline pelo parâmetro Additional API Routes, tenha cuidado para não definir uma rota de pipeline existente que esteja em uso por outros pipelines. Caso você tenha mais do que uma versão principal do pipeline, também é importante ter em mente que o versionamento da rota do pipeline deve ser feito pelo usuário devido à ausência de um parâmetro para versionamento da rota. Por exemplo: /pipeline/realm/v1/.

Rate Limit

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.

REST Trigger em Ação

Veja a seguir como o trigger se comporta em determinada situação e a sua respectiva configuração.

API de consulta de informações com retorno em JSON

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.

Esse exemplo serve apenas para fins educacionais. Em alguns casos você não deve deixar o endpoint aberto por questões de segurança.

{    "data": {        "products": [            {                "name": "Samsung 4k Q60T 55",                "price": 3278.99            },            {                "name": "Samsung galaxy S20 128GB",                "price": 3698.99            }        ]    }}

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.

API de envio de informações com retorno em JSON

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.

Esse exemplo serve apenas para fins educacionais. Em alguns casos você não deve deixar o endpoint aberto por questões de segurança.

{
    "data": {
        "products": [
            {
                "name": "Samsung 4k Q60T 55",
                "price": 3278.99
            },
            {
                "name": "Samsung galaxy S20 128GB",
                "price": 3698.99
            },
            {{ message.body.product }}
        ]
    }

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:

{
    "product": {
        "name": "Samsung galaxy note 10 256GB",
        "price": 2879.99
    }
}

O endpoint deve retornar o status-code 200, e o corpo da resposta deve ter a seguinte aparência:

{
  "data": {
    "products": [
      {
        "name": "Samsung 4k Q60T 55",
        "price": 3278.99
      },
      {
        "name": "Samsung galaxy S20 128GB",
        "price": 3698.99
      },
      {
        "name": "Samsung galaxy note 10 256GB",
        "price": 2879.99
      }
    ]
  }
}

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": "{}",
  "form": {},
  "headers": {
    "Host": "pipeline-trigger-http:8100",
    "Connection": "keep-alive",
    "X-Forwarded-For": "***",
    "X-Forwarded-Proto": "http",
    "X-Forwarded-Host": "***",
    "my-custom-header": "a"
  },
  "queryAndPath": {
    "id": "1"
  },
  "method": "POST",
  "contentType": "application/json",
  "path": "/pipeline/digibee/v1/trigger-rest/1"

}
  • 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:

expressões Double Braces
política de Cabeçalho HTTP CORS
MOCK
MOCK
implementação JWT
Pipeline Engine