namespace ConsoleApplication3
static string global_user = "servico.bpm@unimedcascavel.coop.br";
static string global_pass = "Prisma@158";
public static async void Main()
string id = "9AB327FEA5E54F0B90BC568FEC369990";
string tk = "8Auw91Ev9vduW2COND6OldwWwVsNxcJS";
string name = "Rafael Fernando De Jesus";
var client = new RestClient("https://hcm-api.senior.com.br/frontend-api/profile?employeeId=" + id);
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer " + tk);
var response = client.Execute(request);
string setor = GetSetor(response.Content.ToString());
client = new RestClient("https://hcm-api.senior.com.br/frontend-api/feedback/all");
request = new RestRequest(Method.GET);
request.AddHeader("authority", "hcm-api.senior.com.br");
request.AddHeader("accept", "application/json, text/plain, */*");
request.AddHeader("referer", "https://hcm.senior.com.br/");
request.AddHeader("accept-language", "pt-BR,pt;q=0.9,en-US;q=0.8,en;q=0.7");
request.AddHeader("Authorization", "Bearer " + tk);
response = client.Execute(request);
dynamic objDyn = JsonConvert.DeserializeObject(response.Content);
for (int i = 0; i < objDyn.sent.Count; ++i)
if (objDyn.sent[i].toName.ToString().ToUpper().Equals(name.ToUpper()))
feedback += string.Format(@"{0} - {1} - {2} <br /><br />", i + 1, objDyn.sent[i].when.ToString(), objDyn.sent[i].message.ToString());
feedback2 += string.Format(@"<div style='margin-top: 20px;margin-bottom: 20px;' class='row col-md-12'>
<div class='col-md-1'><img class='small-thumb margin-right-10' src='{3}' style='width: 100%;border-radius: 100px;'></div>
<div class='col-md-11'>{0} - {1} - {2}</div></div>", i + 1, objDyn.sent[i].when.ToString().Split('T')[0], objDyn.sent[i].message.ToString(), objDyn.sent[i].linkPhotoFrom.ToString());
if (objDyn.received != null)
for (int i = 0; i < objDyn.received.Count; ++i)
if (objDyn.received[i].toName.ToString().ToUpper().Equals(name.ToUpper()))
feedback += string.Format(@"{0} - {1} - {2} <br /><br />", i + 1, objDyn.received[i].when.ToString(), objDyn.received[i].message.ToString());
feedback2 += string.Format(@"<div style='margin-top: 20px;margin-bottom: 20px;' class='row col-md-12'>
<div class='col-md-1'><img class='small-thumb margin-right-10' src='{3}' style='width: 100%;border-radius: 100px;'></div>
<div class='col-md-11'>{0} - {1} - {2}</div></div>", i + 1, objDyn.received[i].when.ToString().Split('T')[0], objDyn.received[i].message.ToString(), objDyn.received[i].linkPhotoFrom.ToString());
client = new RestClient("https://hcm-api.senior.com.br/frontend-api/performance-management/individual-development-goal/" + id + "/pending");
request = new RestRequest(Method.GET);
request.AddHeader("authority", "hcm-api.senior.com.br");
request.AddHeader("sec-fetch-dest", "empty");
request.AddHeader("referer", "https://hcm.senior.com.br/");
request.AddHeader("accept-language", "pt-BR,pt;q=0.9,en-US;q=0.8,en;q=0.7");
request.AddHeader("Authorization", "Bearer " + tk);
response = client.Execute(request);
objDyn = JsonConvert.DeserializeObject(response.Content);
for (int i = 0; i < objDyn.Count; ++i)
Console.WriteLine(objDyn[i].description.ToString());
Console.WriteLine(objDyn[i].successCriteria.ToString());
Console.WriteLine(objDyn[i].endDate.ToString());
Console.WriteLine(objDyn[i].ContainsKey("competency") ? objDyn[i].competency.ToString() : "Sem data");
Console.WriteLine(objDyn[i].percentageOfAchievement.ToString("N2"));
competencia = objDyn[i].ContainsKey("competency") ? objDyn[i].competency.ToString() : "Sem competência";
temp = "DESCRIÇÃO: " + objDyn[i].description.ToString() + "<br />" +
"CRITÉRIOS DE SUCESSO: " + objDyn[i].successCriteria.ToString() + "<br />" +
"DATA FINAL: " + objDyn[i].endDate.ToString() +
" - COMPETÊNCIA: " + competencia +
" - " + objDyn[i].percentageOfAchievement.ToString("N2") + "%<br /><br />";
pdi2 += @"<div style='margin-top: 20px;margin-bottom: 20px;' class='row col-md-12'>
<div class='col-md-4'><canvas id='chart_" + i + @"'></canvas></div>
<div class='col-md-8'>" + temp + @"</div></div>
'Concluído " + Convert.ToInt32(objDyn[i].percentageOfAchievement.ToString().Replace(",", ".")).ToString() + @"%'
data: [" + Convert.ToInt32(objDyn[i].percentageOfAchievement.ToString().Replace(",", ".")).ToString() + @", " +
(100 - Convert.ToInt32(objDyn[i].percentageOfAchievement.ToString().Replace(",", "."))).ToString() + @"],
var ctx = document.getElementById('chart_" + i + @"').getContext('2d');
var myChart = new Chart(ctx, {
Console.WriteLine("----");
Console.WriteLine("------------------------");
client = new RestClient("https://platform.senior.com.br/t/senior.com.br/bridge/1.0/rest/hcm/analytics/queries/employeeObjectOfAnalysis?activeEmployeeId=" + id);
request = new RestRequest(Method.POST);
request.AddHeader("authority", "platform.senior.com.br");
request.AddHeader("accept", "application/json, text/plain, */*");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "bearer " + tk);
request.AddHeader("sec-ch-ua-mobile", "?0");
request.AddHeader("sec-ch-ua-platform", "\"Windows\"");
request.AddHeader("origin", "https://platform.senior.com.br");
request.AddHeader("sec-fetch-site", "same-origin");
request.AddHeader("sec-fetch-mode", "cors");
request.AddHeader("sec-fetch-dest", "empty");
request.AddHeader("referer", "https://platform.senior.com.br/gestao-pessoas/hcm/analytics/");
request.AddHeader("accept-language", "pt-BR,pt;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6");
var body = @"{""employeeId"":""" + id + @""",""activeEmployeeId"":""" + id + @"""}";
request.AddParameter("application/json", body, ParameterType.RequestBody);
response = client.Execute(request);
objDyn = JsonConvert.DeserializeObject(response.Content);
gestor = objDyn.result.leaderUsername.ToString();
Console.WriteLine("Gestor 1");
Console.WriteLine(gestor);
Console.WriteLine("------------------------");
client = new RestClient("https://platform.senior.com.br/t/senior.com.br/bridge/1.0/rest/platform/user/queries/listUsers");
request = new RestRequest(Method.POST);
request.AddHeader("authority", "platform.senior.com.br");
request.AddHeader("accept", "application/json, text/plain, */*");
request.AddHeader("content-type", "application/json;charset=UTF-8");
request.AddHeader("authorization", "bearer " + PegaToken());
request.AddHeader("sec-ch-ua-mobile", "?0");
request.AddHeader("origin", "https://platform.senior.com.br");
request.AddHeader("referer", "https://platform.senior.com.br/usuarios-frontend/?timestamp=1636557615526/");
request.AddHeader("accept-language", "pt-BR,pt;q=0.9,en-US;q=0.8,en;q=0.7");
request.AddParameter("application/json;charset=UTF-8", @"{""searchTerm"":""" + gestor.Replace(".", " ") + @"""}", ParameterType.RequestBody);
response = client.Execute(request);
objDyn = JsonConvert.DeserializeObject(response.Content);
gestor = objDyn.users[0].username.ToString();
Console.WriteLine("Gestor 2");
Console.WriteLine(gestor);
Console.WriteLine("------------------------");
Console.Write("" + setor + "\n --- \n" + feedback + "\n --- \n" + pdi + "\n --- \n" + feedback2 + "\n --- \n" + pdi2 + "\n --- \n" + gestor);
public static string GetSetor(string s)
dynamic dynObj = JsonConvert.DeserializeObject(s);
return dynObj.contracts[0].departament.Value;
private static string PegaToken()
var client = new RestClient("https://api.senior.com.br/platform/authentication/actions/login");
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\"username\": \"" + global_user + "\", \"password\": \"" + global_pass + "\"}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
dynamic dynObj = JsonConvert.DeserializeObject(response.Content);
dynObj = JsonConvert.DeserializeObject(dynObj.jsonToken.Value);
return dynObj.access_token.Value.ToString();