Olá pessoal,
Estou em uma tarefa que tenho de fazer um requisição a um outro sistema durante a execução de um plugin. A requisição não precisa ser assincrona, mas tenho de passar dois paramentros durante esse Post, (token, cancelamento_id).
Obs: Durante a execução deste plugin vou executar um Post a um WebService http e não https, me falaram que se eu fizer essa ação via ServerSide eu consigo. O código que irei postar abaixo funciona em um aplicação de teste que eu fiz, mas no CRM, parece nem
executar. Mudei alguns dados por segurança, mas o formato da url e o código são orignais.
private async void RequisitarPost()
{
try
{
string url_ = "http://189.112.68.194:8051/integra_crm/cancela_faturamento";
var token = "AAUGXETGHH9QIMHHS8AM";
var formContent = new FormUrlEncodedContent(new[]
{
new KeyValuePair<string, string>("token", token),
new KeyValuePair<string, string>("faturamento_id", "55")
});
var myHttpClient = new HttpClient();
var response = await myHttpClient.PostAsync(url_, formContent);
if (response.StatusCode == HttpStatusCode.OK)
{
throw new InvalidPluginExecutionException("Sucesso!");
}
if (response.StatusCode == HttpStatusCode.InternalServerError)
{
throw new InvalidPluginExecutionException("Não Existe!");
}
var x = response.ReasonPhrase;
throw new InvalidPluginExecutionException("Resposta: " + x.ToString() + " " + response.StatusCode.ToString());
}
catch (Exception e)
{
Console.WriteLine("O Erro: " + e.Message);
}
}