You are on page 1of 3

21/03/2022 11:28 Untitled-1

1 function executeAPI() {
2
3 //====================================================================================
4 //===================== COLETA INFORMAÇÕES DA PLANILHA ===============================
5 //====================================================================================
6
7 SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Respostas ao formulário 1").ac
8 var sh = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
9 var lrow = sh.getLastRow();
10
11 var fname = sh.getRange(lrow, 2).getValue().trim();
12 var lname = sh.getRange(lrow, 3).getValue().trim();
13 var role = sh.getRange(lrow, 4).getValue();
14 var mail = sh.getRange(lrow, 5).getValue().trim();
15 var solicitante = sh.getRange(lrow, 6).getValue();
16
17 if (mail.indexOf('@empresa.com') < 0) {
18 SpreadsheetApp.getActiveSheet().getRange(lrow, 7).setValue('EMAIL SEM DOMINIO em
19 MailApp.sendEmail({
20 replyTo: "time@empresa.com",
21 to: solicitante,
22 subject: "Criação do SmartRecruiter - Email com domínio inváli
23 htmlBody: "A criação não foi efetuada, pois o usuário " +
24 fname + " " + lname +
25 " está com email sem dominio empresa.com <br>" +
26 mail + "<br>" +
27 "Favor preencher novamente de forma correta"
28 });
29 google.script.run.withSuccessHandler(stopped).stopScript();
30 }
31
32 //====================================================================================
33 //==================== TENTA CRIAR O USUÁRIO =========================================
34 //====================================================================================
35
36 var data = {
37 'email': mail,
38 'firstName': fname,
39 'lastName': lname,
40 'systemRole': {'id': role, 'name': role},
41 'ssoIdentifier': mail,
42 'ssoLoginMode': 'SSO'
43 };
44 var headers = {
45 'accept': 'application/json',
46 'Content-Type': 'application/json',
47 'X-SmartToken': 'CHAVE-API',
48 'payload': data
49 };
50 var res = UrlFetchApp.fetch('https://api.smartrecruiters.com/user-api/v201804/users
51 method: "post",
52 headers: headers,
53 payload: JSON.stringify(data),
54 muteHttpExceptions: true
55 });
56 var respcode_cria = res.getResponseCode();
57
58 if (respcode_cria == 409 ) {
59 SpreadsheetApp.getActiveSheet().getRange(lrow, 7).setValue('USUARIO JA EXISTE');
60
61 var url_reqid ='https://api.smartrecruiters.com/user-api/v201804/users?q=' + mail
localhost:61825 1/3
21/03/2022 11:28 Untitled-1
62 var options = {
63 method: 'get',
64 headers : {'accept': 'application/json',
65 'Content-Type': 'application/json',
66 'X-SmartToken': 'CHAVE-API'},
67 muteHttpExceptions: true
68 };
69 var response = UrlFetchApp.fetch(url_reqid, options);
70 var respcode_id = response.getResponseCode();
71 var json_req_idusr = response.getContentText();
72 var dados = JSON.parse(json_req_idusr);
73 var dados = JSON.stringify(dados["content"][0]);
74
75 SpreadsheetApp.getActiveSheet().getRange(lrow, 8).setValue(dados);
76 MailApp.sendEmail({
77 replyTo: "time@empresa.com",
78 to: solicitante,
79 subject: "Criação do SmartRecruiter - Usuário existe",
80
81 htmlBody: "A criação não foi efetuada, pois o usuário " +
82 fname + " " + lname +
83 " existe na base do SmartRecruiter. Abaixo seguem as informaçõ
+ "<br><br>" +
84 dados + "<br><br>" +
85 "Favor preencher novamente de forma correta"
86 });
87 google.script.run.withSuccessHandler(stopped).stopScript();
88 }
89
90 //====================================================================================
91 //==================== BUSCA O ID NO SR ==============================================
92 //====================================================================================
93
94 var url_reqid ='https://api.smartrecruiters.com/user-api/v201804/users?q=' + mail +
95 var options = {
96 method: 'get',
97 headers : {'accept': 'application/json',
98 'Content-Type': 'application/json',
99 'X-SmartToken': 'CHAVE-API'},
100 muteHttpExceptions: true
101 };
102 var response = UrlFetchApp.fetch(url_reqid, options);
103 var respcode_id = response.getResponseCode();
104 var json_req_idusr = response.getContentText();
105 var dados = JSON.parse(json_req_idusr);
106 var id = dados["content"][0]["id"];
107 var perfil = dados["content"][0];
108
109 //====================================================================================
110 //====================== ATIVA O USUARIO =============================================
111 //====================================================================================
112
113 var url_actv = "https://api.smartrecruiters.com/user-api/v201804/users/" + id + "/ac
114 var options = {
115 method: 'put',
116 headers : {'accept': 'application/json',
117 'Content-Type': 'application/json',
118 'X-SmartToken': 'CHAVE-API'},
119 muteHttpExceptions: true
120 };
121 var response = UrlFetchApp.fetch(url_actv, options);

localhost:61825 2/3
21/03/2022 11:28 Untitled-1
122
123 SpreadsheetApp.getActiveSheet().getRange(lrow, 7).setValue('OK');
124
125 //====================================================================================
126 //===================== COLETA O PERFIL DO USUARIO PARA LOGAR NA PLANILHA ============
127 //====================================================================================
128
129 var url_reqid ='https://api.smartrecruiters.com/user-api/v201804/users?q=' + mail +
130 var options = {
131 method: 'get',
132 headers : {'accept': 'application/json',
133 'Content-Type': 'application/json',
134 'X-SmartToken': 'CHAVE-API'},
135 muteHttpExceptions: true
136 };
137 var response = UrlFetchApp.fetch(url_reqid, options);
138 var respcode_id = response.getResponseCode();
139 var json_req_idusr = response.getContentText();
140 var dados = JSON.parse(json_req_idusr);
141 var perfil = dados["content"][0];
142
143 SpreadsheetApp.getActiveSheet().getRange(lrow, 8).setValue(perfil);
144 }

localhost:61825 3/3

You might also like