Penyempurnaan pada API JavaScript VTAP

Kami sangat gembira mengumumkan peningkatan signifikan pada API JavaScript VTAP, yang dirancang untuk memberdayakan pengembang dan mitra yang bekerja dengan Vtiger CRM.

Penyempurnaan ini berfokus pada peningkatan fleksibilitas dan fungsionalitas platform, khususnya dalam modul Acara dan API TerkaitRecords. Di bawah ini, kami menguraikan pembaruan penting yang memungkinkan Anda menciptakan banyak solusi CRM yang dinamis dan responsif.

Peningkatan 1: Dukungan untuk Bidang Ekstra di API Records Terkait

Kami telah memperluas API VTAP AssociatedRecords untuk menyertakan dukungan untuk bidang ekstra parameter, memungkinkan Anda mengambil kolom tambahan di luar kolom default yang disediakan. Peningkatan ini menawarkan lebih banyak fleksibilitas ketika bekerja dengan catatan terkait, memungkinkan interaksi data yang lebih kaya.

VTAP.Detail.Catatan Terkait

API ini mengambil catatan terkait untuk modul tertentu. Secara default, ini mencakup bidang yang diaktifkan untuk Pembuatan Cepat, Header, dll. Dengan yang baru bidang ekstra parameter, Anda kini dapat menentukan kolom tambahan untuk disertakan dalam respons, sehingga memberikan wawasan yang lebih luas tentang data terkait.

Contoh Kasus Penggunaan: Anggaplah Anda bekerja dengan modul Kontak dan ingin mengambil rekaman Kasus terkait yang mencakup bidang seperti saluran kasus ke status slastatus, yang bukan merupakan bagian dari respons default. Anda kini dapat dengan mudah menyertakan kolom berikut dalam permintaan API Anda:


  

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

    });

 

Peningkatan 2: Dukungan Kolom Label di API AssociatedRecords

Selain penyempurnaan di atas, kami juga menambahkan dukungan untuk kolom label di VTAP AssociatedRecords API. Peningkatan ini memungkinkan Anda menyertakan nama rekaman (label) dalam respons API, sehingga memudahkan untuk mengidentifikasi dan bekerja dengan rekaman terkait.

VTAP.Detail.Catatan

Sebelumnya, API TerkaitRecords tidak mendukung penyertaan kolom label yang berisi nama rekaman. Sekarang, dengan menggunakan parameter extrafields, Anda dapat meminta label ini di panggilan API Anda.

Contoh Kasus Penggunaan: Saat mengambil rekaman Kasus terkait, Anda mungkin ingin menyertakan nama rekaman untuk memudahkan identifikasi. Cukup berikan label sebagai bidang tambahan:

 

Peningkatan 2: Dukungan Kolom Label di API AssociatedRecords

Selain penyempurnaan di atas, kami juga menambahkan dukungan untuk kolom label di VTAP AssociatedRecords API. Peningkatan ini memungkinkan Anda menyertakan nama rekaman (label) dalam respons API, sehingga memudahkan untuk mengidentifikasi dan bekerja dengan rekaman terkait.

VTAP.Detail.Catatan

Sebelumnya, API TerkaitRecords tidak mendukung penyertaan kolom label yang berisi nama rekaman. Sekarang, dengan menggunakan parameter extrafields, Anda dapat meminta label ini di panggilan API Anda.

Contoh Kasus Penggunaan: Saat mengambil rekaman Kasus terkait, Anda mungkin ingin menyertakan nama rekaman untuk memudahkan identifikasi. Cukup berikan label sebagai bidang tambahan:


  

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

    });

 

Peningkatan ini adalah bagian dari komitmen berkelanjutan kami untuk memberi Anda alat canggih untuk membangun aplikasi dinamis tingkat perusahaan pada platform Vtiger CRM. Kami mendorong Anda untuk menjelajahi fitur-fitur baru ini dan mengintegrasikannya ke dalam proyek Anda untuk meningkatkan pengalaman pengguna secara keseluruhan.

Nantikan pembaruan lainnya, dan selamat coding!

 

Peningkatan ini adalah bagian dari komitmen berkelanjutan kami untuk memberi Anda alat canggih untuk membangun aplikasi dinamis tingkat perusahaan pada platform Vtiger CRM. Kami mendorong Anda untuk menjelajahi fitur-fitur baru ini dan mengintegrasikannya ke dalam proyek Anda untuk meningkatkan pengalaman pengguna secara keseluruhan.

Nantikan pembaruan lainnya, dan selamat coding!

 
 
 

Kasus Penggunaan Pelanggan VTAP

 
 

Satu pelanggan meminta untuk tidak menampilkan blok Undangan di modul Acara untuk acara jenis khusus selain Panggilan dan Rapat. Itu menghabiskan ruang di layar tanpa digunakan untuk acara tipe khusus yang digunakan untuk acara internal.

Penanganan Acara yang Ditingkatkan di Modul Acara

VTAP Event API kini menyertakan kemampuan untuk mengontrol visibilitas blok Invitees dalam modul Events. Peningkatan ini memungkinkan kontrol yang tepat atas antarmuka pengguna, yang disesuaikan dengan kebutuhan spesifik aplikasi Anda.

  • VTAP.Acara.Daftar: Fungsi ini memungkinkan Anda mendaftarkan peristiwa sisi klien dan menerima panggilan balik ketika peristiwa ini terjadi di antarmuka pengguna. Daftar lengkap acara yang didukung tersedia di sini.
  • VTAP.Acara.Pemicu: Fungsi ini memaksa pelaksanaan acara yang disediakan oleh Vtiger UI. Kami telah memperkenalkan dua acara baru untuk menampilkan dan menyembunyikan blok Undangan di modul Acara:
  • EVENT_SHOW_INVITEES: Memicu tampilan blok Undangan.
  • EVENT_HIDE_INVITEES: Menyembunyikan blok Undangan.

Anda dapat memanfaatkan peristiwa ini untuk mengontrol visibilitas secara dinamis berdasarkan masukan pengguna. Untuk jenis aktivitas lainnya, Anda dapat menyembunyikan blok Undangan untuk menyederhanakan pengalaman pengguna.

Buat skrip VTAP untuk modul Acara dengan nama Undangan dan salin fungsi di bawah ini untuk menyembunyikan blok Undangan untuk Jenis Aktivitas selain Rapat dan Panggilan:

 

Satu pelanggan meminta untuk tidak menampilkan blok Undangan di modul Acara untuk acara jenis khusus selain Panggilan dan Rapat. Itu menghabiskan ruang di layar tanpa digunakan untuk acara tipe khusus yang digunakan untuk acara internal.

Penanganan Acara yang Ditingkatkan di Modul Acara

VTAP Event API kini menyertakan kemampuan untuk mengontrol visibilitas blok Invitees dalam modul Events. Peningkatan ini memungkinkan kontrol yang tepat atas antarmuka pengguna, yang disesuaikan dengan kebutuhan spesifik aplikasi Anda.

  • VTAP.Acara.Daftar: Fungsi ini memungkinkan Anda mendaftarkan peristiwa sisi klien dan menerima panggilan balik ketika peristiwa ini terjadi di antarmuka pengguna. Daftar lengkap acara yang didukung tersedia di sini.
  • VTAP.Acara.Pemicu: Fungsi ini memaksa pelaksanaan acara yang disediakan oleh Vtiger UI. Kami telah memperkenalkan dua acara baru untuk menampilkan dan menyembunyikan blok Undangan di modul Acara:
  • EVENT_SHOW_INVITEES: Memicu tampilan blok Undangan.
  • EVENT_HIDE_INVITEES: Menyembunyikan blok Undangan.

Anda dapat memanfaatkan peristiwa ini untuk mengontrol visibilitas secara dinamis berdasarkan masukan pengguna. Untuk jenis aktivitas lainnya, Anda dapat menyembunyikan blok Undangan untuk menyederhanakan pengalaman pengguna.

Buat skrip VTAP untuk modul Acara dengan nama Undangan dan salin fungsi di bawah ini untuk menyembunyikan blok Undangan untuk Jenis Aktivitas selain Rapat dan Panggilan:


  

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

            }

        }

    }

});

 
 

Daftar untuk menerima pembaruan terbaru!