Melhorias nas APIs JavaScript VTAP

Temos o prazer de anunciar melhorias significativas nas APIs JavaScript VTAP, projetadas para capacitar desenvolvedores e parceiros que trabalham com Vtiger CRM.

Essas melhorias se concentram em melhorar a flexibilidade e a funcionalidade da plataforma, principalmente no módulo Eventos e na API RelatedRecords. Abaixo, descrevemos as principais atualizações que permitem criar muitas soluções de CRM dinâmicas e responsivas.

Aprimoramento 1: suporte para campos extras na API RelatedRecords

Estendemos a API VTAP RelatedRecords para incluir suporte para o campos extras parâmetro, permitindo recuperar campos adicionais além dos padrão fornecidos. Essa melhoria oferece mais flexibilidade ao trabalhar com registros relacionados, permitindo interações de dados mais ricas.

VTAP.Detail.RelatedRecords

Esta API busca registros relacionados para um determinado módulo. Por padrão, inclui campos habilitados para Criação Rápida, Cabeçalho, etc. campos extras parâmetro, agora você pode especificar campos adicionais a serem incluídos na resposta, fornecendo maior visão sobre os dados relacionados.

Exemplo de caso de uso: Suponha que você esteja trabalhando com o módulo Contatos e queira recuperar registros de Casos relacionados que incluam campos como canal de caso e estado de status, que não fazem parte da resposta padrão. Agora você pode incluir facilmente estes campos em sua solicitação de API:


  

VTAP.Detail.RelatedRecords("Cases", { 'extrafields': ['casechannel', 'slastatus'] })

    .then((case_records) => {

        // Process the retrieved case records with extra fields

    });


  

VTAP.Detail.RelatedRecords("Cases", { 'extrafields': ['casechannel', 'slastatus'] })

    .then((case_records) => {

        // Process the retrieved case records with extra fields

    });

 

Aprimoramento 2: suporte a colunas de rótulos na API RelatedRecords

Além das melhorias acima, também adicionamos suporte para a coluna de rótulo na API VTAP RelatedRecords. Essa melhoria permite incluir o nome do registro (rótulo) na resposta da API, facilitando a identificação e o trabalho com os registros relacionados.

VTAP.Detalhe.Registro

Anteriormente, a API RelatedRecords não suportava a inclusão da coluna label, que contém o nome do registro. Agora, usando o parâmetro extrafields, você pode solicitar esse rótulo em suas chamadas de API.

Caso de uso de exemplo: ao buscar registros de Casos relacionados, talvez você queira incluir o nome do registro para facilitar a identificação. Basta passar o rótulo como um campo adicional:

 

Aprimoramento 2: suporte a colunas de rótulos na API RelatedRecords

Além das melhorias acima, também adicionamos suporte para a coluna de rótulo na API VTAP RelatedRecords. Essa melhoria permite incluir o nome do registro (rótulo) na resposta da API, facilitando a identificação e o trabalho com os registros relacionados.

VTAP.Detalhe.Registro

Anteriormente, a API RelatedRecords não suportava a inclusão da coluna label, que contém o nome do registro. Agora, usando o parâmetro extrafields, você pode solicitar esse rótulo em suas chamadas de API.

Caso de uso de exemplo: ao buscar registros de Casos relacionados, talvez você queira incluir o nome do registro para facilitar a identificação. Basta passar o rótulo como um campo adicional:


  

VTAP.Detail.RelatedRecords("Cases", { 'extrafields': ['label'] })

    .then((case_records) => {

        // The response now includes the label (name) of each case

    });


  

VTAP.Detail.RelatedRecords("Cases", { 'extrafields': ['label'] })

    .then((case_records) => {

        // The response now includes the label (name) of each case

    });

 

Essas melhorias fazem parte do nosso compromisso contínuo de fornecer ferramentas poderosas para a construção de aplicativos dinâmicos de nível empresarial na plataforma Vtiger CRM. Incentivamos você a explorar esses novos recursos e integrá-los aos seus projetos para aprimorar a experiência geral do usuário.

Fique ligado para mais atualizações e boa codificação!

 

Essas melhorias fazem parte do nosso compromisso contínuo de fornecer ferramentas poderosas para a construção de aplicativos dinâmicos de nível empresarial na plataforma Vtiger CRM. Incentivamos você a explorar esses novos recursos e integrá-los aos seus projetos para aprimorar a experiência geral do usuário.

Fique ligado para mais atualizações e boa codificação!

 
 
 

Caso de uso do cliente VTAP

 
 

Um cliente solicitou não mostrar o bloco Convidados no módulo Eventos para eventos de tipo personalizado que não sejam Chamada e Reunião. Estava ocupando espaço na tela sem utilidade para eventos do tipo customizado usados ​​para eventos internos.

Tratamento aprimorado de eventos no módulo de eventos

A API de eventos VTAP agora inclui a capacidade de controlar a visibilidade do bloco Convidados no módulo Eventos. Esse aprimoramento permite um controle preciso sobre a interface do usuário, adaptado às necessidades específicas da sua aplicação.

  • VTAP.Evento.Registro: esta função permite registrar eventos do lado do cliente e receber retornos de chamada quando esses eventos ocorrerem na interface do usuário. Uma lista abrangente de eventos suportados está disponível aqui.
  • VTAP.Event.Trigger: Esta função força a execução de eventos fornecidos pela UI do Vtiger. Introduzimos dois novos eventos para mostrar e ocultar o bloco Convidados no módulo Eventos:
  • EVENT_SHOW_INVITEES: Aciona a exibição do bloco Convidados.
  • EVENT_HIDE_INVITEES: oculta o bloco Convidados.

Você pode aproveitar esses eventos para controlar dinamicamente a visibilidade com base na entrada do usuário. Para outros tipos de atividades, você pode ocultar o bloco Convidados para simplificar a experiência do usuário.

Crie um script VTAP para o módulo Eventos com o nome Convidados e copie a função abaixo para ocultar o bloco Convidados para Tipo de Atividade diferente de Reunião e Chamada:

 

Um cliente solicitou não mostrar o bloco Convidados no módulo Eventos para eventos de tipo personalizado que não sejam Chamada e Reunião. Estava ocupando espaço na tela sem utilidade para eventos do tipo customizado usados ​​para eventos internos.

Tratamento aprimorado de eventos no módulo de eventos

A API de eventos VTAP agora inclui a capacidade de controlar a visibilidade do bloco Convidados no módulo Eventos. Esse aprimoramento permite um controle preciso sobre a interface do usuário, adaptado às necessidades específicas da sua aplicação.

  • VTAP.Evento.Registro: esta função permite registrar eventos do lado do cliente e receber retornos de chamada quando esses eventos ocorrerem na interface do usuário. Uma lista abrangente de eventos suportados está disponível aqui.
  • VTAP.Event.Trigger: Esta função força a execução de eventos fornecidos pela UI do Vtiger. Introduzimos dois novos eventos para mostrar e ocultar o bloco Convidados no módulo Eventos:
  • EVENT_SHOW_INVITEES: Aciona a exibição do bloco Convidados.
  • EVENT_HIDE_INVITEES: oculta o bloco Convidados.

Você pode aproveitar esses eventos para controlar dinamicamente a visibilidade com base na entrada do usuário. Para outros tipos de atividades, você pode ocultar o bloco Convidados para simplificar a experiência do usuário.

Crie um script VTAP para o módulo Eventos com o nome Convidados e copie a função abaixo para ocultar o bloco Convidados para Tipo de Atividade diferente de Reunião e Chamada:


  

var Events_Component_Invitess = VTAP.Component.Core.extend({

    mounted() {

        VTAP.Event.Register("CREATE_MODAL_SHOWN", (data) => { this.observeEventsFormActivityType(data); });

        VTAP.Event.Register("EDIT_MODAL_SHOWN", (data) => { this.observeEventsFormActivityType(data); });

    },

    methods : {

        observeEventsFormActivityType(data) {

            if (data.module == "Events") {

                setTimeout(() => {

                    var element = jQuery('select[name="activitytype"]');

                    if (element.length) {

                        this.handleEventsFormActivityType(element.get(0).value);

                        element.on('change', () => { this.handleEventsFormActivityType(element.get(0).value); }); /* changes */

                    } else {

                        if(data && data.record) {

                            VTAP.Api.Get('records', {

                                'module': 'Events',

                                'id': data.record

                            }, (error, response) => {

                                this.handleEventsFormActivityType(response.activitytype);

                            });

                        }

                    }

                }, 500);

            }

        },

        handleEventsFormActivityType(activityType) {

            if (activityType == "Call" || activityType == "Meeting") {

                VTAP.Event.Trigger("EVENT_SHOW_INVITEES");

            } else {

                VTAP.Event.Trigger("EVENT_HIDE_INVITEES");

            }

        }

    }

});


  

var Events_Component_Invitess = VTAP.Component.Core.extend({

    mounted() {

        VTAP.Event.Register("CREATE_MODAL_SHOWN", (data) => { this.observeEventsFormActivityType(data); });

        VTAP.Event.Register("EDIT_MODAL_SHOWN", (data) => { this.observeEventsFormActivityType(data); });

    },

    methods : {

        observeEventsFormActivityType(data) {

            if (data.module == "Events") {

                setTimeout(() => {

                    var element = jQuery('select[name="activitytype"]');

                    if (element.length) {

                        this.handleEventsFormActivityType(element.get(0).value);

                        element.on('change', () => { this.handleEventsFormActivityType(element.get(0).value); }); /* changes */

                    } else {

                        if(data && data.record) {

                            VTAP.Api.Get('records', {

                                'module': 'Events',

                                'id': data.record

                            }, (error, response) => {

                                this.handleEventsFormActivityType(response.activitytype);

                            });

                        }

                    }

                }, 500);

            }

        },

        handleEventsFormActivityType(activityType) {

            if (activityType == "Call" || activityType == "Meeting") {

                VTAP.Event.Trigger("EVENT_SHOW_INVITEES");

            } else {

                VTAP.Event.Trigger("EVENT_HIDE_INVITEES");

            }

        }

    }

});

 
 

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