Upadte field using validation rule function
Hi, i am trying to format phone field using validation rule, code works in workflow rule (tested), but i need to make this work inside validation rule function, since i already have tons of automation on workflow rule, and i would have problems if this automation run there..
My main problem, is that i dont know how to get DealID in validation rule, in workflow rule, we have "edit arguments" for that.. But in validation rule, we dont have it.. And i need dealID to update field.
see that line:
- dealId = entityMap.get("id");
This will not work, as it is not returned by crmAPIRequest
Se my code:
- entityMap = crmAPIRequest.toMap().get("record");
- decisor = entityMap.get("Whatsapp_Decisor");
- dealId = entityMap.get("id");
- responseMap = Map();
- // Remover todos os caracteres não numéricos do número de telefone
- whatsappformatado = decisor.replaceAll("[^0-9]","");
- // Verificar o comprimento do número
- length = whatsappformatado.length();
- // Verificar se o número tem 10 ou 11 dígitos e começa com "55"
- if(length == 10 && whatsappformatado.startsWith("55"))
- {
- // Adicionar "+55" e retornar o número formatado
- whatsappformatado = "+55" + whatsappformatado;
- }
- else if(length == 11 && whatsappformatado.startsWith("55"))
- {
- // Adicionar "+55" e retornar o número formatado
- whatsappformatado = "+55" + whatsappformatado;
- }
- else if(length >= 12 && length <= 13 && whatsappformatado.startsWith("55"))
- {
- // Remover o "55" extra e adicionar "+55" e retornar o número formatado
- whatsappformatado = "+55" + whatsappformatado.substring(2);
- }
- else
- {
- // Se não corresponder a nenhum padrão, assumir que é um número local e adicionar o código do país
- whatsappformatado = "+55" + whatsappformatado;
- }
- // Iniciar a criação do mapa
- mapUpdate = Map();
- // Definir o valor do campo "Whatsapp_Decisor" no mapa
- mapUpdate.put("Whatsapp_Decisor",whatsappformatado);
- // Atualizar o registro no Zoho CRM com o novo valor
- response = zoho.crm.updateRecord("Deals",dealId,mapUpdate);
- // Exibir a resposta da atualização e o número de telefone formatado
- responseMap.put("response",response);
- responseMap.put("whatsappformatado",whatsappformatado);
- return responseMap;
How to solve it? Anyone knows?
Thanks