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);
}