Integração de sistemas legados com Power Automate
Os sistemas legados frequentemente formam a base de muitas organizações, mas integrá-los com fluxos de trabalho modernos pode ser um…
Hoje um conector premium. O gatilho “Quando uma solicitação HTTP é recebida” é especial porque nos permite ter o Power Automate como um serviço. O que quero dizer com isso é que você pode ter fluxos chamados fora do Power Automate e, como está usando padrões, podemos usar muitas ferramentas para fazer isso.
Então, vamos explorar o gatilho “Quando uma solicitação HTTP é recebida” e ver o que podemos fazer com ele.
Para encontrá-lo, você pode procurar por “Quando uma solicitação HTTP é recebida”. Se parece com isso:
Para utilizá-lo, temos que definir o JSON Schema. Entro em muitos detalhes no artigo “O que é um esquema JSON”, mas você precisa entender que o gatilho espera que um JSON seja fornecido com todos os parâmetros. JSON pode ser bastante complexo, então recomendo o seguinte. Use o “Usar carga útil de amostra para gerar o esquema” para ajudá-lo a fazer isso.
Aqui estão alguns exemplos para você começar. Nesse caso, forneceremos uma string, um inteiro e um booleano.
{ “parameter1″:”string parameter”, “parameter2”:1, “parameter3”:false }Copie-o para “Usar carga útil de amostra para gerar esquema”.
Ele irá gerar o seguinte:
{ “type”: “object”, “properties”: { “parameter1”: { “type”: “string” }, “parameter2”: { “type”: “integer” }, “parameter3”: { “type”: “boolean” } }As propriedades precisam ter o nome que você deseja chamá-las. Por exemplo, chamarei “parâmetro1” quando quiser a string. Mas o valor não precisa fazer sentido. O Power Automate examinará o tipo de valor e não o conteúdo.
Vejamos outro. Nesse caso, esperamos vários valores dos itens anteriores. Precisamos fornecer uma matriz com dois ou mais objetos para que o Power Automate saiba que é uma matriz. Aqui está um exemplo:
[ { “parameter1″:”string parameter”, “parameter2”:1, “parameter3”:false }, { “parameter1″:”string parameter”, “parameter2”:1, “parameter3”:false } ]Nós temos:
{ “type”: “array”, “items”: { “type”: “object”, “properties”: { “parameter1”: { “type”: “string” }, “parameter2”: { “type”: “integer” }, “parameter3”: { “type”: “boolean” } }, “required”: [ “parameter1”, “parameter2”, “parameter3” ] } }Observe que as propriedades são as mesmas em ambas as linhas da matriz. Se você torná-los diferentes, assim:
[ { “parameter1″:”string parameter”, “parameter2”:1, “parameter3”:false }, { “parameter4″:”string parameter”, “parameter5”:1, “parameter6”:false } ]Você obterá o seguinte:
{ “type”: “array”, “items”: { “type”: “object”, “properties”: { “parameter1”: { “type”: “string” }, “parameter2”: { “type”: “integer” }, “parameter3”: { “type”: “boolean” }, “parameter4”: { “type”: “string” }, “parameter5”: { “type”: “integer” }, “parameter6”: { “type”: “boolean” } }, “required”: [] } }Como as propriedades são diferentes, nenhuma delas é necessária.
Existem várias maneiras de acionar o Flow, inclusive online.
Lembre-se de que a URL do Flow não deve ser pública. Qualquer pessoa com o URL do Flow pode acioná-lo, portanto, mantenha as coisas privadas e seguras.
Para testar, usaremos o aplicativo iOS Shortcuts para mostrar que é possível até no celular. Forneceremos o seguinte JSON:
{ “parameter1″:”string parameter”, “parameter2”:1, “parameter3”:false }Aqui está o modelo.
Entramos no Power Automate:
Atalhos fazem muito trabalho para nós, então vamos tentar que o Postman tenha uma solicitação “bruta”.
Tudo certo.
Se você notar na parte superior do gatilho, verá que ele menciona “POST”.
“POST” é um tipo de pedido, mas existem outros. Não vou entrar em muitos detalhes aqui, mas se você quiser ler mais sobre isso, aqui está um bom artigo que explica tudo com base na especificação.
O Power Automate permite que você use um fluxo com um gatilho “Quando uma solicitação HTTP é recebida” como um fluxo filho. Então, você pode chamá-lo e ele até reconhecerá os parâmetros.
Funciona da mesma forma que o gatilho “Acionar manualmente um fluxo”, mas você precisa incluir no final do fluxo filho uma ação “Responder a um PowerApp ou fluxo” ou uma ação “Resposta” para que o pai saiba quando o filho O fluxo terminou.
A trigger retorna as informações que definimos no JSON Schema. Assim, para os exemplos acima, obtemos o seguinte:
{ “headers”: { “Connection”: “keep-alive”, “Accept”: “*/*”, “Accept-Encoding”: “br,gzip,deflate”, “Host”: “prod.westeurope.logic.azure.com:443”, “User-Agent”: “PostmanRuntime/7.28.4”, “Postman-Token”: “2b636af8-62a5-4ff7-b160-cb06ad59f510”, “Content-Length”: “80”, “Content-Type”: “application/json” }, “body”: { “parameter1”: “string parameter”, “parameter2”: 1, “parameter3”: false } }Como o gatilho “Quando uma solicitação HTTP é recebida” pode aceitar qualquer coisa no formato JSON, precisamos definir o que esperamos com o Schema. Qualquer outra coisa não será tomada porque não é o que precisamos para prosseguir.
Para alguns, é um problema não haver autenticação para o Flow. No entanto, se alguém tiver o URL do Flow, poderá executá-lo, pois a Microsoft confia que você não divulgará o URL completo.
Aqui está um exemplo de URL (os valores são aleatórios, é claro).
https://prod-121.westeurope.logic.azure.com:443/workflows/1a0340b17abc499a9a16c1779fe5c749/triggers/manual/paths/invoke?api-version=2016-06-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig= nyDHvV9Y5PKteCu4xAQVlixGtvXhalZ80Ti3Yz1BF4V5rpqWl8uUYn8VcwRzPortanto, mantenha seus fluxos privados e seguros.
Aqui estão algumas coisas para manter na mente.
Não há grande necessidade de gerar o esquema manualmente. É complicado e você pode cometer erros. Em vez disso, sempre forneça um JSON e deixe o Power Automate gerar o esquema. É muito mais fácil gerar um JSON com o que você precisa.
O nome é super importante, pois podemos obter o gatilho de qualquer lugar e com qualquer coisa. Sempre construa o nome para que outras pessoas possam entender o que você está usando sem abrir a ação e verificar os detalhes.
Adicionar um comentário também ajudará a evitar erros. Indique suas expectativas, por que o Flow deve ser acionado e os dados usados. Novamente, é essencial habilitar uma depuração mais rápida quando algo der errado.
Entre em contato ainda hoje e veja como nossos especialistas Power Automate podem ajudar o seu negócio.
Os sistemas legados frequentemente formam a base de muitas organizações, mas integrá-los com fluxos de trabalho modernos pode ser um…
Sistemas legados, embora tenham sido essenciais no passado, frequentemente se tornam barreiras para o crescimento e a eficiência à medida…
O Microsoft Purview é uma solução robusta para governança, conformidade e gestão de dados. Quando integrado ao SharePoint, ajuda as…