Your Web News in One Place

Help Webnuz

Referal links:

Sign up for GreenGeeks web hosting
January 12, 2023 08:04 pm GMT

Llamando a un flujo de Power Automate desde .NET

En este tutorial aprenderemos a llamar un flujo de Power Automate desde .NET, por medio de un HTTP post. Para este objetivo, utilizaremos un ejemplo para enviar un correo electrnico.

Este es el flujo creado en Power Automate:

Power Automate Flow

Aqu podemos ver el proceso para crearlo: https://www.c-sharpcorner.com/article/run-a-power-automate-flow-with-an-http-request/

1. Implementacin en .NET

En primera instancia, debemos hacer referencia al endpoint de nuestro flujo de Power Automate:

Power Automate endpoint

private string uri = "HTTP POST URL";

Luego podemos definir un mtodo en un servicio por ejemplo para poder llamarlo desde alguna parte de nuestra aplicacin, y este recibir como parmetros el username, toAddress, y el emailSubject. La idea con este mtodo es poder preparar la solicitud para el HTTP post, y que el flujo de Power Automate se pueda desencadenar:

public async Task SendEmailAsync(string username, string toAddress, string emailSubject){    try    {        HttpClient client = new HttpClient();        client.BaseAddress = new Uri(uri);        client.DefaultRequestHeaders.Accept.Clear();        client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));        HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post, client.BaseAddress);        var body = $"{{\"emailAddress\": \"{toAddress}\",\"emailSubject\":\"{emailSubject}\",\"userName\":\"{username}\"}}";        var content = new StringContent(body, Encoding.UTF8, "application/json");        request.Content = content;        var response = await MakeRequestAsync(request, client);        Console.WriteLine(response);    }    catch (Exception e)    {        Console.WriteLine(e.Message);        throw new Exception();    }}

Finalmente, podemos contar con un mtodo adicional para poder realizar el HTTP post request, de acuerdo con la solicitud establecida previamente:

public async Task<string> MakeRequestAsync(HttpRequestMessage getRequest, HttpClient client){    var response = await client.SendAsync(getRequest).ConfigureAwait(false);    var responseString = string.Empty;    try    {        response.EnsureSuccessStatusCode();        responseString = await response.Content.ReadAsStringAsync().ConfigureAwait(false);    }    catch (HttpRequestException)    {        // empty responseString    }    return responseString;}

2. Pruebas con este cdigo en una aplicacin web con ASP.NET.

Para realizar las pruebas, vamos a ver un ejemplo en una aplicacin web desde ASP.NET que llama a este servicio de Power Automate implementado, para cuando un usuario es agregado desde un formulario, y notificado por correo electrnico con este flujo:

await new PowerAutomateService().SendEmailAsync(student.FirstName, student.Email, "Greetings from ASP.NET / DotVVM web application.");

.NET web form

Results in the email

Gracias!

Espero que te haya gustado el artculo. Si tienes alguna pregunta o idea en mente, ser un gusto poder estar en comunicacin e intercambiar conocimientos entre s.

Nos vemos en Twitter / esDanielGomez.com!


Original Link: https://dev.to/esdanielgomez/llamando-a-un-flujo-de-power-automate-desde-net-4o7c

Share this article:    Share on Facebook
View Full Article

Dev To

An online community for sharing and discovering great ideas, having debates, and making friends

More About this Source Visit Dev To