Programar funções personalizadas

A linguagemDeluge ou Data Enriched para o Universal Grid Environment é uma linguagem de scripts on-line integrada ao Zoho Creator. Ela ajuda você a adicionar diferentes tipos de lógica de negócios à função personalizada e a torná-la mais eficiente. A camada de banco de dados inteira é abstraída, e você só mapeará os argumentos com os campos durante a criação dos scripts no Deluge. Consulte também Deluge Script – Guia de Referência

Público-alvo

  • Usuários do CRM com permissões de Gerenciar fluxo de trabalho
  • Programadores com conhecimento de Deluge Script

Disponibilidade

Permissão de perfil necessária: usuários com as permissões de Gerenciar fluxo de trabalho podem acessar este recurso.

 

Programar funções personalizadas

A programação de funções personalizadas por meio do Deluge Script inclui as três etapas a seguir:

  • Programar uma função personalizada.
  • Associar uma função personalizada a uma regra de fluxo de trabalho.
  • Testar a integração da função personalizada.

Para programar uma função personalizada

  1. Vá para Configuração > Automação > Ações > Função Personalizada.
  2. Na página Funções Personalizadas do Fluxo de Trabalho, clique em Configurar Função Personalizada.
  3. Na página Configurar Função Personalizada, clique no link Escrever sua própria função.
    Write your Custom Function
  4. Na página Funções Personalizadas, faça o seguinte:
    • Especifique o nome e a descrição da função.
    • Escolha o módulo a ser associado com a função e clique no link Editar Argumentos.
      Custom Function
    • Agora, mapeie o argumento com o nome do campo ou com o valor personalizado no módulo do CRM.
      Custom Function
    • Clique em Concluído.
  5. Escreva a função no Deluge Script Editor. Clique em Salvar e Executar Script para validar o código.
    Write your Deluge Script
    Se não houver erros, o script está pronto para ser associado à Regra de fluxo de trabalho.
  6. Clique em Salvar.

Para associar a função personalizada a uma regra de fluxo de trabalho

  1. Vá para Configuração > Automação > Regras de Fluxo de Trabalho.
  2. Na página Regras de Fluxo de Trabalho , clique em Criar Regra.
  3. Na guia Criar Nova Regra, especifique os parâmetros da regra de fluxo de trabalho.
  4. Selecione Função Personalizada em Ações Instantâneas.
  5. Agora, selecione a função personalizada que deve ser acionada.
  6. Clique em Salvar.

Para testar a integração da função personalizada

  1. Adicione dados de teste ao CRM de acordo com os critérios da sua regra de fluxo de trabalho.
  2. No seu aplicativo, verifique se dados foram recebidos do Zoho CRM por meio da função personalizada.
  3. Se houver um erro ou incompatibilidade de dados, modifique o código da função personalizada no Zoho CRM.
  4. Continue testando até obter os dados necessários do Zoho CRM para o seu aplicativo.

Notas importantes

  • Você pode associar até 6 (1 ação instantânea e 5 ações baseadas em tempo) funções personalizadas por regra de fluxo de trabalho.
  • Você pode transferir dados para até 10 campos de CRM do Zoho CRM para aplicativos de terceiros usando a função personalizada.
  • Você pode recuperar dados de outros aplicativos para o Zoho CRM usando a função personalizada.
  • Você deve atualizar o tíquete API regularmente de acordo com os limites presentes nos aplicativos de terceiros.
  • Você não receberá nenhuma notificação por e-mail se a integração da função personalizada parar de funcionar devido a qualquer problema em uma API de terceiros.
  • Se houver alguma falha no processo, a função personalizada enviará uma notificação primeiro, o sistema Zoho CRM enviará uma segunda notificação depois de 15 minutos. Depois disso, o sistema não enviará notificações para esse acionador de fluxo de trabalho específico.
  • Se você exceder a contagem máxima diária, o sistema não enviará notificações de função personalizada restantes a aplicativos de terceiros, e notificará a falha ao Administrador. 
  • O Zoho CRM enviará os dados no seguinte formato padrão para os campos Data e Data e Hora para aplicativos de terceiros:
    • Data: aaaa-MM-dd
    • Data e Hora: aaaa-MM-dd hh:mm

Entender o Deluge Script Builder

O Deluge Script Builder ajuda você a programar as funções personalizadas usando a interface do usuário arrastar e soltar, e a executar a função dentro do CRM. Ele permite que você converta a complexa lógica do aplicativo em um simples código do Deluge, sem precisar lembrar a sintaxe e as funções do Deluge Script. Ele contém os seguintes componentes:

  • Código de script do Deluge
  • Tarefas do Deluge
    • Condições
    • Diversos
    • Depuração
    • Manipulação de lista
    • Manipulação de mapa
    • Dados da Web
    • Manipulação de XML
  • Execução de código

Write your Custom Function

Lista de tarefas do Deluge

Exemplo

Cenário comercial: rolar o campo de valor para a conta pai quando o status do cliente em potencial for "negócio fechado"

Resumo

Rolar o valor de cada cliente em potencial (status é negócio fechado) para Receita Total (campo personalizado) da Conta relacionada. Se o cliente comprar 10 vezes, você poderá ver a receita total na página Conta, em vez de puxar um relatório vinculando Clientes Potenciais e Contas. Com base na receita do cliente, você pode classificá-los posteriormente como clientes tipo A, tipo B e tipo C.

Programar etapas

void workflowspace.Rollup_the_Potential_Amount_to_Accounts(int AccountId, string SumUpField) 

  • void é o tipo de retorno que não retornará nada
  • workflowspace é o namespace no criador, assim como uma pasta para agrupar funções
  • Rollup_the_Potential_Amount_to_Accounts é o nome da função
  • AccountId é um parâmetro que contém a ID da Conta no CRM
  • SumUpField é outro parâmetro, que contém o rótulo do campo em Conta para o qual o valor da soma é atualizado durante o acionamento da regra de fluxo de trabalho.

{    accountID1 = (input.AccountId).toString();

  • Aqui, estamos typecasting a ID da conta para uma string    

resp = zoho.crm.searchRecordsByPDC("Potentials", ("accountid"), accountID1);

  • Este é um método incorporado no Deluge Script que irá obter os registros pesquisando os valores de campo.
  • Aqui, especificamos pesquisar um tipo de registro de clientes potenciais rgw que corresponde à ID da Conta com o valor que é transmitido como um parâmetro.    

total = 0.0;

  • Inicialização de uma variável local para calcular a soma do valor.

for each rec in resp

  • Iteração de todos os clientes potenciais retornados pela chamada de método acima.

{       

stage = (rec.get("Stage")).toLowerCase();

  • Busca do valor de campo de estágio de cada cliente potencial.

if (stage.contains("won"))

  • Verificação do valor de estágio contém "won" para cada cliente potencial. Se for verdadeiro, entrará na próxima linha, caso contrário, irá para o próximo cliente potencial.

{           

total = (total  +  (rec.get("Amount")).toDecimal());

  • Agora, adição do valor do campo de valor à variável local       

}    }   

updateResp = zoho.crm.updateRecord(("Accounts"), accountID1, { input.SumUpField : total });

}

  • Esse método atualizará o registro no CRM. Mencionamos o tipo de registro como Conta correspondendo a ID da conta do campo ao valor transferido com a variável local, que atualmente contém o valor da soma.

Programa completo

void workflowspace.Rollup_the_Potential_Amount_to_Accounts(int AccountId, string SumUpField)
{
accountID1 = (input.AccountId).toString();
resp = zoho.crm.searchRecordsByPDC("Potentials", ("accountid"), accountID1);
info resp;
total = 0.0;
for each rec in resp
{
stage = (rec.get("Stage")).toLowerCase();
if (stage.contains("won"))
{
total = (total + (rec.get("Amount")).toDecimal());
}
}
updateResp = zoho.crm.updateRecord(("Accounts"), accountID1, { input.SumUpField : total });
}

Cenário comercial 2: rolar o campo de valor para a conta pai quando o status do cliente em potencial for "negócio fechado"

Resumo

Rolar o valor de cada cliente em potencial (status é negócio fechado) para Receita Total (campo personalizado) da Conta relacionada. Se o cliente comprar 10 vezes, você poderá ver a receita total na página Conta, em vez de puxar um relatório vinculando Clientes Potenciais e Contas. Com base na receita do cliente, você pode classificá-los posteriormente como clientes tipo A, tipo B e tipo C.

Programar etapas

void workflowspace.Rollup_the_Potential_Amount_to_Accounts(int AccountId, string SumUpField) 

  • void é o tipo de retorno que não retornará nada
  • workflowspace é o namespace no criador, assim como uma pasta para agrupar funções
  • Rollup_the_Potential_Amount_to_Accounts é o nome da função
  • AccountId é um parâmetro que contém a ID da Conta no CRM
  • SumUpField é outro parâmetro, que contém o rótulo do campo em Conta para o qual o valor da soma é atualizado durante o acionamento da regra de fluxo de trabalho.

{    accountID1 = (input.AccountId).toString();

  • Aqui, estamos typecasting a ID da conta para uma string    

resp = zoho.crm.searchRecordsByPDC("Potentials", ("accountid"), accountID1);

  • Este é um método incorporado no Deluge Script que irá obter os registros pesquisando os valores de campo.
  • Aqui, especificamos pesquisar um tipo de registro de clientes potenciais rgw que corresponde à ID da Conta com o valor que é transmitido como um parâmetro.    

total = 0.0;

  • Inicialização de uma variável local para calcular a soma do valor.

for each rec in resp

  • Iteração de todos os clientes potenciais retornados pela chamada de método acima.

{       

stage = (rec.get("Stage")).toLowerCase();

  • Busca do valor de campo de estágio de cada cliente potencial.

if (stage.contains("won"))

  • Verificação do valor de estágio contém "won" para cada cliente potencial. Se for verdadeiro, entrará na próxima linha, caso contrário, irá para o próximo cliente potencial.

{           

total = (total  +  (rec.get("Amount")).toDecimal());

  • Agora, adição do valor do campo de valor à variável local       

void workflowspace.Mass_update_of_Child_Contacts(int accId) { accountId = input.accId.toString();
rec = zoho.crm.getRecordById(("Accounts"), input.accId);
resp = zoho.crm.getRelatedRecords("Contacts", ("Accounts"), accountId);
for each ele in resp { mp = map();
mp.put("Mailing Street", rec.get("Billing Street"));
mp.put("Mailing City", rec.get("Billing City"));
mp.put("Mailing State", rec.get("Billing State"));
mp.put("Mailing Zip", rec.get("Billing Code"));
mp.put("Mailing Country", rec.get("Billing Country"));
mp.put("Other Street", rec.get("Shipping Street"));
mp.put("Other City", rec.get("Shipping City"));
mp.put("Other State", rec.get("Shipping State"));
mp.put("Other Zip", rec.get("Shipping Code"));
mp.put("Other Country", rec.get("Shipping Country"));
contactId = ele.get("CONTACTID"); updateResp = zoho.crm.updateRecord("Contacts", contactId, mp);
}

Siga estas etapas para configurar a função personalizada:

  1. Faça login no Zoho CRM.
  2. Vá para Configuração > Automação > Regras de Fluxo de Trabalho.
  3. Selecione Negócios na lista suspensa Módulo. Insira o nome e uma descrição para a regra de fluxo de trabalho.

    Custom Function
  4. Escolha quando você deseja executar esta regra. Selecione a opção Criar ou Editar em executar com base em uma ação de registro.

    Custom Function
  5. Clique em Concluído.
  6. Escolha para quais registros você quer executar a regra. Selecione a opção Registros que correspondem à condição e defina os critérios como "Estágio contém negócio fechado"

    Custom Function
  7. Clique em Concluído.
  8. Agora, escolha Função Personalizada como a Ação instantânea

    Custom Function
  9. Na janela pop-up Configurar Função Personalizada, clique no link Funções Personalizadas.

  10. Na página Funções Personalizadas, clique em Configurar para a função Rolar valor potencial para conta.

  11. Selecione Cliente Potencial como o módulo.
  12. Especifique os valores para os argumentos, conforme mencionado abaixo:
    • AccountId: escolha a coluna "AccountId" na lista de campos.
    • SumUpField: especifique o campo que você tem no módulo de contas para a soma.
    • Clique em "Especificar valor personalizado" e digite o nome do campo.

  13. Salve a configuração. Isso agora atualizará automaticamente a soma da receita gerada por todos os clientes potenciais de uma conta no módulo da conta.