CONTEÚDO

  1. Visão Geral
  2. Como cadastrar uma fórmula visual para executar em uma API
  3. Gatilhos disponibilizados para APIs
  4. Seleção e uso do contexto na Fórmula Visual


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

  • Essa customização é permitida apenas em APIs do tipo POCO, não é possível executar a Fórmula Visual em APIs de DataServer.
  • Fórmulas visuais que utilizam o DataServer irão ser aplicadas também nas APIS de DataServer


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.


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.   



<!-- esconder o menu --> 


<style>
div.theme-default .ia-splitter #main {
    margin-left: 0px;
}
.ia-fixed-sidebar, .ia-splitter-left {
    display: none;
}
#main {
    padding-left: 10px;
    padding-right: 10px;
    overflow-x: hidden;
}

.aui-header-primary .aui-nav,  .aui-page-panel {
    margin-left: 0px !important;
}
.aui-header-primary .aui-nav {
    margin-left: 0px !important;
}
</style>