אוטומציה של עיבוד הזמנות באמצעות שרשראות Webhook בהתאמה אישית

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

פיתוח ותחזוקה של כל סוגי האתרים:

אתרי מידע או יישומי אינטרנט
אתרי תדמית, דפי נחיתה, אתרי חברה, קטלוגים מקוונים, חידונים, אתרי קידום, בלוגים, מקורות חדשות, פורטלי מידע, פורומים, אגרגטורים
אתרי מסחר אלקטרוני או יישומי אינטרנט
חנויות מקוונות, פורטלי B2B, שווקים, בורסות מקוונות, אתרי קאשבק, בורסות, פלטפורמות דרופשיפינג, מנתחי מוצרים
יישומי אינטרנט לניהול תהליכים עסקיים
מערכות CRM, מערכות ERP, פורטלים ארגוניים, מערכות ניהול ייצור, מנתחי מידע
אתרי שירות אלקטרוני או יישומי אינטרנט
פלטפורמות מודעות, בתי ספר מקוונים, בתי קולנוע מקוונים, בוני אתרים, פורטלים לשירותים אלקטרוניים, פלטפורמות אירוח וידאו, פורטלים נושאיים

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

השירותים שאנו מציעים
מציג 1 מתוך 1כל 2062 השירותים
אוטומציה של עיבוד הזמנות באמצעות שרשראות Webhook בהתאמה אישית
בינוני
~3-5 ימים

הכישורים שלנו:

שאלות נפוצות

העבודות האחרונות

  • פיתוח אפליקציית ווב עבור FEEDME
    פיתוח אפליקציית ווב עבור FEEDME
    1365
  • פיתוח חנות מקוונת לחברת FURNORO
    פיתוח חנות מקוונת לחברת FURNORO
    1330
  • פיתוח אפליקציית ווב עבור Enviok
    פיתוח אפליקציית ווב עבור Enviok
    1077
  • פיתוח CRM עבור Chasseurs
    פיתוח CRM עבור Chasseurs
    1113
  • פיתוח אתר עבור SBH Partners
    פיתוח אתר עבור SBH Partners
    1201
  • פיתוח אתר עבור Red Pear
    פיתוח אתר עבור Red Pear
    619

אוטומציה של הזמנות: היכן נשברת העיבוד הידני

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

כל עוד מדובר בעשרות הזמנות ביום, זה נסבל. במאות מתחיל מה שהלקוח רואה כ"אנחנו מאבדים לקוחות": בקשה שכבה במייל עד הבוקר, שתי עותקים של אותה הזמנה נשלחו לייצור, הלקוח קיבל "נשלח" לפני שההזמנה נאספה.

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

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

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

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

מה נותנת אוטומציה של הזמנות באמצעות שרשראות אירועים

מהירות עיבוד ההזמנות

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

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

צמצום פעולות ידניות

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

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

ביטול כפילויות

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

אמינות מסירת האירועים

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

דרכי חיבור בין מערכות: השוואת גישות

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

אפשרות מתי מתאימה מגבלות
קריאות ישירות כמה מערכות, נדרשת תשובה סינכרונית מיידית: בדיקת מלאי, חישוב משלוח נפילה של הצד המקבל מפילה את כל השרשרת; אין חזרות — בקשה שאבדה לא תחזור
Webhooks מודל מבוסס אירועים: "הזמנה נוצרה", "התשלום עבר" — המערכות מודיעות זו לזו דורשות אידמפוטנטיות ויומן מסירה: בלעדיהם חזרה על אירוע יוצרת כפילות בהזמנה
תורי הודעות עומס גבוה, כמה צרכנים, נדרשת הפרדה בזמן מורכבים יותר בתפעול: נדרש ניטור עומק התור וטיפול בהודעות "תקועות"
חילוף באצוות התאמות, ייצוא למערכות הנהלת חשבונות, חילוף במרווחי זמן השהיה בין האירוע לתוצאה; לא מתאים לתרחישים שבהם הלקוח ממתין לתשובה

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

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

שלבי יישום: מביקורת ועד מסירת נהלים

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

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

  1. ביקורת אינטגרציות. מיפוי מערכות ואירועים, רשימת פערים ופעולות ידניות, הערכת עומס.
  2. סכמת אירועים. מתכננים רצף התראות, כללי חזרה וסדר עיבוד — תוך התחשבות בכך שחלק מהקריאות יגיעו שוב או באיחור.
  3. הגדרת מעבדים. כותבים קולטי אירועים ולוגיקה: אימות הזמנה, בדיקת כפילויות, הצבת משימות בתור, כתיבה למערכות חשבונאיות.
  4. בדיקת תרחישים. מריצים מקרים שגרתיים ומקרי חירום: התראה חוזרת, אי-זמינות מחסן, הזמנה חלקית. בודקים שהשרשרת משתחזרת בעצמה, ללא התערבות ידנית.
  5. נראות (Observability). מגדירים יומן אירועים והתראות: רואים איזו הזמנה נמצאת באיזה שלב, היכן נתקעה ולמה.
  6. מסירת תיעוד. מוסרים נהלי עיבוד, סכמת זרימות והוראות לפעולה בעת תקלה — צוות הלקוח מפעיל את המערכת בלעדינו.

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

מה הלקוח מקבל לידיו: קונפיגורציות ותקנות

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

  • קונפיגורציות של מעבדים. קבצי הגדרות של כל חוליה בשרשרת: מקורות אירועים, כללי ניתוב, חזרות בעת כשל, פסקי זמן, נקודות תיעוד. נפרסים מהמאגר, ולא נערכים ידנית בפרודקשן.
  • תרשימי זרימה. דיאגרמות "אירוע → מעבד → מערכת-קולטת" עם ציון היכן הנתונים עוברים טרנספורמציה והיכן רק מועברים. לפיהן מהנדס חדש נכנס לקונטור תוך יום, ולא תוך שבוע.
  • מדיניות גישה. תפקידי שירותים, היקפי נראות של מפתחות, כללי רוטציה של סודות, הפרדת סביבות. בנפרד מתועד אילו אינטגרציות רשאיות לכתוב למערכת החשבונאית ואילו רק לקרוא.
  • תיעוד. תיאור חוזי החלפה, פורמטים של מטען שימושי, קודי שגיאה ותגובה להם. כולל פרק "מה לעשות כאשר המעבד החזיר סירוב" — עם פעולות שלב-אחר-שלב של התורן.
  • תקנות הפעלה. סדר פריסת שינויים לשרשרת, כללי rollback לקונפיגורציה הקודמת, לוח בדיקות חיות, קריטריונים שלפיהם מופעל התראה.
  • יומן שינויים וקונטור בדיקות. היסטוריית עריכות עם הסיבה לכל אחת, בתוספת סביבה מבודדת שבה מריצים ענף חדש של השרשרת על העתק של אירועים אמיתיים לפני הפריסה.

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

מקרה בוחן: כיצד צומצמה העיבוד הידני של הזמנות פי שלושה

הלקוח — ספק סיטונאי עם זרימת הזמנות מהשווקים המקוונים, מהדואר ומהטופס באתר. המנהלים העבירו ידנית פריטים למערכת החשבונאית: כל הזמנה ארכה 12-18 דקות, בעומס שיא חלק מהבקשות אבדו, ופערים במלאי צפו רק לאחר המשלוח. העיבוד התנהל בגיליונות אלקטרוניים, ואף אחד לא יכול היה לומר כמה הזמנות באמת עברו בכל ערוץ.

פירקנו את הזרימה לאירועים והרכבנו שרשרת עיבוד ב-Make: קליטת בקשה, בדיקת מלאי, יצירת מסמך במערכת החשבונאית, התראה למחסן וללקוח. כל שלב קיבל נקודת בקרה — אם שירות חיצוני לא השיב, האירוע עובר לתור ניסיונות חוזרים ולא הולך לאיבוד. שגיאות ולידציה (מק"ט פגום, פריט חסר) נחסמות לפני הכתיבה למערכת החשבונאית.

מדדים לפני ואחרי

מדד לפני אחרי
שיעור הפעולות הידניות ~80% מההזמנות ~25% (רק לא סטנדרטיות)
זמן עיבוד הזמנה 12-18 דקות 1-2 דקות
בקשות שאבדו בשיא 3-5% ביום מקרים בודדים
פערים במלאי מדי יום לפי לוח זמנים של התאמה

מה הוסר מסוג הכשלים

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

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

במה נבדלים וובהוקים מתורים ומתי לבחור במה

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

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

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

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

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

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

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

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

ספקות טכניים ושאלות נפוצות

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

כיצד נבדקת אותנטיות הוובהוק ומה מונע זיוף?

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

מה יקרה אם מערכת חיצונית תשלח כפילות או תחזור על הזמנה פעמיים?

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

כיצד המערכת שורדת אי-זמינות של אחד מהשירותים?

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

האם זה תואם למערכת הנוכחית שלנו — CRM, מחסן, הנהלת חשבונות?

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

מי מתחזק את האינטגרציות לאחר ההפעלה וכיצד מבצעים שינויים?

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

נדון במשימה שלכם ונחזור עם תוכנית

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

בהמשך נבהיר את הפרטים שמהם תלויים הארכיטקטורה והערכת לוחות הזמנים:

  • אילו אירועים מפעילים את עיבוד ההזמנה ומה נחשב להשלמה מוצלחת;
  • כיצד מועברים כעת נתונים בין המערכות — ידנית, בייצוא או דרך אינטגרציות;
  • אילו בדיקות הן חובה: תשלום, מלאי במחסן, סטטוס הלקוח, כפילויות פניות;
  • מה צריך לקרות בעת תקלה — ניסיון חוזר, התראה לאחראי, rollback;
  • אילו הרשאות גישה נדרשות למערכות שלכם ומי מצדכם מאשר שינויים;
  • האם יש מגבלות עומס: שעות שיא, קפיצות עונתיות, נפח הזמנות ביממה;
  • אילו דוחות או התראות נדרשים לצוות לאחר ההפעלה.

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

תארו את המשימה בפורמט נוח — נחזור עם הערכה ותוכנית.