...
- 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
0401. 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.
...
Aviso |
---|
icon | false |
---|
title | Importante: |
---|
|
Marcando a opção "Executa em API(Poco)", somente será permitido executar Fórmulas Visuais em API's construídas no padrão "POCO". API's construídas no padrão "Data Server" não aparecerão para serem usadas nesse modelo. Portanto, Api's no padrão "Data Server" continuam podendo ser usadas no modelo antigo (DataSet). |
0402. COMO CADASTRAR UMA FÓRMULA VISUAL PARA EXECUTAR EM UMA API
...
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.
0503. GATILHOS DISPONIBILIZADOS PARA APIS
...
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.
0405. 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 "name.familyfamilyName". A string será adicionada pela atividade de expressão antes do valor do campo.
Informações |
---|
|
Deck of Cards |
---|
| Card |
---|
| Ao cadastrar uma Fórmula Visual com a opção Executa em API (POCO) habilitada (como mostrado anteriormente) é necessário adicionar os objetos que serão utilizados ao gatilho. Para nosso exemplo, vamos utilizar a API de Usuários (Controller de Usuários) nos gatilhos "Depois de recuperar todos (get)" e "Depois de recuperar (get)".
|
Card |
---|
| Em seguida na estrutura da fórmula, vamos adicionar as atividades "Para Cada Iteração (API)" e "Expression" no Fluxo de Trabalho Sequencial da fórmula, como mostra imagem abaixo: Aviso |
---|
É necessário que seja preenchido o contexto (Controller de Usuário) da fórmula para capturar ou manipular os valores das propriedades da API utilizada. |
|
Card |
---|
| - Configurando a Atividade Para Cada Iteração (API)
Nas propriedades da atividade, clique em Ligações () e selecione o lookup do campo "Lista de Items". Na tela "Editor de Ligações", selecione a seguinte ligação: "RMSWorkflow | [] Fields | _Items". Essa configuração é necessária, por que temos que selecionar o objeto ao qual queremos percorrer. No nosso exemplo, selecionamos o "_items", por que queremos percorrer todos os resultados da API.
Leia mais sobre Atividade Para cada Iteração e Para cada Iteração API |
Card |
---|
| - Configurando a Atividade de Expression
Nas propriedades da atividade, selecione o lookup do campo "Expressões" e adicione a seguinte expressão: "'Teste FV: ' + rmsForEachApiActivity1._Items.Name.FamilyName". Essa expressão irá concatenar a string "Teste FV:" com o campo "familyName" depois de executar o método "GetAll" ou "GetOne" na API.
Em seguida, é necessário configurar o valor calculado, pois é ele quem vai receber a expressão criada acima. Para realizar a configuração, clique em Ligações () e selecione o lookup do campo "Valor Calculado". Na tela "Editor de Ligações", selecione a seguinte ligação: "rmsForEachApiActivity1 | [] Fields | _Items | Name | Formatted | AsString".
|
Card |
---|
| Após realizar todas as configurações necessárias na formula, acessamos o Postman (aplicativo que usamos para realizar testes de APIs), e chamamos o endpoint de usuários. Verifique que ao executar o "GetAll", o campo "familyName" está sendo concatenado corretamente com a string "Teste FV" (condição criada na expressão da formula). Na execução do "GetOne", foi passado como parâmetro o usuário "mestre", verifique que regra também é aplicada corretamente.
|
|
|
...
Informações |
---|
|
Deck of Cards |
---|
| Card |
---|
| Ao cadastrar uma Fórmula Visual com a opção Executa em API (POCO) habilitada (como mostrado anteriormente) é necessário adicionar os objetos que serão utilizados ao gatilho. Para nosso exemplo, vamos utilizar a API de Usuários (Controller de Usuários) no gatilho "Depois do método (post)".
|
Card |
---|
| Em seguida na estrutura da fórmula, vamos adicionar as atividades "Se/Senão" e "Expression" no Fluxo de Trabalho Sequencial da fórmula, como mostra imagem abaixo: Aviso |
---|
É necessário que seja preenchido o contexto (Controller de Usuário) da fórmula para capturar ou manipular os valores das propriedades da API utilizada. |
|
Card |
---|
| - Configurando a Atividade Se/Senão
Nas propriedades da atividade: - Selecione a Condition "Condição de Regra Declarativa";
- Selecione o lookup do campo "ConditionName" e clique em "Novo" para criar uma nova condição;
- Na tela "Editor de Condição de Regra" crie a seguinte condição: this.ApiService.GetViewModelValue("_Items.UserName").ToString() == "Teste_01"
- Ao selecionar a condição criada o campo "Expression" será preenchido automaticamente pela condição criada.
Imagem explicativa abaixo:
|
Card |
---|
| - Configurando a Atividade de Expression
Nas propriedades da atividade, selecione o lookup do campo "Expressões" e adicione a seguinte expressão: "'Teste: ' + RMSWorkflow._Items.ExternalId". Essa expressão irá adicionar a string "Teste:" ao campo "ExternalId" depois de executar o método "Post" na API. (A expressão será aplicada somente se entrar na condição criada anteriormente).. Image Added Em seguida, é necessário configurar o valor calculado, pois é ele quem vai receber a expressão criada acima. Para realizar a configuração, clique em Ligações (Image Added) e selecione o lookup do campo "Valor Calculado". Na tela "Editor de Ligações", selecione a seguinte ligação: "RMSWorkflow| [] Fields | _Items | ExternalId | AsString". Image AddedImage Removed |
Card |
---|
| Após realizar todas as configurações necessárias na formula, acessamos o Postman (aplicativo que usamos para realizar testes de APIs), e chamamos o endpoint de usuários. Verifique que ao executar o "Post", onde o usuário possui o "UserName" = "Teste_01", o campo "externalId" está sendo atualizado corretamente com a string "Teste:" (condição criada na expressão da formula). Aviso |
---|
Quando utilizado o gatilho "Antes do método post (post)" a alteração é salva no banco, quando utilizado o gatilho "Depois do método post (post)" a atualização é feita somente no retorno da API. |
Image Added |
|
|