A API ChaveAcessoEmail é utilizada para se obter a Chave de Acesso através de uma ApiKey de um usuário com acesso ao NimbusERP/DashboardERP através do E-mail.


O usuário que realizar acesso ao NimbusERP ou DashboardERP através do E-mail, no menu inicial ele consegue visualizar sua ApiKey, essa ApiKey é utilizada para realizar a integração com nossas aplicações. 


Realizando a chamada na API ChaveAcessoEmail passando como parâmetro a ApiKey do usuário e qual aplicativo deseja acessar ERP/DASHBOARD.


No retorno, se obtêm uma chave de acesso sendo única e exclusiva para aquele acesso. Se por ventura o link gerado venha a ser compartilhado, o acesso não funcionará, será preciso realizar uma nova chamada a API ChaveAcessoEmail.


Através deste Link é possível se obter a chamada GET a API -> Api-ChaveAcessoEmail



O Objeto de retorno é a classe ChaveAcessoEmail com uma propriedade string, conforme script abaixo:


public class ChaveAcessoEmail
{
      public string ChaveAcesso { get; set; }
}


Exemplo em C# da chamada a Api ChaveAcessoEmail:


HttpClient client = new HttpClient();

client.BaseAddress = new Uri("http://40.117.98.55/apiWW/");
client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));

//Chamando a api pela url
System.Net.Http.HttpResponseMessage response = client.GetAsync("api/ChaveAcessoEmail?apiKey={apiKeyUsuario}&aplicativo={ERP/Dashboard}").Result;

//Verifica se o retorno da chamada foi um sucesso
if (response.IsSuccessStatusCode)
{                     
  //Pegando os dados do Rest e armazenando na variável
  string retorno = response.Content.ReadAsStringAsync().Result;

  //use JavaScriptSerializer para Serializar o Retorno na Classe ChaveAcessoEmail
  JavaScriptSerializer JSserializer = new JavaScriptSerializer();
  ChaveAcessoEmail chaveAcessoEmail = JSserializer.Deserialize<ChaveAcessoEmail>(retorno);

  //Redireciona para o aplicativo ERP ou Dashboard [de acordo com o parametro [aplicativo]
  Response.Redirect(chaveAcessoEmail.ChaveAcesso);
}         
//Se der erro na chamada, mostra o status do código de erro.
else
{
  Response.Write(response.StatusCode.ToString() + " - " + response.ReasonPhrase);
}