שיפורים בממשקי API של VTAP JavaScript

אנו נרגשים להכריז על שיפורים משמעותיים בממשקי VTAP JavaScript API, שנועדו להעצים מפתחים ושותפים העובדים עם Vtiger CRM.

שיפורים אלו מתמקדים בשיפור הגמישות והפונקציונליות של הפלטפורמה, במיוחד בתוך מודול האירועים וממשק API של RelatedRecords. להלן, אנו מתארים את העדכונים העיקריים המאפשרים לך ליצור פתרונות CRM דינמיים ורספונסיביים רבים.

שיפור 1: תמיכה בשדות נוספים בממשק API של RelatedRecords

הרחבנו את ה-API של VTAP RelatedRecords כך שיכלול תמיכה ב- extrafields פרמטר, המאפשר לך לאחזר שדות נוספים מעבר לשדות ברירת המחדל שסופקו. שיפור זה מציע גמישות רבה יותר בעבודה עם רשומות קשורות, ומאפשר אינטראקציות נתונים עשירות יותר.

VTAP.Detail.RelatedRecords

API זה מביא רשומות קשורות עבור מודול נתון. כברירת מחדל, הוא כולל שדות מופעלים עבור יצירה מהירה, כותרת וכו'. עם החדש extrafields פרמטר, כעת תוכל לציין שדות נוספים שייכללו בתגובה, כדי לספק תובנה רבה יותר לגבי נתונים קשורים.

מקרה שימוש לדוגמה: נניח שאתה עובד עם מודול אנשי הקשר וברצונך לאחזר רשומות מקרה קשורות הכוללות שדות כגון ערוץ מקרה ו slastatus, שאינם חלק מתגובת ברירת המחדל. כעת תוכל לכלול בקלות שדות אלה בבקשת ה-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

    });

 

שיפור 2: תמיכת עמודות תווית בממשק API של RelatedRecords

בנוסף לשיפורים לעיל, הוספנו גם תמיכה בעמודת התווית ב-VTAP RelatedRecords API. שיפור זה מאפשר לך לכלול את שם הרשומה (תווית) בתגובת ה-API, מה שמקל על הזיהוי והעבודה עם רשומות קשורות.

VTAP.Detail.Record

בעבר, ממשק API של RelatedRecords לא תמך בהכללה של עמודת התווית, המכילה את שם הרשומה. כעת, על ידי שימוש בפרמטר extrafields, תוכל לבקש תווית זו בקריאות ה-API שלך.

מקרה שימוש לדוגמה: בעת שליפת רשומות מקרה קשורות, ייתכן שתרצה לכלול את שם הרשומה לזיהוי קל. כל שעליך לעשות הוא להעביר את התווית כשדה נוסף:

 

שיפור 2: תמיכת עמודות תווית בממשק API של RelatedRecords

בנוסף לשיפורים לעיל, הוספנו גם תמיכה בעמודת התווית ב-VTAP RelatedRecords API. שיפור זה מאפשר לך לכלול את שם הרשומה (תווית) בתגובת ה-API, מה שמקל על הזיהוי והעבודה עם רשומות קשורות.

VTAP.Detail.Record

בעבר, ממשק API של RelatedRecords לא תמך בהכללה של עמודת התווית, המכילה את שם הרשומה. כעת, על ידי שימוש בפרמטר extrafields, תוכל לבקש תווית זו בקריאות ה-API שלך.

מקרה שימוש לדוגמה: בעת שליפת רשומות מקרה קשורות, ייתכן שתרצה לכלול את שם הרשומה לזיהוי קל. כל שעליך לעשות הוא להעביר את התווית כשדה נוסף:


  

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

    });

 

שיפורים אלו הם חלק מהמחויבות המתמשכת שלנו לספק לך כלים רבי עוצמה לבניית יישומים דינמיים ברמה ארגונית על פלטפורמת Vtiger CRM. אנו ממליצים לך לחקור את התכונות החדשות הללו ולשלב אותן בפרויקטים שלך כדי לשפר את חווית המשתמש הכוללת.

הישאר מעודכן לעדכונים נוספים, וקידוד שמח!

 

שיפורים אלו הם חלק מהמחויבות המתמשכת שלנו לספק לך כלים רבי עוצמה לבניית יישומים דינמיים ברמה ארגונית על פלטפורמת Vtiger CRM. אנו ממליצים לך לחקור את התכונות החדשות הללו ולשלב אותן בפרויקטים שלך כדי לשפר את חווית המשתמש הכוללת.

הישאר מעודכן לעדכונים נוספים, וקידוד שמח!

 
 
 

מקרה שימוש בלקוח VTAP

 
 

לקוח אחד ביקש לא להציג את בלוק המוזמנים במודול האירועים עבור אירועים מסוג מותאם אישית מלבד שיחה ופגישה. זה תפס מקום על המסך ללא שימוש באירועים מסוג מותאם אישית המשמשים לאירועים פנימיים.

טיפול באירועים משופר במודול האירועים

VTAP Event API כולל כעת את היכולת לשלוט בנראות של בלוק המוזמנים בתוך מודול האירועים. שיפור זה מאפשר שליטה מדויקת על ממשק המשתמש, המותאם לצרכים הספציפיים של האפליקציה שלך.

  • VTAP.Event.Register: פונקציה זו מאפשרת לך לרשום אירועים בצד הלקוח ולקבל התקשרות חוזרת כאשר אירועים אלו מתרחשים בממשק המשתמש. רשימה מקיפה של אירועים נתמכים זמינה כאן.
  • VTAP.Event.Trigger: פונקציה זו מאלצת ביצוע אירועים המסופקים על ידי ממשק המשתמש של Vtiger. הצגנו שני אירועים חדשים להצגה והסתרה של בלוק המוזמנים במודול האירועים:
  • EVENT_SHOW_INVITEES: מפעיל את התצוגה של בלוק המוזמנים.
  • EVENT_HIDE_INVITEES: מסתיר את גוש המוזמנים.

אתה יכול למנף אירועים אלה כדי לשלוט באופן דינמי על הנראות על סמך קלט המשתמש. עבור סוגי פעילות אחרים, אתה יכול להסתיר את בלוק המוזמנים כדי לייעל את חווית המשתמש.

צור סקריפט VTAP עבור מודול האירועים עם השם מוזמנים והעתק את הפונקציה שלהלן כדי להסתיר את בלוק המוזמנים עבור סוג פעילות מלבד פגישה וקריאה:

 

לקוח אחד ביקש לא להציג את בלוק המוזמנים במודול האירועים עבור אירועים מסוג מותאם אישית מלבד שיחה ופגישה. זה תפס מקום על המסך ללא שימוש באירועים מסוג מותאם אישית המשמשים לאירועים פנימיים.

טיפול באירועים משופר במודול האירועים

VTAP Event API כולל כעת את היכולת לשלוט בנראות של בלוק המוזמנים בתוך מודול האירועים. שיפור זה מאפשר שליטה מדויקת על ממשק המשתמש, המותאם לצרכים הספציפיים של האפליקציה שלך.

  • VTAP.Event.Register: פונקציה זו מאפשרת לך לרשום אירועים בצד הלקוח ולקבל התקשרות חוזרת כאשר אירועים אלו מתרחשים בממשק המשתמש. רשימה מקיפה של אירועים נתמכים זמינה כאן.
  • VTAP.Event.Trigger: פונקציה זו מאלצת ביצוע אירועים המסופקים על ידי ממשק המשתמש של Vtiger. הצגנו שני אירועים חדשים להצגה והסתרה של בלוק המוזמנים במודול האירועים:
  • EVENT_SHOW_INVITEES: מפעיל את התצוגה של בלוק המוזמנים.
  • EVENT_HIDE_INVITEES: מסתיר את גוש המוזמנים.

אתה יכול למנף אירועים אלה כדי לשלוט באופן דינמי על הנראות על סמך קלט המשתמש. עבור סוגי פעילות אחרים, אתה יכול להסתיר את בלוק המוזמנים כדי לייעל את חווית המשתמש.

צור סקריפט VTAP עבור מודול האירועים עם השם מוזמנים והעתק את הפונקציה שלהלן כדי להסתיר את בלוק המוזמנים עבור סוג פעילות מלבד פגישה וקריאה:


  

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

            }

        }

    }

});

 
 

הירשם כדי לקבל את העדכונים האחרונים!