MENU
    Como formatar as saídas do conector HTTP
    • 23 Jan 2025
    • 5 Minutos para Ler
    • Contribuintes

    Como formatar as saídas do conector HTTP


    Resumo do artigo

    Saiba como estruturar as saídas do conector HTTP.

    Visão geral

    O editor de funções de conector no Tulip permite estruturar os dados retornados pelas funções de conector para que sejam úteis e utilizáveis em seus aplicativos. Neste artigo, abordaremos os conceitos básicos de formatação de funções de conector Outputs, apresentando a você:

    • O conceito de "Saída" de um conector
    • Ferramentas disponíveis para formatação de saídas
    • Vários formatos de saída comuns

    O que são saídas?

    As saídas são usadas para definir e estruturar os resultados de retorno da função de conector. É por meio delas que você extrai as informações importantes para seus aplicativos de um corpo de retorno HTTP maior.

    Testing Outputs.gif

    Como estruturar as saídas

    Localize a seção Outputs (Saídas) no canto inferior esquerdo do Connector Function Editor.

    Outputs3.png

    Para começar a adicionar saídas, clique em Add Function Outputs (Adicionar saídas de função).

    É uma boa prática nomear suas saídas com um rótulo que possa ser identificado. Esses nomes aparecem como variáveis nos aplicativos, portanto, é importante poder distingui-los.

    Screenshot 2023-03-23 at 9.57.16 AM.png

    Para entender os resultados de uma solicitação HTTP, é importante entender primeiro a forma de um objeto retornado nos resultados do teste. O diagrama abaixo ilustra como os resultados são divididos em seções de Objetos e Matrizes.

    Object Anatomy Diagram.png

    NOTE

    If you haven’t worked with JSON before, you may be unfamiliar with two critical datatypes, objects and arrays. Arrays are lists of values of the same type. For example, [1,2,3,5], or [oak, elm, alder, hickory]. Values in arrays are contained within square brackets, [ ]. Objects are a datatype for holding key:value pairs. The key:value pairs within an object can be of multiple different types, including arrays and nested objects. Objects are contained with curly brackets, { }.

    Para obter mais informações sobre objetos e matrizes, consulte Entendendo matrizes e objetos nas saídas de função do conector.

    Notação de pontos

    Para conectores HTTP, as saídas usam um formato chamado Dot Notation. A notação de ponto permite acessar valores dentro de um objeto. A notação de ponto é útil para extrair apenas o que você precisa de um grande corpo de resposta JSON e oferece mais flexibilidade na formatação das funções do conector HTTP. Simplificando: é um formato estruturado com base em valores que são aninhados uns nos outros.

    Vamos detalhar como a notação de ponto é usada nas saídas do conector com um exemplo.

    O objeto de exemplo a seguir, chamado "employees", contém uma matriz de objetos com detalhes sobre cada funcionário. Se quisermos acessar apenas o título de cada funcionário, usaremos a sintaxe: employees.title. Estamos usando um Dot para acessar os valores associados às chaves nas quais estamos interessados. Digamos que desejássemos obter apenas o primeiro resultado. Especificaríamos isso adicionando a posição do índice entre o nome do objeto principal, "employees", e o valor no qual estamos interessados, "title". A sintaxe seria semelhante a: employees.0.title. Para objetos mais complexos, talvez seja necessário ir além do objeto para obter as informações desejadas.

    Outputs Ex2.png

    Vamos dar um passo adiante com outro exemplo. Nesse caso, digamos que estejamos interessados em criar uma função de conector para extrair informações associadas a artigos na Knowledge Base. Nosso conector retorna o seguinte objeto JSON de nome "data" que contém dados sobre um determinado artigo:

    Test Results Article Ex.png

    Se quisermos extrair apenas, por exemplo, o ID, o título, a versão e se o artigo está oculto ou não. Precisaríamos especificar isso usando saídas. Vamos demonstrar como a notação de ponto aparece na seção de saídas do editor:

    Outputs to Test Results Annotated.png

    Para extrair resultados como "id" e "title", precisamos especificar onde esses resultados estão no JSON. O corpo da saída é "data", correspondente ao primeiro menu suspenso na seção Resultados do teste. Cada resultado no menu suspenso "data" está aninhado nesse objeto. Na seção Outputs (Saídas ), um ponto significa ir uma camada além do objeto "data".

    NOTE

    It doesn’t matter whether the dot is placed in the body, or in front of individual properties, so long as there is a dot separating each layer of the JSON.

    Outputs to Test Results2.png

    Quando clicamos na guia Outputs (Saídas ) na seção Test Results (Resultados do teste), as saídas filtram o restante dos dados para que vejamos apenas as informações que nos interessam.

    Outra maneira de escrever seus resultados é em uma única linha. Isso mostra o caminho completo em uma consulta.

    Outputs Single Line.png

    Para facilitar a escrita do caminho de saída, você também pode clicar em uma linha de dados para adicioná-la como uma nova saída.

    Create Output Path.gif

    Para obter mais informações sobre o uso da notação de pontos, consulte este recurso: Processmaker: Notação de pontos JSON.

    Resultados de saída

    Há várias maneiras de estruturar as saídas, mas a forma de fazê-lo depende inteiramente do que você deseja fazer com os dados em seus aplicativos. Antes de começar a estruturar as saídas, pense em seu objetivo final. Você deseja exibir vários tipos de dados em variáveis individuais? Ou você tem os mesmos tipos de dados em uma matriz que deseja simplesmente analisar para obter informações relevantes?

    Os exemplos a seguir são todos baseados na mesma função de conector e, em cada caso, o corpo dos resultados do teste é o mesmo. Os resultados, entretanto, variam de acordo com a forma como são estruturados.

    O exemplo a seguir mostra como as saídas do conector para o caminho JSON data.hits.slug. Da forma como essa saída está estruturada, o conector retorna uma grande matriz de todos os slugs de URL para artigos da Base de Conhecimento. Em nossos aplicativos, esse retorno do conector poderá ser acessado em uma variável de matriz.

    Output 3x540 v2.png

    Podemos estruturar as saídas como uma lista de objetos e extrair tipos de dados individuais dos resultados, criando vários objetos de dados que podem ser visíveis individualmente nos aplicativos.

    Output 540x3.png

    As listas de objetos são objetos que contêm vários tipos de dados aninhados dentro delas. Use listas de objetos clicando no tipo de saída e alternando o botão List (Lista) no canto direito.

    Outputs Lists Toggle.gif

    Quando você tem uma lista de objetos, pode usar facilmente diferentes tipos de dados como partes individuais de dados em seus aplicativos.

    Se voltarmos ao exemplo acima, vamos transformar nosso caminho de saída data.hits.slug em uma lista. Você pode ver nos resultados abaixo que a Tulip está estruturando esse retorno do conector como uma matriz de slugs, com cada posição de índice listada ao lado de cada valor.

    Test Results as Slugs.png

    Com esse entendimento das saídas em mente, agora você pode mapear as saídas para suas próprias funções de conector e otimizar os resultados retornados de seus conectores!

    Leitura adicional


    Encontrou o que estava procurando?

    Você também pode ir para community.tulip.co para postar sua pergunta ou ver se outras pessoas tiveram uma pergunta semelhante!


    Este artigo foi útil?