קודים לתקשור עם מערכת טלפונית דרך אקסס



  • אני מעלה בזאת את הממשק שבניתי לתקשור עם מערכות טלפוניות בימות המשיח דרך קובץ Access (אקסס).
    הממשק הועלה לפורום הישן, ואני מעלה אותו מחדש לבקשת כמה וכמה
    בקובץ המצורף ישנו אוסף של קודים כללים שדרכם ניתן לתקשר דרך קובץ האקסס עם שרתי ימות המשיח, הקודים מאפשרים ייבוא נתונים מכל סוג, העלאת נתונים מכל סוג, ניהול רשימות תפוצה והפעלת קמפיינים.
    ניתן להוריד מכאן
    תקשור עם מערכת טלפונית.accdb

    מכיון שהצרכים של כל אחד ואחד הם צרכים שונים ומגוונים, על כן לא בניתי ממשק של טפסים ודוחות המתקשר עם הקודים, דבר כזה מצריך ירידה לרזולוציות של פונקציות הנצרכות לכל מערכת ומערכת.
    צירפתי כאן קובץ בסיסי המכיל פונקציות בסיסיות כמו, הורדת דוחות האזנה חודשיים ויומיים, והעלאת קובץ טקסט לשלוחה.
    ניתן להוריד מכאן
    תקשור עם מערכת טלפונית 4.0.zip
    כמו כן ניתן לראות כאן סרטון הדרכה איך להפעיל את הקודים
    https://drive.google.com/open?id=1jGsME4CR2A5-ksaXbSKKRRDEQhTwq7bj

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

    וכעת להסבר לגבי הקובץ,
    הקובץ מחולק ל – 8 מודולים:

    1. ApiYemot
      אוסף מקוצר ונגיש של כל הקודים הקיימים
    2. Campaign
      קודים לתקשור על מערכת 'שיגור הודעות', יצירת קמפיין, הפעלה, מחיקה וניהול רשימות תפוצה
    3. Contact
      מודול כללי האחראי לקבלת 'טוקן' התחברות לימות המשיח
    4. CreateTable
      מודול כללי האחראי ליצירת טבלה לצורך קבלת הנתונים
    5. ImportingFiles
      מודול יבוא נתונים משרת ימות המשיח ומקובץ מקומי במחשב
    6. JsonConverter
      מודול כללי היוצר אובייקט Json ממחרוזת המתקבלת בקבצי ymgr של ימות
    7. UploadingFiles
      מודל העלאת נתונים לשרת ימות המשיח
    8. WebHelpers
      מסייע ה web לתקשור עם ה api של ימות
      אני אתן כאן הסבר לגבי הקודים השימושים שמאוחסנים במודול ApiYemot שהם בעצם 'קיצור דרך' לכל יתר המודולים והקודים שמאוחסנים בקובץ, במודול זה אנחנו משתמשים בפועל.

    ymtImportFileFromServer – ייבוא קובץ ymgr משרתי ימות המשיח
    הקוד מקבל קובץ משרתי ימות המשיח, מנתח אותו, ומייבא אותו לתוך טבלה מקומית באקסס
    הקוד מתאים לכל סוג קובץ, אם זה LogRecordingAndEnteringData.ymgr אוApprovalAll.ymgr ואם זה approval_number_log.ymgr
    הטבלה שתקבל את הנתונים תהיה בנויה באותה צורה שבנוי הקובץ המקורי, אלא שהיא מחולקת לעמודות ברורות המייצגות את סוגי הערכים, ורשומות המציגים את הערכים
    ארגומנטים נדרשים: מספר מערכת, סיסמה, כתובת הקובץ, שם הקובץ, שם טבלה לאחסון הקובץ
    דוגמא:

    ymtImportFileFromServer "0771234567","1234","/Log","LogFolderEnterExit-2019-09.ymgr","נתוני האזנה"
    

    הקוד מיבא את קובץ LogFolderEnterExit-2019-09 מתיקיית הלוגים שבמערכת, אל תוך טבלה חדשה בשם 'נתוני האזנה'
    הערה: הקוד יוצר את הטבלה, אין צורך שהטבלה תהיה קיימת במערכת, במקרה שהטבלה כבר קיימת הקוד יחליף אותו, ניתן להחליף את ההגדרה שבמקרה שהטבלה קיימת הוא יצור טבלה חדשה בשם "נתוני האזנה1" וכן הלאה.
    נקודה נוספת,
    הקוד משתמש בפונקציית DownloadFile המקבלת את פרטי הקובץ בימות ומחזירה אותו כטקסט, ולאחר מכן הקוד ממשיך וממיר את המחרוזת טקסט לטבלה
    במקרה בו רוצים לקבל את תוכן הטקסט ללא המרה לטבלה באקסס (כגון לקבצים שאינם בסיומת ymgr, קובץ ini למשל, אם רוצים 'לקרוא' הגדרות של שלוחה) אפשר לקרוא ישירות לפונקציה DownloadFile והופנקציה תחזיר את תוכן הקובץ
    הפונקציה דורשת: מספר מערכת, סיסמה, כתובת הקובץ ושם הקובץ
    דוגמא:

    DownloadFile "0771234567","1234","/1","ext.ini"
    

    הפונקציה תחזיר את תוכן קובץ ההגדרות של שלוחה 1 שתחת התפריט הראשי

    ymtImportFileFromComputer – ייבוא קובץ ymgr מתיקיה מקומית במערכת
    הקוד הזה עושה את אותה הפעולה שעושה ymtImportFileFromServer אלא שהוא אינו מיבא קובץ משרתי ימות המשיח אלא קובץ מקומי שהורד כבר אל המחשב (למקרה בו אין חיבור לאינטרנט וכדו')
    בקוד הזה יש לספק במקום מספר מערכת, סיסמה ומיקום, רק את הנתיב המלאה של הקובץ
    ארגומנטים נדרשים: נתיב הקובץ, שם טבלה לאחסון הקובץ
    דוגמא:

    ymtImportFileFromComputer "C:\Users\user\Desktop\ApprovalAll.ymgr","נתוני מכירות"
    

    הקוד מיבא את קובץ ApprovalAll.ymgr משולחן העבודה במחשב, אל תוך טבלה חדשה בשם 'נתוני מכירות'.
    הערה: ניתן לקבל את נתיב הקובץ על ידי יצירת מודול המציג דיאלוג של אופיס, בדומה לדיאלוג של 'פתיחה'.

    ymtUplodingFileToServer – עדכון קובץ בשרתי ימות המשיח
    הקוד מעלה תוכן טקסט אל קבצים המאוחסנים בשרתי ימות המשיח.
    הקוד יכול לעדכן כל קובץ שהוא,
    לדוגמא, ניתן לעדכן את קובץEnterIDValName.ini המכיל את ערכי השמות למספרי הזיהוי על פי טבלה באקסס.
    כמו"כ באם הקובץ לא קיים, הקוד יצור אותו, מה שנותן אופציה ליצור שלוחה, על ידי העלאת קובץ ext.ini המכיל את הגדרות השלוחה, ולציין את המיקום השלוחה הרצוי
    ארגומנטים נדרשים: מספר מערכת, סיסמה, כתובת הקובץ, שם הקובץ, תוכן הקובץ
    דוגמא:

    ymtUplodingFileToServer "0771234567","1234","/1","IdListMessage.ini","0501234567=l-/1/1.f-000"
    

    הקוד יעלה לקובץ IdListMessage שבשלוחה 1 את נתוני ההשמעה למספר טלפון 0501234567
    הערה:
    כמובן שאת נתוני ההשמעה ניתן ליצור על ידי שאילתות וכדו' ואז לשלוח את התוצאה המומרת למחרוזת.
    נקודה נוספת, הקוד "דורס" את מה שקיים כרגע בקובץ, כך שאם רוצים להוסיף על קובץ קיים, יש להשתמש קודם כל בפונקציה DownloadFile שהוזכרה לעיל כדי לקרוא מה קיים כרגע בקובץ, ואז לשרשר אליה את התוספת שרוצים להוסיף.

    ymtRunCampaign – הפעלת קמפיין
    הקוד מפעיל קמפיין ששמור במערכת
    ניתן להפעיל כהפעלה רגילה, או כהפעלת בדיקה למספר\ים מסוימים.
    ארגומנטים נדרשים: מספר מערכת, סיסמה, מספר קמפיין
    את מספר הקמפיין ניתן למצוא בשורת הדפדפן בעת הצגת הקמפיין באתר, או לחילופין על ידי קבלת רשימת הקמפיינים על ידי הקוד ymtGetTemplates שיובא בהמשך
    ארגומנטים אופציונלים: מספר\ים לחיוג
    דוגמא:

    ymtRunCampaign "0771234567","1234","1234567"
    

    לשליחה למספר או מספרים מסוימים

    ymtRunCampaign "0771234567","1234","1234567","0501234567"
    

    או

    ymtRunCampaign "0771234567","1234","1234567","0501234567:0521234567"
    

    הקוד יחזיר הודעה עם סטטוס הפעלת הקמפיין

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

    ymtScheduleCampaign "0771234567","1234","1234567",#05/05/2020#,"16:45:00"
    

    הקוד יחזיר הודעה עם סטטוס יצירת תזמון הקמפיין

    ymtCreateTemplate – יצירת קמפיין
    יצירת קמפיין חדש במערכת
    ארגומנטים נדרשים: מספר מערכת, סיסמה
    דוגמא:

    ymtCreateTemplate "0771234567","1234"
    

    הקוד יחזיר הודעה עם פרטי הקמפיין החדש שנוצר, שים לב הגדרות הקמפיין יועתקו מקמפיין בררית המחדל שלך

    ymtUpdateTemplate – עדכון הגדרות הקמפיין
    ניתן לשלוח דרך הקוד עדכון להגדרות הקמפיין, לדוגמא זיהוי שיחה יוצאת חדש, או נסיונות חיוג וכדו'
    ארגומנטים נדרשים: מספר מערכת, סיסמה, מספר קמפיין, תיאור קמפיין, מזהה שיחה יוצאת, סוג קמפיין, מספר לניתוב, אפשרויות הסרה, קמפיין ברירת מחדל, מדיניות שיחות נכנסות, הגבלת קווים מחייגים, הגבלת קווים מנותבים, זמן חיוג, מדיניות חיוג חוזר, נסיונות חיוג, המתנה בין נסיונות, מזהה תא קולי, הודעה אישית מופעלת
    פירוט ההגדרות הניתנות לשינוי, והערכים שיש לשלוח:
    תיאור קמפיין – ניתן לשלוח כל קובץ טקסט שהוא שיכנס בשם הקמפיין.
    מזהה שיחה יוצאת – מספר מזהה שאושר לשימוש.
    סוג קמפיין – יש לשלוח אחד מ-4 אופציות: "SIMPLE" – השמעת הודעה בלבד; "MESSAGE" – שליחת הודעה בדוא"ל בהקשה על 1; "VOICEMAIL", - השארת הודעה בתא קולי בהקשה על 1, "BRIDGE" - ניתוב שיחה למענה אנושי, את המספר לניתוב יש לשלוח בערך "מספר לניתוב".
    מספר לניתוב – מספר אליו יש לנתב את השיחה באם נשלח סוג קמפיין "BRIDGE".
    אפשרויות הסרה – יש לשלוח אחד מ-3 אופציות: "NONE" – ללא אפשרות הסרה; "SILENT" - הסרה בלחיצה על 9 ללא הודעה; "WITH_MESSAGE" - הסרה בלחיצה על 9 + הודעה סטנדרטית.
    קמפיין ברירת מחדל – ערך TRUE כדי להגדיר קמפיין זה כקמפיין ברירת מחדל, ערך FALSE כדי לבטל כקמפיין ברירת מחדל.
    מדיניות שיחות נכנסות – יש לשלוח אחד מ-4 אופציות: "OPEN" - כל אחד יכול להאזין; "BLACKLIST" - רשימה שחורה; "WHITELIST" - רשימה לבנה; "BLOCKED" - חסום - אין שיחות נכנסות.
    הגבלת קווים מחייגים – כמות המספרים המחייגים המקסימלי.
    הגבלת קווים מנותבים – כמות המספרים המנותבים המקסימלית.
    זמן חיוג – כמות השניות לחיוג.
    מדיניות חיוג חוזר – יש לשלוח אחד מ-3 אופציות: "NONE" - ללא חיוג חוזר; "FAILED" - חיוג חוזר אם נכשל; "EMERGENCY" - חיוג חוזר אם אין מענה.
    נסיונות חיוג – כמות נסיונות חיוג.
    המתנה בין נסיונות – כמות השניות להמתנה בין כל נסיון חיוג.
    מזהה תא קולי – ערך TRUE להפעלת מזהה תא קולי, וערך FALSE לביטול הפעלת מזהה תא קולי.
    הודעה אישית מופעלת - ערך TRUE להפעלת הודעה אישית, וערך FALSE לביטול ההפעלה.
    דוגמא:

    ymtUpdateTemplate "0771234567","1234","123456","עדכון מערכת לימודים", "0771234567", "BRIDGE","0501234567","SILENT",TRUE,"OPEN",600,100,60,"NONE",3,180,TRUE,TRUE
    

    ymtDeleteTemplate – מחיקת קמפיין
    מחיקה של קמפיין ששמור במערכת
    ארגומנטים נדרשים: מספר מערכת, סיסמה, מספר קמפיין
    דוגמא:

    ymtDeleteTemplate "0771234567","1234","123456"
    

    הקוד ימחוק את קמפיין מספר 123456

    ymtUploadPhoneList – עדכון רשימת מספרים ברשימת התפוצה
    שליחת רשימה של מספרי טלפונים, בשביל להוסיף אותם לרשימת התפוצה או למחוק ולהסיר אותם מרשימת התפוצה.
    הקוד לוקח את הרשימה מטבלה מקומית שמכילה את נתוני הרשימה, הטבלה צריכה להיות בסדר עמודות של: מספר טלפון, שם, מידע נוסף
    ארגומנטים נדרשים: מספר מערכת, סיסמה, מספר קמפיין, שם הטבלה, סוג עדכון
    ארגומנטים אופציונלים: חסימת מספר
    סוג עדכון – אחד מ-3 אופציות: "UPDATE" – עדכון המספרים והוספת מספרים חדשים; "NEW" – החלפת רשימה מספרים ברשימה קיימת; "REMOVE" – הסרת רשימת המספרים מרשימת התפוצה.
    חסימת מספר – יש לשלוח 0 אם המספרים יעודכנו כמספרים 'פתוחים', או 1 אם המספרים יעודכנו כמספרים 'חסומים'.
    דוגמא:

    ymtUploadPhoneList "0771234567","1234","1234567","רשימת תלמידים","UPDATE"
    

    הקוד יעלה את כל הרשומות שמאוחסנות בטבלת 'רשימת תלמידים' אלא קמפיין מספר 1234567

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

    ymtUpdateTemplateEntry "0771234567","1234","1234567","0501234567","ישראל ישראלי","כיתה ח",0,"126187126"
    

    הקוד יעדכן את רשומה מספר 126187126
    או:

    ymtUpdateTemplateEntry "0771234567","1234","1234567","0501234567","ישראל ישראלי","כיתה ח",0,"126187126"
    

    הקוד יוסיף רשומה חדשה עם הפרטים שנשלחו.

    ymtUpdateTemplateEntries – מחיקה, חסימה או ביטול חסימה של רשומה מתוך רשימת תפוצה
    מחיקת רשומה, או שינוי ערך החסימה של רשומה, חסום או פתוח.
    ארגומנטים נדרשים: מספר מערכת, סיסמה, מספר קמפיין, מספר רשומה לעדכון, ערך העדכון
    ערך העדכון – אחד מ-3 אופציות: "block" – חסימת מספר; "unblock" – ביטול חסימה; "delete" – מחיקה.
    דוגמא:

    Sub ymtUpdateTemplateEntries "0771234567","1234","1234567","126187126","delete"
    

    הקוד ימחוק את רשומה 126187126

    ymtClearTemplateEntries – איפוס רשימת תפוצה
    איפוס כל רשימת תפוצה
    ארגומנטים נדרשים: מספר מערכת, סיסמה, מספר קמפיין

    ymtClearTemplateEntries "0771234567","1234","1234567"
    

    ymtGetListPhones – ייבוא רשימת תפוצה לתוך טבלה
    הקוד מייבא רשימת תפוצה שלמה לתוך טבלה חדשה בשם "ListPhone"
    ארגומנטים נדרשים: מספר מערכת, סיסמה, מספר קמפיין

    Sub ymtGetListPhones "0771234567","1234","1234567"
    

    הקוד מייבא את כל המספרים השמורים ברשימת התפוצה של קמפיין 1234567 לתוך טבלה חדשה בשם "ListPhone".

    ymtGetTemplates – קבלת רשימת הקמפיינים השמורים במערכת
    קבלת רשימה של כל הקמפיינים השמורים במערכת, עם כל המאפיינים שלהם.
    ארגומנטים נדרשים: מספר מערכת, סיסמה
    דוגמא:

    ymtGetTemplates "0771234567","1234"
    

    הקוד יצור טבלה חדשה בשם "Templates" ויזין לתוכה את רשימת הקמפיינים ששמורים במערכת.

    ymtSetPassword – החלפת סיסמת הניהול
    ארגומנטים נדרשים: מספר מערכת, סיסמה ישנה, סיסמה חדשה
    דוגמא:

    ymtSetPassword "0771234567","1234","5678"
    

    סיסמת הניהול תוחלף מ – 1234 ל – 5678

    ymtGetSession – קבלת נתוני משתמש
    קבלת נתוני המשתמש של המערכת, כמות יחידות, אימייל, שם איש קשר וכו'
    ארגומנטים נדרשים: מספר מערכת, סיסמה
    דוגמא:

    ymtGetSession "0771234567","1234"
    

    הקוד יצור טבלה חדשה בשם "Session" ויאחסן בה את פרטי המשתמש של המערכת.



  • למי ששאל,
    תיקנתי בקובץ המצורף גם את בעיית הכניסה עם Enter_id



  • תודה ענקית



  • @אריה אתה יכול להעלות את הקבצים לפורום
    אפשר להעלות גם קבצים גדולים



  • @אריה אריה מצויין אם יתאפשר לך להוסיף את המספר שנכנס איתו שזה לא מופיע



  • כדאי אולי שתעביר את הפוסט לפורום "טיפים עצות והדגמות" זה יותר מתאים לשם.
    אגב תיקנת בקובץ גם את הקוד של הקמפינים בהפעלת בדיקה למספר מסוים?



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



  • פוסט זה נמחק!


  • @אליהו אמר בקודים לתקשור עם מערכת טלפונית דרך אקסס:

    @אריה אריה מצויין אם יתאפשר לך להוסיף את המספר שנכנס איתו שזה לא מופיע

    לאחר בדיקה נוספת ראיתי שהכל קיים תודה רבה
    אתה ממש אריה



  • @אריה
    ראשית תודה מיוחדת על הפיתוח המדהים
    ב. האם שייך שבאקסס שנפתח הכותרות יהיו בעברית?



  • פוסט זה נמחק!


  • ניסיתי להריץ את הקובץ, וכל הזמן אומר שהקובץ לא נמצא בשלוחה, למרות שאני רואה שהקובץ קיים לי בשלוחת הלוג
    מה יכול להיות?



  • @sararivka קובץ יומי או קובץ חודשי?



  • אני בוחרת חודשי



  • @sararivka
    אתה כותב את החודש ב-2 ספרות והשנה ב-4 ספרות?



  • @אלינסון אמר בקודים לתקשור עם מערכת טלפונית דרך אקסס:

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

    אפשר בהחלט להכין טופס שמוריד את קבצי ה Approval, מה כוונתך להגדיר כל כמה זמן להוריד?



  • פוסט זה נמחק!


  • @אריה הגדול!!!
    בזכות הסרט שלך הבנתי לראשונה איך כותבים קוד..
    אבל עדיין אני לא יודע איך אפשר לפקוד עליו שכל 5 שניות יוריד את הנתונים החדשים שהגיעו.
    יש לנו תלמידים והם מעדכנים במערכת וצריך שנראה את זה מיד (שכל הנתונים החדשים שלהם יתווספו לישנים).
    תבורך מפי עליון פי מיליון על הפיתוח הזה



  • @אלינסון
    אפשר לתזמן קוד כל X שניות על ידי שימוש באופציית 'פסיקת שעון' בטופס של אקסס
    ואז כאשר הטופס טעון (כלומר פתוח) הוא מפעיל את הקוד כל X שניות
    תוכל לראות בסרטון הזה (אם כבר סרטונים....)
    https://drive.google.com/open?id=1cg9tSNsrrAHQ1sO3bVJH6OxmAqmXg-ly
    שים לב שבפסיקת השעון כותבים אלפית שניה, כלומר 5000 מייצג 5 שניות

    בכל מקרה, בכל X שניות הוא מייבא מחדש את כל הנתונים ולא רק את הנתונים החדשים
    אם תרצה שיוריד רק את החדשים צריך להשתמש באופציה המוטמעת בקובץ של בעלי מכירות (אולי בקרוב אני יעלה קובץ מעודכן לקובץ ההוא)



  • @אריה
    שוב תודה מיוחדת על כל מה שפתחת
    ברצוני לשאול אם קשור גם לקובץ הזה יש לי מערכת קבלת נתונים לכולל
    דהיינו שיכתבו לי בכל שבוע כמות שעות שנלמדו האם יש אפשרות לחבר את כל סך השעות שיחשבן בסוף בצורה אוטמטית ?


התחבר כדי לפרסם תגובה