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
- Vá para Configuração > Automação > Ações > Função Personalizada.
- Na página Funções Personalizadas do Fluxo de Trabalho, clique em Configurar Função Personalizada.
- Na página Configurar Função Personalizada, clique no link Escrever sua própria função.
- 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.
- Agora, mapeie o argumento com o nome do campo ou com o valor personalizado no módulo do CRM.
- Clique em Concluído.
- Escreva a função no Deluge Script Editor. Clique em Salvar e Executar Script para validar o código.
Se não houver erros, o script está pronto para ser associado à Regra de fluxo de trabalho. - Clique em Salvar.
Para associar a função personalizada a uma regra de fluxo de trabalho
- Vá para Configuração > Automação > Regras de Fluxo de Trabalho.
- Na página Regras de Fluxo de Trabalho , clique em Criar Regra.
- Na guia Criar Nova Regra, especifique os parâmetros da regra de fluxo de trabalho.
- Selecione Função Personalizada em Ações Instantâneas.
- Agora, selecione a função personalizada que deve ser acionada.
- Clique em Salvar.
Para testar a integração da função personalizada
- Adicione dados de teste ao CRM de acordo com os critérios da sua regra de fluxo de trabalho.
- No seu aplicativo, verifique se dados foram recebidos do Zoho CRM por meio da função personalizada.
- Se houver um erro ou incompatibilidade de dados, modifique o código da função personalizada no Zoho CRM.
- 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
Lista de tarefas do Deluge
Tarefa do Deluge | Finalidade |
Condições | |
Diversos | |
Depuração | |
Manipulação de lista | |
Manipulação de mapa | |
Dados da Web | |
Manipulação de XML |
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:
- Faça login no Zoho CRM.
- Vá para Configuração > Automação > Regras de Fluxo de Trabalho.
Selecione Negócios na lista suspensa Módulo. Insira o nome e uma descrição para a regra de fluxo de trabalho.
Escolha quando você deseja executar esta regra. Selecione a opção Criar ou Editar em executar com base em uma ação de registro.
- Clique em Concluído.
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"
- Clique em Concluído.
Agora, escolha Função Personalizada como a Ação instantânea
Na janela pop-up Configurar Função Personalizada, clique no link Funções Personalizadas.
Na página Funções Personalizadas, clique em Configurar para a função Rolar valor potencial para conta.
- Selecione Cliente Potencial como o módulo.
- 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.
- 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.