Untitled

mail@pastecode.io avatar
unknown
plain_text
2 years ago
2.6 kB
4
Indexable
Never
if(ownerRole = "CEO")
	{
		detailsUser = list();
		usuarios = zoho.crm.getRecords("users");
		info usuarios;
		for each  u in usuarios.get("users")
		{
			if(u.get("role").get("name") == "SDR")
			{
				detailsUser.add(u);
			}
		}
		//detailsUser = zoho.crm.searchRecords("users","role:equals:SDR).get("users");
		info "Uusários:" + detailsUser;
		userSize = detailsUser.size();
		info "Registros Encontrados: " + userSize;
		////// FUNÇÃO QUE CONTROLA A VARIAVEL DE AMBIENTE DO RODIZIO DE SDR
		rodizio = 0;
		// variavel que pegará o index dos SDRs, atualmente pode ser apenas 0 e 1 por haver apenas dois SDRs disponíveis
		//
		getEnvRodizio = invokeurl
		[
			url :"https://www.zohoapis.com/crm/v3/settings/variables"
			type :GET
			connection:"fullcrm"
		];
		//
		for each  e in getEnvRodizio.get("variables")
		{
			if(e.get("api_name") == "rodizio_sdr" && e.get("value").isNumber())
			{
				turn = e.get("value");
				if(turn == 0 || turn == 1)
				{
					rodizio = turn;
					info "O disparo será para o SDR na posição: " + turn;
					newVal = 0;
					if(turn == 0)
					{
						newVal = 1;
					}
					//
					updateEnvMap = {"variables":{{"id":e.get("id"),"value":newVal}}};
					//
					updateEnv = invokeurl
					[
						url :"https://www.zohoapis.com/crm/v2/settings/variables/" + e.get("id")
						type :PUT
						parameters:updateEnvMap.toString()
						connection:"fullcrm"
					];
					//
					if(updateEnv.get("variables").get(0).get("code").toLowerCase() == "success")
					{
						info "Atualizada a fila de SDR";
						//
					}
					else
					{
						info "Erro ao atualizar a fila de SDR, usando a posição 0 " + updateEnv;
					}
					//			
				}
				else
				{
					info "Turn inválido encontrado: " + turn + ", usando a posição 0";
				}
			}
		}
		////// FUNÇÃO QUE CONTROLA A VARIAVEL DE AMBIENTE DO RODIZIO DE SDR
		ownerID = detailsUser.get(rodizio).get("id");
		ownerName = detailsUser.get(rodizio).get("full_name");
		/////
		info "Nome: " + ownerName + " | " + "ID: " + ownerID;
		mp = Map();
		mp.put("Owner",ownerID);
		/*Controle de Notificação*/
		mp.put("Notifica_Propriet_rio",true);
		update = zoho.crm.updateRecord("Leads",id,mp,{"trigger":{"workflow"}});
		info update;
		tasks = zoho.crm.getRelatedRecords("Tasks","Leads",id);
		for each  t in tasks
		{
			taskID = t.get("id");
			info "Tarefa Atualizada: " + zoho.crm.updateRecord("Tasks",taskID,{"Owner":ownerID});
		}
	}
	else
	{
		info "SDR já atribuido! Sem ação necessária";
	}