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 de pipeline para sistemas externos de monitoramento
        • 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
      • JOLT e Double Braces na Digibee: Escolhendo o método certo para transformar dados
      • 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
      • Modelo ETL de alta escalabilidade para Digibee
    • Digibee Academy
      • Integration Developer Bootcamp
  • Guias de referência
    • Conectores
      • AI Tools
        • LLM Connector
      • 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 dados
        • Como usar a Transmissão de dados 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)
    • 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
  • Entendendo o JOLT: O arquiteto do JSON
  • Resumo das operações principais
  • Casos de uso do JOLT
  • Entendendo o Double Braces: O motor por trás dos conectores Digibee
  • Casos de uso do Double Braces
  • Quando usar cada um: Um guia para decisão
  • Escolha JOLT quando
  • Escolha Double Braces quando
  • Uma observação sobre o JSLT
  • Considerações finais

Isto foi útil?

  1. Digibee em ação
  2. Boas práticas

JOLT e Double Braces na Digibee: Escolhendo o método certo para transformar dados

AnteriorBoas práticasPróximoBoas práticas para a construção de um pipeline

Atualizado há 1 dia

Isto foi útil?

A Digibee capacita usuários a conectar sistemas diversos e orquestrar fluxos de dados complexos. Uma parte importante desse processo é a transformação de dados, pois permite remodelar e adaptar os dados para atender à estrutura e aos requisitos dos sistemas de destino.

Na Digibee, dois métodos principais estão disponíveis para transformar dados:

  • : Transformação de JSON para JSON

  • : Linguagem de expressões própria da Digibee

Compreender quando usar cada uma dessas abordagens ajuda a criar transformações claras e fáceis de manter. Este artigo explora os pontos fortes e os casos de uso tanto do JOLT quanto do Double Braces, orientando você a escolher o mais adequado para suas necessidades específicas de transformação.

Entendendo o JOLT: O arquiteto do JSON

JOLT é uma linguagem de transformação baseada em JSON projetada para remodelar documentos JSON inteiros. Ele funciona por meio de uma série de especificações que definem como o JSON de entrada deve ser transformado na estrutura de saída desejada. O JOLT pode lidar com alterações estruturais complexas ao combinar várias especificações em uma única transformação, permitindo mover, renomear e reorganizar dados. A Digibee disponibiliza o conector para realizar transformações com JOLT.

Resumo das operações principais

O JOLT fornece uma série de operações para remodelar dados JSON, incluindo:

  • shift: Move e renomeia campos.

  • default: Insere valores padrão para campos ausentes.

  • remove: Exclui campos.

  • sort: Ordena os campos em ordem alfabética.

  • cardinality: Alterna entre itens únicos e arrays.

  • modify-default-beta / modify-overwrite-beta: Adiciona ou atualiza campos dinamicamente com funções.

O JOLT também oferece suporte a wildcards como *, @, $ e outros. Isso o torna flexível para evoluir estruturas JSON sem precisar conhecer todos os nomes de campos com antecedência.

Casos de uso do JOLT

  1. Padronização de dados de múltiplas fontes: Imagine receber dados de clientes de diferentes sistemas, cada um com sua própria estrutura JSON. A operação shift do JOLT pode mapear campos como customerName e nameClient para customer.fullName no seu modelo de dados.

// Entrada do Sistema A
{
  "customerName": "Alice Smith",
  "email": "alice.smith@example.com"
}

// Entrada do Sistema B
{
  "nameClient": "Bob Johnson",
  "correo": "bob.johnson@example.com"
}

// Transformação JOLT
[
  {
    "operation": "shift",
    "spec": {
      "customerName|nameClient": "customer.fullName",
      "email|correo": "customer.email"
    }
  }
]

// Saída (para o Sistema A)
{
  "customer": {
    "fullName": "Alice Smith",
    "email": "alice.smith@example.com"
  }
}
// Saída (para o Sistema B)
{
  "customer": {
    "fullName": "Bob Johnson",
    "email": "bob.johnson@example.com"
  }
}
  1. Achatamento de estruturas JSON aninhadas: Ao lidar com APIs que retornam dados aninhados, a notação de ponto do JOLT na operação shift pode achatar essas estruturas para facilitar o processamento.

// Entrada
{
  "order": {
    "details": {
      "orderId": "12345",
      "totalAmount": 100.5
    },
    "customer": {
      "name": "Charlie Brown"
    }
  }
}

// Transformação JOLT
[
  {
    "operation": "shift",
    "spec": {
      "order": {
        "details": {
          "orderId": "orderId",
          "totalAmount": "totalAmount"
        },
        "customer": {
          "name": "customerName"
        }
      }
    }
  }
]

// Saída
{
  "orderId" : "12345",
  "totalAmount" : 100.5,
  "customerName" : "Charlie Brown"
}
  1. Processamento de arrays de objetos: O JOLT pode transformar arrays de objetos. Em vez de iteração explícita, suas especificações se aplicam a cada objeto no array. Isso é útil para padronizar dados dentro de uma lista, extrair informações específicas de cada item ou reestruturar coleções de dados.

Imagine receber uma lista de produtos de diferentes fornecedores, cada um com nomes de campos distintos. O JOLT pode padronizar essa lista em um formato consistente.

// Entrada do Fornecedor A
{
  "products": [
    {"productName": "Laptop", "priceUSD": 1200},
    {"productName": "Mouse", "cost": 25}
  ]
}

// Entrada do Fornecedor B
{
  "items": [
    {"name": "Keyboard", "value": 75},
    {"name": "Monitor", "price_eur": 300}
  ]
}

// Transformação JOLT
[
  {
    "operation": "shift",
    "spec": {
      "products": {
        "*": {
          "productName|name": "productsOut[].name",
          "priceUSD|cost|value|price_eur": "productsOut[].price"
        }
      },
      "items": {
        "*": {
          "productName|name": "productsOut[].name",
          "priceUSD|cost|value|price_eur": "productsOut[].price"
        }
      }
    }
  }
]

// Saída (para o Fornecedor A)
{
  "productsOut": [
    {"name": "Laptop", "price": 1200},
    {"name": "Mouse", "price": 25}
  ]
}

// Saída (para o Fornecedor B)
{
  "productsOut": [
    {"name": "Keyboard", "price": 75},
    {"name": "Monitor", "price": 300}
  ]
}
  1. Extração de dados de uma lista de usuários: O JOLT pode extrair apenas o id e o email de um array de objetos de usuários.

// Entrada
{
  "users": [
    {"userId": "user123", "emailAddress": "alice@example.com", "details": {"age":40 }},
    {"userId": "user456", "emailAddress": "bob@example.com", "info": {"country":"BR" }}
  ]
}

// Transformação JOLT
[
  {
    "operation": "shift",
    "spec": {
      "users": {
        "*": {
          "userId": "usersOut[&1].id",
          "emailAddress": "usersOut[&1].email"
        }
      }
    }
  }
]

// Saída
{
  "usersOut": [
    {"id": "user123", "email": "alice@example.com"},
    {"id": "user456", "email": "bob@example.com"}
  ]
}

Entendendo o Double Braces: O motor por trás dos conectores Digibee

Uma característica importante do Double Braces é sua abordagem baseada em funções e sua capacidade de acessar diversos aspectos do contexto de execução, incluindo o payload da mensagem recebida, metadados do pipeline, contas e variáveis globais.

Casos de uso do Double Braces

    • Inserir valores da mensagem recebida incorporando campos diretamente do JSON de entrada usando {{ message.nomeDoCampo }}.

    • Adicionar valores estáticos usando funções como CONCAT para combinar strings fixas com valores dinâmicos, como {{ CONCAT("Usuário ", message.userId) }}.

    • Acessar variáveis globais e contas recuperando valores predefinidos com {{global.nome-global}} ou {{ account.username }}.

  1. Combinação de campos e cálculo de valores: As funções do Double Braces podem ser usadas para concatenar valores de campos e também realizar cálculos dinâmicos na mesma etapa de transformação.

// Entrada
{
  "firstName": "Carlos",
  "lastName": "Silva",
  "orderTotal": "95.756"
}

// Configuração do JSON Generator com Double Braces
{
  "fullName": {{ CONCAT(message.firstName, " ", message.lastName) }},
  "taxAmount": {{ TONUMBER(message.orderTotal, "###.##") }},
  "country": "Brazil"
}

// Saída
{
  "fullName": "Carlos Silva",
  "taxAmount": 95.756,
  "country": "Brazil"
}
  1. Processamento condicional de dados: Com o Double Braces, você pode decidir como prosseguir com a execução do pipeline ou como transformar os dados.

// Mensagem recebida (exemplo)
{
  "countryCode": "US"
}

// Configuração do JSON Generator com Double Braces
{
  "shippingRegion": {{ SWITCHCASE("Other", EQUALTO(message.countryCode, "US"), "North America", EQUALTO(message.countryCode, "CA"), "North America",EQUALTO(message.countryCode, "EU"), "Europe") }}
}

// Saída (com a propriedade adicionada)
{
  "shippingRegion": "North America"
}

Quando usar cada um: Um guia para decisão

A tabela e as diretrizes abaixo não são regras rígidas, mas sim sugestões para ajudar você a tomar decisões e simplificar o desenvolvimento.

Aspecto
JOLT
Double Braces

Objetivo principal

Reestruturar documentos JSON

Manipular valores de campos individuais e acessar o contexto

Escopo

Estrutura JSON inteira

Valores de campos específicos ou contexto do pipeline

Complexidade

Lida com mudanças estruturais complexas

Lida com lógica granular

Contexto

Foca no payload JSON

Acessa o contexto mais amplo do pipeline Digibee

Uso na Digibee

Etapa de transformação dedicada

Embutido em parâmetros de conectores e cápsulas

Escolha JOLT quando

  • Sua principal tarefa é remodelar a estrutura do JSON (achatar, aninhar, mapear elementos em arrays, entre outros).

  • Precisa renomear e mover um número significativo de campos.

  • Está lidando com estruturas JSON diferentes ou desconhecidas e precisa de transformações dinâmicas com curingas.

  • Precisa transformar arrays de objetos aplicando regras consistentes a cada elemento.

Escolha Double Braces quando

  • Precisa realizar conversões de tipo de dado (formatação de datas).

  • Precisa implementar lógica condicional para atribuir valores com base nos dados.

  • Precisa manipular strings (concatenação, substring).

  • Precisa acessar elementos específicos dentro de arrays ou objetos JSON.

  • Precisa integrar valores dinâmicos com base nos metadados do pipeline.

  • Precisa usar valores armazenados em variáveis de sessão.

Uma observação sobre o JSLT

Considerações finais

Combinar JOLT e Double Braces é um passo fundamental para criar transformações de dados flexíveis e sustentáveis dentro da Digibee Integration Platform. Ao entender os pontos fortes de cada abordagem e saber quando usá-las separadamente ou em conjunto, você pode simplificar sua lógica de transformação, reduzir a complexidade e manter seus pipelines adaptáveis conforme as necessidades mudam.

Para explorar cada operação em detalhes, confira o artigo .

Para explorar mais exemplos do mundo real e casos de uso avançados, confira o artigo .

é a linguagem de expressões da Digibee. Ela foi desenvolvida para o acesso e a manipulação dinâmica de dados dentro da configuração dos conectores e cápsulas da Digibee. Diferente do JOLT, que transforma estruturas JSON inteiras usando especificações separadas, o Double Braces permite referenciar e manipular dados diretamente nos parâmetros da maioria dos conectores da Digibee, como o , o e muitos outros.

Construção dinâmica de JSON com o JSON Generator: O conector é um bom exemplo de como o Double Braces pode ser usado para criar objetos JSON dinamicamente, permitindo:

Transformar dados utilizando várias , como manipulação de strings, lógica condicional, matemática, formatação de datas e mais.

Dica: O é uma alternativa para manipular dados sem alterar a estrutura original do JSON — a menos que você queira remover algo. Ele permite centralizar transformações em um único conector, mantendo os fluxos mais limpos e fáceis de manter.

Embora este artigo foque em JOLT e Double Braces como os principais métodos de transformação disponíveis na Digibee, sinta-se à vontade para explorar o conector , uma linguagem de transformação alternativa com sintaxe semelhante ao JavaScript. Ele permite modificar, extrair, remover, ordenar e acessar dados de conteúdos JSON.

JOLT
Double Braces
Transformer (JOLT)
Conhecendo o JOLT
Transformações com JOLT
Double Braces
JSON Generator
JSON Transformer
JSON Generator (Mock)
funções embutidas do Double Braces
JSON Transformer
JSLT