Scripts e trabalhos de servidor

Temos o prazer de anunciar uma melhoria significativa na capacidade de personalização e automação do Vtiger com o módulo Server Scripts & Jobs.

O script do lado do servidor é um recurso poderoso que permite executar diversas tarefas. Por meio desse recurso, você pode executar ações personalizadas ao salvar o registro ou ao aprová-lo/rejeitá-lo. Você também pode configurar tarefas em segundo plano personalizadas para serem executadas em intervalos programados.

Há três anos, lançamos a Plataforma de Aplicativos Vtiger (VTAP), uma estrutura de automação de baixo código, para ajudar as empresas a personalizar ainda mais sua instância Vtiger CRM. Com o VTAP, os desenvolvedores podem escrever código do lado do cliente que é executado no navegador do usuário para permitir a personalização do lado do cliente.

No entanto, há muitos cenários em que o código personalizado deve ser executado no servidor. 

Com os Server Scripts & Jobs, clientes e parceiros podem executar diretamente códigos personalizados escritos em JavaScript em servidores Vtiger. Esse recurso abre caminho para automação ilimitada.

Aqui estão alguns exemplos:

  • Enriqueça seus dados de leads buscando informações de outras fontes.
  • Importe periodicamente dados de fontes externas para o CRM.
  • Ajuste os dados nos registros principais de acordo com os registros secundários ou vice-versa (atualize o saldo da fatura pendente em cada organização).
  • Integre análises personalizadas baseadas em IA.

Esse recurso aciona esses scripts do lado do servidor de duas maneiras:

  • Scripts de servidor: são scripts do lado do servidor executados quando uma determinada ação acontece. Por exemplo, um registro é salvo ou aprovado/rejeitado.
  • Trabalhos de servidor: são scripts do lado do servidor que são executados automaticamente em intervalos fixos, como de hora em hora, diariamente, semanalmente, etc.

Caso de uso

Vamos entender como funciona o script do lado do servidor com um exemplo simples de atualização de valores de faturas vencidas em um registro da organização.

Exigência: a qualquer momento, você poderá ver os valores das faturas vencidas de qualquer organização.

Solução: Usando scripts de servidor, isso pode ser alcançado facilmente.

  • Sempre que uma fatura é atualizada (alteração de valor ou status), você aciona um script.
  • Usando o método REST do Vtiger, você pode vincular todas as faturas à organização da fatura no script.
  • Some o saldo de cada fatura.
  • Novamente, utilizando o método REST do Vtiger, atualize o saldo no campo da Organização.
  • Isso garantirá que os valores das faturas vencidas estarão sempre visíveis no registro da organização.


  

async function main(record, user) {

    var orgId = record.account_id;

    try {

        var response = await vtap.macro.ws.api('GET', 'retrieve_related', {

            id: '3x'+orgId,

            relatedLabel: 'Invoice',

            relatedType: 'Invoice'

        });

        if(response && response.success) {

            var overdueAmount = 0;

            for(var index in response.result) {

                var invoice = response.result[index];

                var balance = parseFloat(invoice.balance);

                if(balance && !isNaN(balance)) {

                    overdueAmount = overdueAmount + balance;

                }

            }

            await vtap.macro.ws.revise({

                id: '3x'+orgId,

                cf_outstanding_invoice_amount: overdueAmount

            });

        }

    } catch(error) {

    }

}


  

async function main(record, user) {

    var orgId = record.account_id;

    try {

        var response = await vtap.macro.ws.api('GET', 'retrieve_related', {

            id: '3x'+orgId,

            relatedLabel: 'Invoice',

            relatedType: 'Invoice'

        });

        if(response && response.success) {

            var overdueAmount = 0;

            for(var index in response.result) {

                var invoice = response.result[index];

                var balance = parseFloat(invoice.balance);

                if(balance && !isNaN(balance)) {

                    overdueAmount = overdueAmount + balance;

                }

            }

            await vtap.macro.ws.revise({

                id: '3x'+orgId,

                cf_outstanding_invoice_amount: overdueAmount

            });

        }

    } catch(error) {

    }

}

Para saber mais, consulte nossa ajuda documentação.

 
 
 

Em breve - extensão de atualização

 
 

A extensão de atualização! 

Atualmente, não temos como atualizar extensões do Marketplace. 

Com o próximo lançamento, forneceremos uma atualização básica onde o usuário poderá atualizar as extensões publicadas no Add-on Publisher. 

Quaisquer alterações feitas nas extensões, como fluxos de trabalho, API Designer, Module Designer, etc., serão atualizadas na instância do cliente. 

 

A extensão de atualização! 

Atualmente, não temos como atualizar extensões do Marketplace. 

Com o próximo lançamento, forneceremos uma atualização básica onde o usuário poderá atualizar as extensões publicadas no Add-on Publisher. 

Quaisquer alterações feitas nas extensões, como fluxos de trabalho, API Designer, Module Designer, etc., serão atualizadas na instância do cliente. 

 
 

Inscreva-se para receber as últimas atualizações!