CONTEÚDO
- Visão Geral
- Como cadastrar uma fórmula visual para executar em uma API
- Gatilhos disponibilizados para APIs
- Seleção e uso do contexto na Fórmula Visual
- Exemplos de Utilização
01. VISÃO GERAL
A partir da versão 12.1.29 é possível customizar APIs através de Formulas Visuais. Foram criados gatilhos específicos para esse tipo de FV, que mostraremos a seguir.
Leia mais sobre as APIs disponibilizadas pelo host.
Leia mais sobre Atividades de Fórmula Visual.
02. COMO CADASTRAR UMA FÓRMULA VISUAL PARA EXECUTAR EM UMA API
A Fórmula Visual deve estar cadastrada com a opção "Executa em API (POCO)" habilitada, conforme exibido na imagem abaixo.
Ao marcar a opção "Executa em API (POCO)", automaticamente o campo "Visível para todas as coligadas" será habilitado e não é possível desmarcá-lo.
Lembre-se: Após salvar uma Fórmula Visual como executável em API não é possível desmarcar e vice-versa.
Após salvar, será disponibilizada uma aba para configurar os Gatilhos da Fórmula Visual. Ao configurar um gatilho o sistema passa a executar a Fórmula Visual quando a API configurada é executada.
03. GATILHOS DISPONIBILIZADOS PARA APIS
Com os gatilhos disponibilizados, a Fórmula Visual pode ser executada antes ou depois dos dos métodos da API, como Get, Post, Put, Patch ou Delete.
Abaixo estão todos os gatilhos para API:
Os gatilhos Antes/Depois de recuperar todos (get) correspondem ao GetAll e os gatilhos Antes/Depois de recuperar (Get), correspondem ao GetOne.
Utilizando os gatilhos Antes de algum dos métodos, a Fórmula Visual será executada antes de chamar a execução do endpoint.
Utilizando os gatilhos Depois de algum dos métodos, a Fórmula Visual será executada depois de chamar a execução do endpoint.
04. SELEÇÃO E USO DO CONTEXTO NA FÓRMULA VISUAL
É possível selecionar como contexto em uma Fórmula Visual de API, um controller de API (POCO).
Utilizando esse contexto, pode-se, por exemplo, selecionar campos da API retornada para capturar ou manipular os valores das propriedades.
Veja no exemplo abaixo, uma Fórmula Visual onde foi selecionado o contexto da API de usuários (Controller de usuários) para que seja gerada uma exceção com o valor do campo userName.
- Primeiro: Selecionar o contexto para a Fórmula Visual:
- Segundo: Adicionar a atividade de Gerar exceção, clicar em Ligações, na propriedade "Mensagem de Erro", clicar em reticências.
Será exibido o Editor de Ligações, ao expandir a propriedade "Fields", serão listados todos os campos da API que podem ser usados no contexto. Basta selecionar um campo/valor desejado. No exemplo abaixo será a propriedade userName.
Obs.: As propriedades das APIs serão sempre listadas abaixo da hierarquia de _Items.
- Terceiro: Adicionar um gatilho para essa Fórmula Visual.
Importante: Os valores de contexto estarão disponíveis no sistema depois que a requisição da API for feita. Então, para usar o contexto com valores, é necessário utilizar gatilhos de Depois dos métodos.
Isso porque se forem usados gatilhos de antes, o sistema ainda não terá executado o endpoint e não terá os valores das propriedades.
- Quarto: Adicionar um gatilho para a Fórmula Visual. Neste exemplo, adicionamos o gatilho "Depois de recuperar (Get)".
No Postman, aplicativo que usamos para realizar testes de APIs, chamamos o endpoint de usuários, buscando o usuário mestre.
Veja que o retorno foi uma exceção, contendo na mensagem o valor do campo userName (do contexto) e o nome da Fórmula Visual.
Com a Fórmula Visual é possível fazer inúmeras implementações, como disparar um e-mail sempre que algum usuário for deletado, alterado ou criado, por exemplo. Alterar o valor de uma propriedade específica da API antes de incluir o registro no banco, criar condições e comportamentos diferentes para determinados registros, entre outros.
05. EXEMPLOS DE UTILIZAÇÃO
No primeiro exemplo, vamos utilizar as atividade de "Foreach" e "Expression" para percorrer os resultados da API (Controller de Usuários), e concatenar uma string qualquer a propriedade "familyName". A string será adicionada pela atividade de expressão antes do valor do campo.
No segundo exemplo, vamos utilizar as atividades de "Se/Senão" e "Expression" para criar uma condição, que será executada somente se o "UserName" de um usuário for "Teste_01" Depois de executar o método "POST" ( no postman aplicativo que usamos para realizar testes de APIs) na API de Usuário.