Miglioramenti alle API JavaScript VTAP

Siamo entusiasti di annunciare miglioramenti significativi alle API JavaScript VTAP, progettate per potenziare sviluppatori e partner che lavorano con Vtiger CRM.

Questi miglioramenti si concentrano sul miglioramento della flessibilità e della funzionalità della piattaforma, in particolare all'interno del modulo Eventi e dell'API RelatedRecords. Di seguito, descriviamo gli aggiornamenti chiave che ti consentono di creare molte soluzioni CRM dinamiche e reattive.

Miglioramento 1: supporto per campi aggiuntivi nell'API RelatedRecords

Abbiamo esteso l'API VTAP RelatedRecords per includere il supporto per campi extra parametro, consentendo di recuperare campi aggiuntivi oltre a quelli predefiniti forniti. Questo miglioramento offre maggiore flessibilità quando si lavora con record correlati, consentendo interazioni di dati più ricche.

VTAP.Detail.RelatedRecords

Questa API recupera i record correlati per un determinato modulo. Per impostazione predefinita, include i campi abilitati per Creazione rapida, Intestazione, ecc. Con il nuovo file campi extra parametro, ora puoi specificare campi aggiuntivi da includere nella risposta, fornendo maggiori informazioni sui dati correlati.

Caso d'uso di esempio: Supponiamo che tu stia lavorando con il modulo Contatti e desideri recuperare i record dei casi correlati che includono campi come casechannel and slastatus, che non fanno parte della risposta predefinita. Ora puoi includere facilmente questi campi nella tua richiesta 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

    });

 

Miglioramento 2: supporto della colonna etichetta nell'API RelatedRecords

Oltre ai miglioramenti sopra menzionati, abbiamo anche aggiunto il supporto per la colonna etichetta nell'API VTAP RelatedRecords. Questo miglioramento consente di includere il nome del record (etichetta) nella risposta API, semplificando l'identificazione e l'utilizzo dei record correlati.

VTAP.Dettaglio.Record

In precedenza, l'API RelatedRecords non supportava l'inclusione della colonna etichetta, che contiene il nome del record. Ora, utilizzando il parametro extrafields, puoi richiedere questa etichetta nelle tue chiamate API.

Caso d'uso di esempio: quando recuperi i record dei casi correlati, potresti voler includere il nome del record per una facile identificazione. Passa semplicemente l'etichetta come campo aggiuntivo:

 

Miglioramento 2: supporto della colonna etichetta nell'API RelatedRecords

Oltre ai miglioramenti sopra menzionati, abbiamo anche aggiunto il supporto per la colonna etichetta nell'API VTAP RelatedRecords. Questo miglioramento consente di includere il nome del record (etichetta) nella risposta API, semplificando l'identificazione e l'utilizzo dei record correlati.

VTAP.Dettaglio.Record

In precedenza, l'API RelatedRecords non supportava l'inclusione della colonna etichetta, che contiene il nome del record. Ora, utilizzando il parametro extrafields, puoi richiedere questa etichetta nelle tue chiamate API.

Caso d'uso di esempio: quando recuperi i record dei casi correlati, potresti voler includere il nome del record per una facile identificazione. Passa semplicemente l'etichetta come campo aggiuntivo:


  

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

    });

 

Questi miglioramenti fanno parte del nostro impegno costante nel fornire potenti strumenti per la creazione di applicazioni dinamiche di livello aziendale sulla piattaforma Vtiger CRM. Ti invitiamo a esplorare queste nuove funzionalità e a integrarle nei tuoi progetti per migliorare l'esperienza utente complessiva.

Resta sintonizzato per ulteriori aggiornamenti e buona programmazione!

 

Questi miglioramenti fanno parte del nostro impegno costante nel fornire potenti strumenti per la creazione di applicazioni dinamiche di livello aziendale sulla piattaforma Vtiger CRM. Ti invitiamo a esplorare queste nuove funzionalità e a integrarle nei tuoi progetti per migliorare l'esperienza utente complessiva.

Resta sintonizzato per ulteriori aggiornamenti e buona programmazione!

 
 
 

Caso d'uso del cliente VTAP

 
 

Un cliente ha richiesto di non mostrare il blocco Invitati nel modulo Eventi per eventi di tipo personalizzato diversi da Chiamate e Riunioni. Occupava spazio sullo schermo senza essere utilizzato per eventi di tipo personalizzato utilizzati per eventi interni.

Gestione degli eventi migliorata nel modulo Eventi

L'API degli eventi VTAP ora include la possibilità di controllare la visibilità del blocco Invitati all'interno del modulo Eventi. Questo miglioramento consente un controllo preciso sull'interfaccia utente, adattato alle esigenze specifiche della tua applicazione.

  • Registro.evento.VTAP: questa funzione consente di registrare eventi lato client e ricevere callback quando questi eventi si verificano nell'interfaccia utente. Un elenco completo degli eventi supportati è disponibile qui.
  • VTAP.Event.Trigger: Questa funzione forza l'esecuzione degli eventi forniti dall'interfaccia utente di Vtiger. Abbiamo introdotto due nuovi eventi per mostrare e nascondere il blocco Invitati nel modulo Eventi:
  • EVENT_SHOW_INVITEES: attiva la visualizzazione del blocco Invitati.
  • EVENT_HIDE_INVITEES: nasconde il blocco Invitati.

Puoi sfruttare questi eventi per controllare dinamicamente la visibilità in base all'input dell'utente. Per altri tipi di attività, puoi nascondere il blocco Invitati per semplificare l'esperienza dell'utente.

Crea uno script VTAP per il modulo Eventi con il nome Invitati e copia la funzione seguente per nascondere il blocco Invitati per Tipo di attività diverso da Riunione e chiamata:

 

Un cliente ha richiesto di non mostrare il blocco Invitati nel modulo Eventi per eventi di tipo personalizzato diversi da Chiamate e Riunioni. Occupava spazio sullo schermo senza essere utilizzato per eventi di tipo personalizzato utilizzati per eventi interni.

Gestione degli eventi migliorata nel modulo Eventi

L'API degli eventi VTAP ora include la possibilità di controllare la visibilità del blocco Invitati all'interno del modulo Eventi. Questo miglioramento consente un controllo preciso sull'interfaccia utente, adattato alle esigenze specifiche della tua applicazione.

  • Registro.evento.VTAP: questa funzione consente di registrare eventi lato client e ricevere callback quando questi eventi si verificano nell'interfaccia utente. Un elenco completo degli eventi supportati è disponibile qui.
  • VTAP.Event.Trigger: Questa funzione forza l'esecuzione degli eventi forniti dall'interfaccia utente di Vtiger. Abbiamo introdotto due nuovi eventi per mostrare e nascondere il blocco Invitati nel modulo Eventi:
  • EVENT_SHOW_INVITEES: attiva la visualizzazione del blocco Invitati.
  • EVENT_HIDE_INVITEES: nasconde il blocco Invitati.

Puoi sfruttare questi eventi per controllare dinamicamente la visibilità in base all'input dell'utente. Per altri tipi di attività, puoi nascondere il blocco Invitati per semplificare l'esperienza dell'utente.

Crea uno script VTAP per il modulo Eventi con il nome Invitati e copia la funzione seguente per nascondere il blocco Invitati per Tipo di attività diverso da Riunione e chiamata:


  

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");

            }

        }

    }

});

 
 

Iscriviti per ricevere gli ultimi aggiornamenti!