‏הצגת רשומות עם תוויות כספית. הצג את כל הרשומות
‏הצגת רשומות עם תוויות כספית. הצג את כל הרשומות

3 באפריל 2011

כיצד לשלב את רב-מסר במערכת ניהול לקוחות

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

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

ברשימה ברב-מסר נגדיר סדרת מסרים שרלוונטית ללקוחות חדשים של כספית. לדוגמה:
  • היום ה-0: ברכה על הצטרפות לכספית.
  • לאחר חודש: הצעה לגיבוי מקוון.
  • לאחר 1/2 שנה: שאלה על שביעות הרצון מכספית.
  • וכו'.
שימוש נוסף שרצינו לעשות ברשימה בר-מסר הוא להגדיר מסרים תלוי תאריך שישלחו כך:
  • 10 ימים לפני שפג הרישיון לשימוש בכספית.
  • 10 ימים לפני שפג הרישיון לשימוש בגיבוי המקוון.
  • וכו'.
לצורך כך בנינו רשימה ברב מסר ובה כל השדות הרלוונטיים למשלוח המיילים. לדוגמה: שם הלקוח, תאריך סיום הרישיון, תאריך סיום הגיבוי וכו'.

החלק הטכני
ועכשיו לחלק הטכני בפוסט. כיצד מבצעים רישום אוטומטי של לקוח למערכת רב-מסר מתוך קוד "שרת" המערכת מבוססת .Net?

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

כמה מילות הסבר:
  1.  הקידוד שרב-מסר מצפה לו (לפחות במקרה שלנו) הוא Windows-1255 .  הקידוד של Windows-1255  הוא לא url encoding ולא UTF, אלא קידוד נפרד.
  2. שדות מסוג תאריך מעבירים ב-3 חלקים: d[field name], m[field name], y[fields name]
  3. את השדות האחרים מעבירים כך: fields[field name]=field_vale

public void AddToRavMeser()
 {
  const string RAV_MESER = "http://cp.responder.co.il/subscribe.php";
  string postData = "";
 
  DateTime datLicense = (this.License != null) ? this.License.validDate : new DateTime(0);
        string licensComments = (this.License != null) ? this.License.licenseComments : "";
 
        if (string.IsNullOrEmpty(this.email)) throw new Exception("לא ניתן להוסיף לרב מסר לקוח ללא כתובת מייל.");
        
                                                                                    ס  ו  ג   
  postData = string.Format("fields%5Bsubscribers_email%5D={0}&fields%5Bsubscribers_name%5D={1}&fields%5B%F1%E5%E2+%E4%F8%E9%F9%E9%E5%EF%5D={2}&fields%5B%EE%F1%F4%F8+%EC%F7%E5%E7%5D={3}&d%5B%FA%E5%F7%F3+%E4%F8%E9%F9%E9%E5%EF%5D={4}&m%5B%FA%E5%F7%F3+%E4%F8%E9%F9%E9%E5%EF%5D={5}&y%5B%FA%E5%F7%F3+%E4%F8%E9%F9%E9%E5%EF%5D={6}&fields%5B%F2%E5%F1%F7+%EE%E5%F8%F9%E4%5D={7}&fields%5B%F9%ED+%E4%F2%F1%F7%5D={8}&form_id=99999&encoding=windows-1255",
   this.email,
   ToWindows1255(this.firstName),
            ToWindows1255(licensComments), //סוג הרישיון
   this.iClientsID,
   datLicense.Day, datLicense.Month, datLicense.Year, //תוקף הרישיון
   this.OsekMorshe,
   ToWindows1255(this.BusinessName)
   );
 
  HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create("http://cp.responder.co.il/subscribe.php");
  myHttpWebRequest.CookieContainer = new CookieContainer();
  myHttpWebRequest.Method = "POST";
 
  ASCIIEncoding encoding = new ASCIIEncoding();
  byte[] byte1 = encoding.GetBytes(postData);
 
  // Set the content type of the data being posted.
  myHttpWebRequest.ContentType = "application/x-www-form-urlencoded";
 
  // Set the content length of the string being posted.
  myHttpWebRequest.ContentLength = byte1.Length;
 
  Stream newStream = myHttpWebRequest.GetRequestStream();
 
  newStream.Write(byte1, 0, byte1.Length);
 
  // Close the Stream object.
  newStream.Close();
 }
 
 string ToWindows1255(string s)
 {
  //Can not user UrlEncode since it encodes in Unicode and not in Windows-1255
  //string s1 = HttpContext.Current.Server.UrlEncode(s);
  //return s1;
 
  Encoding win1255 = Encoding.GetEncoding(1255);
 
  //Transfer for Unicode to Windows-1255
  byte[] win1255Bytes = win1255.GetBytes(s);
 
  StringBuilder sb = new StringBuilder();
  for (int i = 0; i < win1255Bytes.Length; i++)
  {
   sb.AppendFormat("%{0:x}", win1255Bytes[i]);
  }
return sb.ToString(); 
 }
בעיה ברישום מחדש לרב-מסר
לצערינו נתקלנו בבעיה אחת מציקה. מתברר שכאשר מבצעים רישום מחודש של לקוח שכבר קיים ברשימה ברב מסר הוותק שלו מתאפס. כלומר הוא יתחיל לקבל מחדש את כל המיילים בסדרת המסרים שמיועדת ללקוח חדש.

פנינו לרב-מסר בעניין. הנה המייל ששלחנו:

Title: יצירת קשר ממערכת רב מסר

            Description: מספר חשבון ראשי:3052 שם משתמש:caspit תוכן הפניה:אנא ציינו את שם הרשימה בה קיימת הבעיה:
כל הרשימות

אנא ציינו את שם המסר בו קיימת הבעיה:
לא רלוונטי

אנא רשמו את הבעיה בפירוט הרב ביותר האפשרי (מה בדיוק עשיתם שלב אחרי שלב ומה קרה אז?):
1. ביום 1/1/2011 אני נרשם לרשימה X כלשהיא. תאריך הרישום הוא 1/1/2011 והוותק שלי הוא 0.

2. ביום 1/3/2011 אני נרשם שוב לרשימה X (לצורך עדכון פרטים). תאריך הרישום מתעדכן ל-1/3/2011 והוותק שלי מתאפס ל-0.

נניח שברשימה X יש סדרת מסרים מבוססת וותק: ביום ה-0 נשלחת ברכה ללקוח חדש, אחרי 10 ימים נשלח מסר שמתעניין איך התוכנה פועלת וכו'.

האם המסרים האלה ישלחו שוב מההתחלה?

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

אם לא, מה יקרה למסר שאמור להשלח ביום ה-100 (פחות או יותר 10 ימים אחרי שעדכנתי את הנתונים שלי והוותק התאפס)? האם הוא ישלח?

נראה לי שהפיתרון לבעיה שלי הוא לא לאפס את הוותק במקרה של עדכון נתונים. האם זה נכון?

התשובה שקיבלנו מרב-מסר היא:

From: responder@sysaidcss.com [mailto:responder@sysaidcss.com]
Sent: Sunday, April 03, 2011 9:26 AM
To: dror@caspit.biz
Subject: בנוגע לבקשת שירות #12,068 יצירת קשר ממערכת רב מסר

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

בכבוד רב,
איציק ארז.
רב מסר – צוות תמיכה טכנית.

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

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

5 באוקטובר 2009

המוסך

מזלי הגרוע זימן לי להיות השנה 11 פעמים (בנתיים....) במוסך בגלל כרית האויר שמסרבת לעבוד ברציפות מעל יומיים.
בפעמים הראשונות הייתי מגיעה עצבנית וקוראת את כל העיתונים שנשארו בחדר ההמתנה בחודשים האחרונים.
כיוון שהבעיה לא נפתרה במוסכים הרגילים של פז'ו, התחלתי לעלות בסולם המוסכים: ממוסך לא מוכר למוסך מוכר, למוסך רשמי, למוסך האזורי ומשם הגעתי לפסגה: המוסך המרכזי! מחיר הטיפול עלה בהתאם, גם העצבנות שלי וגם הסטנדרטים של חדר ההמתנה: מחדר מסריח עם הפקידה היחידה של המוסך, שבו בעל המוסך בכבודו ובעצמו בא להודיע לי שהאוטו מוכן, עברתי לחדר ממוזג עם טלביזיה. במוסך הראשי כבר היתה שתיה חמה חינם, הטיפול כולל ניקוי יסודי של המכונית (והאמינו לי שיש אצלי מה לנקות שם) ולמרות הכל הנורהשל כרית האויר ממשיכה לדלוק! אחרי טיפול במוסך האזורי היא דלקה מיד אחרי שהתנעתי את המכונית (אז הם באו אלי הביתה למחרת, לקחו אותה, החזירו אותה נקיה ו...אחרי יום הנורה נדלקה שוב!). אחרי המוסך המרכזי, כרית האויר היתה מוכנה לפעולה יומיים תמימים. כבר היו לי יסורי מצפון. אמרתי לילדים שאם היא תחזיק מעמד חודש – אשלח מכתב התנצלות למוסך על ההתנהגות הבלתי הולמת שלי:
החל מהפעם החמישית שלי במוסכים אני באה עצבנית (כאמור) ומסבירה את הבעיה. מנהל העבודה אומר לי "אל תדאגי". זה השלב שבו אני מתחילה לדאוג. ואז הוא מוסיף להלחיץ ולאמר שיש לו אנשי מקצוע שמתמחים בחשמל ושיש להם מחשב מיוחד שבודק את מנגנון כרית האויר. הוא מבטיח שיבדקו, יזהו את הבעיה ויפתרו אותה. לא לדאוג. אני מעירה הערה עצבנית והולכת לחדר ההמתנה.
החל מהפעם השמינית עליתי על משהוא חדש. אני בעצם קהל כלוא! אין לי לאן (ואיך) לצאת מהמקום. זו הזדמנות מצויינת לעשות את כל מה שרציתי לעשות ולא היה לי זמן. זה אומר: בדיקות של הגרסה החדשה של כספית, כתיבת מאמרי הנהלת חשבונות ופוסטים (כמו הפוסט הזה), קריאה של חומר שיווקי שממתין ל"יום הגדול" שבו יהיה לי זמן לקרוא אותו. פתאום נהייתי אופטימית. אני קמה מקודם בבוקר (5:45!!!) כדי להיות בדיוק ב-7:00 במוסך. אני יכולה לאמר לכם – לאור הנסיון הרב שצברתי בשנה האחרונה, שלמוסכים הרשמיים אין טעם להגיע יותר מרבע שעה לאחר הפתיחה – התור כבר עצום! אני מכינה לי תיק, שדי דומה תיק של פיקניק: פירות, ארוחת צהריים, בקבוק סודה – שיהיה משהוא לנשנש ולשתות. מעמיסה: מחשב נייד (מומלץ להביא גם כבל מאריך – כי לא תמיד השקע קרוב למקום שבו נוח לשבת). כדאי להביא גם משהו חם ללבוש (גם אם מדובר באמצע הקיץ!) כי בחדרי ההמתנה של המוסכים הגבוהים ממש קר! חשוב כמובן להביא מחברת עם רשימת המטלות ואת המסמכים/תוכנה שיש לבדוק. וזהו!
תשמעו! זה הפך להיות היום היעיל ביותר של החודש! המנכ"ל פשוט צובר לי רשימות ליום המוסך החודשי שלי. כי הוא יודע שהכל יתוקתק שם. והכל טס! אני מגיעה כאמור בדיוק ב-7:00. מברכת את העובדים לשלום, מוצאת את המקום הנוח ביותר בחדר ההמתנה. אז אני מחברת את המחשב הנייד לשקע, מארגנת לי את האוכל, לובשת סווטשר, מקרבת אלי את פח האשפה המעוצב - אילתור מוצלח לשולחן שעליו כדאי להניח את המחשב (בביקור הראשון שלי במוסך המרכזי אמר לי מנהל העבודה שלא מומלץ לשים מחשב נייד על הברכיים. זה לא בריא. אבל אין להם שולחן....).
המאמר הזה למשל, נכתב בביקור ה-11 שלי במוסך. אני יושבת בחדר ההמתנה עם 7 גברים נוספים שלא מוציאים הגה, בוהים בחלל או בעיתון ומריצה דברים. מעניין איך היה נראה חדר ההמתנה עם רוב נשי!! בסוף יום העבודה, אני נכנסת מותשת למכונית המבריקה, בודקת שלעת עתה הנורית איננה דולקת, מברכת שוב את העובדים לשלום ולהתראות ונוסעת. אני כבר מרגישה כמו חלק מהצוות של המוסך, בהבדל קטן: להם המוסך משלם ואילו אני משלמת למוסך...
הדברים הגיעו לידי כך שמנכ"ל כספית איים עלי שגם אם כרית האויר תתוקן בעזרת השם (כנראה רק הוא יכול לעזור לנו)– הוא ישלח אותי למוסך לפעם בחודש!

6 בספטמבר 2009

אני בטוחה שלחברות שמארגנות משלחות לטיפוס הרים על הקילומנג'רו ושייט במימיו הסוערים של האמזונס יש סיפורי לקוחות מרתקים. אבל מתברר שגם לנו, כולה תוכנה להנהלת חשבונות, יש מידי פעם איזה סיפור מעניין שבו המציאות עולה על הדמיון.
בדרך כלל חיינו העסקיים נעים על מי מנוחות: בעלי עסקים שמתעניינים בתוכנת כספית, לקוחות שרוצים לשאול "שאלה קטנה" ולקוחות חדשים שמעדיפים לרכוש רשיון בטלפון על פני רכישה באתר. סטנדרטי. אפילו לא עובדים אצלינו שעות נוספות...
לפני כמה שבועות קיבלתי הודעה משרות הלקוחות שלנו שלקוחה מבקשת לדבר עם הבעלים. התקשרתי אליה. היא הודתה בנימוס שחזרתי אליה ומיד שאלה: "אתם יהודים?"
אני חייבת להודות שב-46 השנים האחרונות לא נשאלתי את השאלה הזו בארץ הקודש (בחו"ל דוקא כן!). עניתי לה ללא היסוס ש"כן" וניסיתי להבין מה מטרת השאלה. בעוד אני מהרהרת בשורשי היהודיים בפולין, בגרמניה ואפילו בחבש הגיעה השאלה השניה: "אז למה יש לכם צלב בתוכנה?"
את זה כבר לא הבנתי וביקשתי הסבר קצר. ההסבר לא איחר להגיע – כלומר אותה שאלה רק מזוית אחרת: "אני אישה חרדית שמשתמשת בתוכנת הנהלת החשבונות שלכם. אני מאד מרוצה ממנה – כספית חוסכת לי זמן וכסף. אבל אני לא יכולה להמליץ עליה לחברים חרדים שלי כי יש בה צלב!".
עוד כמה שאלות והבנתי בדיוק למה היא מתכוונת: האייקון שלנו הוא בצורה של הסימן פלוס "+" והסימן הזה אכן מזכיר את הצלב (למרות שאינם זהים, כיוון שהקו האנכי בצלב ארוך יותר מהקו של הסימן פלוס).
הסברתי לה את ההבדלים בין שני הסימנים, אבל היתה לי תחושה שלא ממש שכנעתי אותה והיא חשבה ש"מורחים אותה". כמוצא של פשרה, הצעתי לה לשנות את האייקון מאייקון שהושקע בעיצוב שלו, לאייקון סטנדרטי של מייקרוסופט. זה כבר נראה פתרון הוגן והגברת היתה מרוצה מהפתרון!
אז מי אמר שהנהלת חשבונות זה משעמם???