שימו לב, הפוסט עבר עדכון
אני מעלה בזאת ממשק שבניתי לתקשור עם מערכות טלפוניות בימות המשיח דרך קובץ Access (אקסס).
בקובץ המצורף ישנו אוסף של קודים כלליים שדרכם ניתן לתקשר דרך קובץ האקסס עם שרתי ימות המשיח, הקודים מאפשרים ייבוא נתונים מכל סוג, העלאת נתונים מכל סוג, ניהול רשימות תפוצה והפעלת קמפיינים.
ניתן להורדה מכאן
תקשור-עם-מערכת-טלפונית.rar
הקובץ מכיל ג"כ טפסים יעודיים להרצת הקודים האמורים, הפונקציות הנתינות להרצה הם פונקציות כלליות, אבל למי שיש קצת הבנה בסיסית באקסס, יכול להשתמש עם הקודים הללו לאפשרויות בלתי מוגבלות לקבלת נתונים וניתוחם, ושליטה מלאה במערכת הטלפונית.
לדוגמא,
על ידי מודול ייבוא נתונים, ניתן לייבא קובץ לוג של היסטוריית כניסה לשלוחות, על ידי שאילתה לסכם את נתוני האזנה של כל מאזין, ולאחר מכן על ידי מודל העלאת נתונים להעלות קובץ השמעת הודעה אישית לכל אחד בהתאם לסך האזנות, או לעדכן את קובץ הנקודות שלו בהתאם לזה.
דוגמא נוספת,
על ידי מודל ייבוא נתונים, ניתן לייבא קובץ של 'חלוקת מספרי אישור', לאחר מכן להשתמש במודול קמפיינים ליצור קמפיין חדש, להעלות אליו את מספרי הטלפון שקיבלו מספר אישור, ולהפעיל את הקמפיין עבורם.
כל הנ"ל מבלי להיכנס כלל לאתר של ימות המשיח.
וכעת להסבר לגבי הקובץ,
הקובץ מחולק ל – 8 מודולים:
- ApiYemot
אוסף מקוצר ונגיש של כל הקודים הישירים לתקשור עם שרת 'ימות' - Campaign
קודים לתקשור עם מערכת 'שיגור הודעות', יצירת קמפיין, הפעלה, מחיקה וניהול רשימות תפוצה - Contact
מודול כללי האחראי ליצירת החיבור לשרת ימות המשיח - CreateTable
מודול כללי האחראי ליצירת טבלאות לצורך קבלת הנתונים - ImportingFiles
מודול יבוא נתונים משרת ימות המשיח ומקובץ מקומי במחשב - JsonConverter
מודול כללי להמרת מחזורת טקסט לפורמט Json - UploadingFiles
מודל העלאת נתונים לשרת ימות המשיח - WebHelpers
מסייע ה web לתקשור עם ה api של ימות
אני אתן כאן הסבר לגבי הקודים השימושים שמאוחסנים במודול ApiYemot שהם בעצם 'קיצור דרך' לכל יתר המודולים והקודים שמאוחסנים בקובץ, במודול זה אנחנו משתמשים בפועל.
ymtImportFileFromServer – ייבוא קובץ ymgr משרתי ימות המשיח
הקוד מקבל קובץ משרתי ימות המשיח, מנתח אותו, ומייבא אותו לתוך טבלה מקומית באקסס
הקוד מתאים לכל סוג קובץ, אם זה LogRecordingAndEnteringData.ymgr
או ApprovalAll.ymgr
ואם זה approval_number_log.ymgr
הטבלה שתקבל את הנתונים תהיה בנויה באותה צורה שבנוי הקובץ המקורי, אלא שהיא מחולקת לעמודות ברורות המייצגות את סוגי הערכים, ורשומות המציגים את הערכים
ארגומנטים נדרשים: מספר מערכת, סיסמה, כתובת הקובץ, שם הקובץ, שם טבלה לאחסון הקובץ
ארגומנטים אופציונלים: מצב טבלה קיימת, החל מרשומה, עד רשומה
דוגמא:
ymtImportFileFromServer "0771234567","1234","/Log","LogFolderEnterExit-2019-09.ymgr","נתוני האזנה",1,1,100
הקוד מיבא את קובץ LogFolderEnterExit-2019-09.ymgr
מתיקיית הלוגים שבמערכת, אל תוך טבלה חדשה בשם 'נתוני האזנה', באם כבר קיימת טבלה בשם הזה, הוא ימחוק אותה, הקוד ייבא רק החל משורה 1 מקובץ ועד שורה 100
הערה: הקוד יוצר את הטבלה, אין צורך שהטבלה תהיה קיימת במערכת.
במקרה שהטבלה כבר קיימת ניתן לבחור באחד מ-3 האפשרויות, 1. מחיקת הטבלה הקיימת 2. הוספת מספר רץ לשם הטבלה, לדוגמא "נתוני האזנה1" וכן הלאה. 3. ייבוא לתוך הטבלה הקיימת.
נקודה נוספת,
הקוד משתמש בפונקציית DownloadFile
המקבלת את פרטי הקובץ בימות ומחזירה אותו כטקסט, ולאחר מכן הקוד ממשיך וממיר את המחרוזת טקסט לטבלה
במקרה בו רוצים לקבל את תוכן הטקסט ללא המרה לטבלה באקסס (כגון לקבצים שאינם בסיומת ymgr, קובץ ini למשל, אם רוצים 'לקרוא' הגדרות של שלוחה) אפשר לקרוא ישירות לפונקציה DownloadFile והופנקציה תחזיר את תוכן הקובץ
הפונקציה דורשת: מספר מערכת, סיסמה, כתובת הקובץ ושם הקובץ
דוגמא:
DownloadFile "0771234567","1234","/1","ext.ini"
הפונקציה תחזיר את תוכן קובץ ההגדרות של שלוחה 1 שתחת התפריט הראשי
ymtImportFileFromComputer – ייבוא קובץ ymgr מתיקיה מקומית במערכת
הקוד הזה עושה את אותה הפעולה שעושה ymtImportFileFromServer
אלא שהוא אינו מיבא קובץ משרתי ימות המשיח אלא קובץ מקומי שהורד כבר אל המחשב (למקרה בו אין חיבור לאינטרנט וכדו')
בקוד הזה יש לספק במקום מספר מערכת, סיסמה ומיקום, רק את הנתיב המלאה של הקובץ
ארגומנטים נדרשים: נתיב הקובץ, שם טבלה לאחסון הקובץ
ארגומנטים אופציונלים: מצב טבלה קיימת, החל מרשומה, עד רשומה
דוגמא:
ymtImportFileFromComputer "C:\Users\user\Desktop\ApprovalAll.ymgr","נתוני מכירות",1,1,100
הקוד מיבא את קובץ ApprovalAll.ymgr משולחן העבודה במחשב, אל תוך טבלה חדשה בשם 'נתוני מכירות'.
הקוד מייבא רק את 100 השורות הראשונות, באם ימצא טבלה עם הטבלה, הטבלה תמחק.
הערה: ניתן לקבל את נתיב הקובץ על ידי יצירת מודול המציג דיאלוג של אופיס, בדומה לדיאלוג של 'פתיחה'.
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" ויאחסן בה את פרטי המשתמש של המערכת.