Bom dia! Tudo bem?
Recentemente estou tentando fazer uma requisição Http para uma API da Weni, utilizando HttpRequest Message do .NET em C#, a seguinte documentação foi fornecida para mim como referência:
"
Segue aqui a API:
url>
https://chats-engine.weni.ai/v1/external/list_rooms
headers>
Authorization: Bearer
Params>
search: string
is_active: boolean
O parametro search busca nos campos uuid do contato, nome do contato, email do agente e urn. Recomenda-se que busque pelo uuid do contato para retornar resultados exatos para o contato em questão(se buscar com o nome, ele pode retornar contatos que tenham o mesmo nome)
O parametro is_active vai retornar salas de acordo com o estado(true=aberta, false=fechada )
Token de autenticação para seu projeto: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
"
OBS: Considerem essa sequência de caracteres x como o token, apenas para exemplo;
A forma como testei a API via postman:
A forma como passei minha requisição via código:
[HttpGet]
[Route("Weni")]
//MÉTODO QUE SE COMUNICA COM UMA API TERCEIRA
public async Task<IActionResult> GetAtendimentosWeni()
{
var request = new HttpRequestMessage(HttpMethod.Get, "http://chats-engine.weni.ai/v1/external/list_rooms");
string AuthToken = "Bearer xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
request.Headers.Add("Accept", "application/json");
request.Headers.Add("Authorization", AuthToken);
var Client = new HttpClient();
try
{
var response = await Client.SendAsync(request);
response.EnsureSuccessStatusCode();
string responseBody = await response.Content.ReadAsStringAsync();
return Ok(responseBody);
}
catch(HttpRequestException ex)
{
Console.WriteLine($"Erro na chamada à API: {ex.Message}");
return StatusCode(500, "Erro na chamada à API");
}
}
O endpoint Weni serve como um endpoint intermediário, onde eu requisito para o meu Endpoint “Weni” e ele se responsabiliza de chamar o método GetAtendimentosWeni()
para se comunicar com o endpoint da Weni,
Minha chamada via postman para o meu endpoint “Weni” é:
http://localhost:5265/v1/Integra/Weni
Já tentei utilizar também o HttpClient, mas o erro retornado é genérico: erro 500 indicando que houve problemas ao processar a requisição no lado do servidor, falei com pessoal do suporte porém garantiram a disponibilidade do serviço, ainda não sei se seria minha solução de código que está incorreta em algum ponto ou se o problema se concentra na API em si.