Udoskonalenia interfejsów API JavaScript VTAP

Z radością ogłaszamy znaczące ulepszenia interfejsów API JavaScript VTAP, zaprojektowane w celu umożliwienia programistom i partnerom współpracującym z Vtiger CRM.

Ulepszenia te skupiają się na zwiększeniu elastyczności i funkcjonalności platformy, szczególnie w obrębie modułu Wydarzenia i API PokrewnychRekordów. Poniżej przedstawiamy najważniejsze aktualizacje, które umożliwiają tworzenie wielu dynamicznych i responsywnych rozwiązań CRM.

Ulepszenie 1: Obsługa dodatkowych pól w interfejsie API PokrewnychRekordów

Rozszerzyliśmy interfejs API powiązanych rekordów VTAP o obsługę plików dodatkowe pola parametr, umożliwiający pobranie dodatkowych pól poza polami domyślnymi. To ulepszenie zapewnia większą elastyczność podczas pracy z powiązanymi rekordami, umożliwiając bogatsze interakcje z danymi.

VTAP.Detail.RelatedRecords

Ten interfejs API pobiera powiązane rekordy dla danego modułu. Domyślnie zawiera pola, które umożliwiają szybkie tworzenie, nagłówek itp. Wraz z nowością dodatkowe pola parametru, możesz teraz określić dodatkowe pola, które mają zostać uwzględnione w odpowiedzi, zapewniając lepszy wgląd w powiązane dane.

Przykładowy przypadek użycia: Załóżmy, że pracujesz z modułem Kontakty i chcesz pobrać powiązane rekordy spraw, które zawierają pola takie jak kanał przypadku i slastatus, które nie są częścią odpowiedzi domyślnej. Możesz teraz łatwo uwzględnić te pola w swoim żądaniu 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

    });

 

Ulepszenie 2: Obsługa kolumn etykiet w interfejsie API PokrewnychRekordów

Oprócz powyższych ulepszeń dodaliśmy także obsługę kolumny etykieta w interfejsie API VTAP PowiązaneRecords. To ulepszenie umożliwia dołączenie nazwy rekordu (etykiety) do odpowiedzi API, co ułatwia identyfikację powiązanych rekordów i pracę z nimi.

VTAP.Szczegóły.Rekord

Poprzednio interfejs API AssociateRecords nie obsługiwał dołączania kolumny etykiety zawierającej nazwę rekordu. Teraz, używając parametru extrafields, możesz zażądać tej etykiety w swoich wywołaniach API.

Przykładowy przypadek użycia: Podczas pobierania powiązanych rekordów spraw możesz dołączyć nazwę rekordu, aby ułatwić jego identyfikację. Po prostu przekaż etykietę jako dodatkowe pole:

 

Ulepszenie 2: Obsługa kolumn etykiet w interfejsie API PokrewnychRekordów

Oprócz powyższych ulepszeń dodaliśmy także obsługę kolumny etykieta w interfejsie API VTAP PowiązaneRecords. To ulepszenie umożliwia dołączenie nazwy rekordu (etykiety) do odpowiedzi API, co ułatwia identyfikację powiązanych rekordów i pracę z nimi.

VTAP.Szczegóły.Rekord

Poprzednio interfejs API AssociateRecords nie obsługiwał dołączania kolumny etykiety zawierającej nazwę rekordu. Teraz, używając parametru extrafields, możesz zażądać tej etykiety w swoich wywołaniach API.

Przykładowy przypadek użycia: Podczas pobierania powiązanych rekordów spraw możesz dołączyć nazwę rekordu, aby ułatwić jego identyfikację. Po prostu przekaż etykietę jako dodatkowe pole:


  

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

    });

 

Te ulepszenia są częścią naszego ciągłego zaangażowania w zapewnianie potężnych narzędzi do tworzenia dynamicznych aplikacji klasy korporacyjnej na platformie Vtiger CRM. Zachęcamy do zapoznania się z tymi nowymi funkcjami i zintegrowania ich ze swoimi projektami, aby poprawić ogólne wrażenia użytkownika.

Bądź na bieżąco, aby uzyskać więcej aktualizacji i szczęśliwego kodowania!

 

Te ulepszenia są częścią naszego ciągłego zaangażowania w zapewnianie potężnych narzędzi do tworzenia dynamicznych aplikacji klasy korporacyjnej na platformie Vtiger CRM. Zachęcamy do zapoznania się z tymi nowymi funkcjami i zintegrowania ich ze swoimi projektami, aby poprawić ogólne wrażenia użytkownika.

Bądź na bieżąco, aby uzyskać więcej aktualizacji i szczęśliwego kodowania!

 
 
 

Przypadek użycia klienta VTAP

 
 

Jeden klient poprosił, aby nie wyświetlać bloku Zaproszeni w module Wydarzenia w przypadku wydarzeń typu niestandardowego innych niż Rozmowa i Spotkanie. Zajmował miejsce na ekranie i nie wykorzystywał zdarzeń niestandardowych używanych do wydarzeń wewnętrznych.

Ulepszona obsługa zdarzeń w module Zdarzenia

Interfejs API zdarzeń VTAP umożliwia teraz kontrolowanie widoczności bloku Zaproszeni w module Wydarzenia. To usprawnienie pozwala na precyzyjną kontrolę nad interfejsem użytkownika, dostosowanym do konkretnych potrzeb Twojej aplikacji.

  • VTAP.Event.Rejestr: Ta funkcja umożliwia rejestrowanie zdarzeń po stronie klienta i otrzymywanie wywołań zwrotnych, gdy te zdarzenia wystąpią w interfejsie użytkownika. Pełna lista obsługiwanych wydarzeń jest dostępna tutaj.
  • Wyzwalacz zdarzenia VTAP: Ta funkcja wymusza wykonanie zdarzeń dostarczonych przez interfejs użytkownika Vtiger. Wprowadziliśmy dwa nowe zdarzenia umożliwiające pokazywanie i ukrywanie bloku Zaproszeni w module Wydarzenia:
  • EVENT_SHOW_INVITEES:Wyzwala wyświetlanie bloku Zaproszeni.
  • EVENT_HIDE_INVITEES: Ukrywa blok Zaproszeni.

Możesz wykorzystać te zdarzenia do dynamicznego kontrolowania widoczności na podstawie danych wejściowych użytkownika. W przypadku innych typów działań możesz ukryć blok Zaproszeni, aby usprawnić obsługę użytkownika.

Utwórz skrypt VTAP dla modułu Wydarzenia o nazwie Invitees i skopiuj poniższą funkcję, aby ukryć blok Invitees dla typu działania innego niż Meeting i Call:

 

Jeden klient poprosił, aby nie wyświetlać bloku Zaproszeni w module Wydarzenia w przypadku wydarzeń typu niestandardowego innych niż Rozmowa i Spotkanie. Zajmował miejsce na ekranie i nie wykorzystywał zdarzeń niestandardowych używanych do wydarzeń wewnętrznych.

Ulepszona obsługa zdarzeń w module Zdarzenia

Interfejs API zdarzeń VTAP umożliwia teraz kontrolowanie widoczności bloku Zaproszeni w module Wydarzenia. To usprawnienie pozwala na precyzyjną kontrolę nad interfejsem użytkownika, dostosowanym do konkretnych potrzeb Twojej aplikacji.

  • VTAP.Event.Rejestr: Ta funkcja umożliwia rejestrowanie zdarzeń po stronie klienta i otrzymywanie wywołań zwrotnych, gdy te zdarzenia wystąpią w interfejsie użytkownika. Pełna lista obsługiwanych wydarzeń jest dostępna tutaj.
  • Wyzwalacz zdarzenia VTAP: Ta funkcja wymusza wykonanie zdarzeń dostarczonych przez interfejs użytkownika Vtiger. Wprowadziliśmy dwa nowe zdarzenia umożliwiające pokazywanie i ukrywanie bloku Zaproszeni w module Wydarzenia:
  • EVENT_SHOW_INVITEES:Wyzwala wyświetlanie bloku Zaproszeni.
  • EVENT_HIDE_INVITEES: Ukrywa blok Zaproszeni.

Możesz wykorzystać te zdarzenia do dynamicznego kontrolowania widoczności na podstawie danych wejściowych użytkownika. W przypadku innych typów działań możesz ukryć blok Zaproszeni, aby usprawnić obsługę użytkownika.

Utwórz skrypt VTAP dla modułu Wydarzenia o nazwie Invitees i skopiuj poniższą funkcję, aby ukryć blok Invitees dla typu działania innego niż Meeting i Call:


  

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

            }

        }

    }

});

 
 

Zarejestruj się, aby otrzymywać najnowsze aktualizacje!