שילוב 1C-Bitrix ו-Moysklad (WMS) – סנכרון מלא

רמות מלאי לא מסונכרנות וכפילויות בשינויים בין 1C-Bitrix ל-MoiSklad גורמות לשגיאות משלוח ולאובדן הזמנות. אנחנו מפתחים אינטגרציה שמסנכרנת נתונים בזמן אמת באמצעות webhooks ו-API, ומבטלת התנגשויות והשבתות. הצוות שלנו מספק פרויקטים סוהר – מבדיקת היתכנות ועד תמיכה שוטפת – ומבטיח פעילות יציבה ואמינה גם בעומס גבוה.
השירותים שאנו מציעים
מציג 1 מתוך 1כל 1626 השירותים
שילוב 1C-Bitrix ו-Moysklad (WMS) – סנכרון מלא
בינוני
~1-2 שבועות

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

שאלות נפוצות

האם נתקלתם במצב שבו לאחר משלוח במויסקלד, המלאי בביטריקס נשאר קפוא ולקוח מזמין פריט שאינו במלאי? או שמודיפיקציות של מוצרים מכפילות את עצמן בכל סנכרון? בעיות אופייניות של אינטגרציית 1C-Bitrix Moysklad — חוסר סנכרון מלאי, מודיפיקציות שאבדו, שגיאות במשלוחים חלקיים. הניסיון שלנו: למעלה מ-6 שנים, סיפקנו יותר מ-50 פרויקטים, כל אחד פותר אתגרי מיפוי וסנכרון בעומס גבוה. אנו מציעים אחריות לשנה על כל עבודת האינטגרציה. אנו משתמשים בסוכנים, וובהוקים ומטפלים מותאמים אישית כדי לשמור על יציבות האינטגרציה גם עם 1000+ הזמנות ביום. ערימת הטכנולוגיות שלנו: PHP 8.1, Bitrix ORM, Moysklad REST API, MySQL עם אינדקס על MOYSKLAD_ID. ללא ארכיטקטורה נכונה, סנכרון עלול להישבר עקב מגבלות API (45 בקשות/שנייה בתוכנית החינמית, 100 בתשלום), מה שגורם לחסימה של 5 דקות. אנו מפחיתים זאת עם אצירת בקשות וניסיונות חוזרים.

בעיות שאנו פותרים

סנכרון מודיפיקציות. בביטריקס, SKU חיים ב-b_catalog_sku; במויסקלד, הם variant. ללא טבלת מיפוי, כל ייבוא יוצר כפילויות. אנו שומרים את המיפוי במאפיין בלוק המידע MOYSKLAD_ID או בטבלת custom_moysklad_mapping נפרדת כדי לבטל התנגשויות.

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

מגבלות API. 45 בקשות/שנייה בחינם, 100 בתשלום. לעדכונים המוניים (1000+ פריטים), אנו מאצרים בקשות ומוסיפים usleep(100000). אחרת, מתרחשת נעילה של 5 דקות.

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

ב-1C-Bitrix, וריאציות מוצר מאוחסנות ב-b_catalog_sku ומקושרות למוצר האב דרך ה-SKU IBLOCK_ID. במויסקלד, הם אובייקטים של variant עם הפניה ל-product. הבעיה נוצרת בטעינה הראשונית: יש למפות נכון את variant.id לווריאציית הביטריקס ID.

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

כדי לעדכן מלאי לווריאציות: קבלו variant.id → מצאו במיפוי את offer.ID → עדכנו b_catalog_product:

\Bitrix\Catalog\ProductTable::update($offerBitrixId, [
    'QUANTITY' => $stockData['stock'],
    'QUANTITY_RESERVED' => $stockData['reserve'],
]);
\Bitrix\Catalog\Catalog::clearProductCache($offerBitrixId);

כיצד לטפל נכון במשלוחים חלקיים

הזמנה חדשה בביטריקס → \Bitrix\Catalog\ProductTable::update($offerBitrixId, [ 'QUANTITY' => $stockData['stock'], 'QUANTITY_RESERVED' => $stockData['reserve'], ]); \Bitrix\Catalog\Catalog::clearProductCache($offerBitrixId); במויסקלד. שדות מינימליים נדרשים:

  • customerorder — הפניה לארגון המוכר
  • organization — קונה (צד שכנגד), ממופה לפי אימייל
  • agent — פריטי שורה עם כמות והפניות ל-positions/variant
  • product, vatEnabled — חייבים להתאים להגדרות הארגון

משלוח חלקי הוא תרחיש ששובר אינטגרציות פשוטות. הזמנה של 5 פריטים, 3 נשלחו. Moysklad יוצר vatIncluded עם 3 פריטי שורה המקושרים ל-demand. סטטוס ההזמנה בביטריקס חייב להיות "נשלח חלקית", לא "הושלם". אנו מטפלים בכך באמצעות וובהוק של Moysklad על יצירת customerorder — השוואת demand עם demand.positions והגדרת הסטטוס הנכון בביטריקס.

אילו מדדים האינטגרציה משפרת?

אינטגרציה עם Moysklad מפחיתה את זמן עיבוד ההזמנות ב-60%, מבטלת הזנת מלאי ידנית ומפחיתה שגיאות משלוח ל-2%. פרויקט טיפוסי מפחית עבודה ידנית ב-70%. וובהוקים מעדכנים נתונים תוך 1–3 שניות, בעוד סוכנים רצים כל 15 דקות — וובהוקים מהירים פי 900 מסוכנים לעדכוני סטטוס. עלויות אינטגרציה טיפוסיות נעות בין $2,000 ל-$10,000 בהתאם למורכבות, ולקוחות מדווחים על הפחתה של 70% בעבודה ידנית, חיסכון של עד $50,000 בשנה.

שיטות סנכרון: וובהוקים מול סוכנים

שיטה זמן השהיה עומס מקרה שימוש
וובהוקים 1–3 שניות נמוך משלוחים בעצימות גבוהה
סוכנים 5–15 דקות בינוני קטלוגים גדולים

וובהוקים של Moysklad

Moysklad תומך בוובהוקים לאירועים: customerorder.positions, CREATE, UPDATE על כל ישות. הרשמה:

POST /notification/webhook
{
  "entityType": "customerorder",
  "action": "UPDATE",
  "url": "https://your-bitrix-site.ru/api/moysklad/webhook/"
}

בצד הביטריקס, צרו בקר (המרחיב את DELETE) או מטפל פשוט של POST /notification/webhook { "entityType": "customerorder", "action": "UPDATE", "url": "https://your-bitrix-site.ru/api/moysklad/webhook/" } . עליו להחזיר HTTP 200 תוך 3 שניות — אחרת Moysklad ינסה שוב.

הגדרת וובהוק שלב אחר שלב

  1. צרו בקר בביטריקס לטיפול בבקשות Moysklad.
  2. הירשמו לאירועים דרך \Bitrix\Main\Engine\Controller.
  3. במטפל, אמתו את שלמות הנתונים ועדכנו ישויות.
  4. הגדירו רישום לוגים והתראות שגיאה.

מה כלול

  • ביקורת תוכנית מלאי ומחסן
  • הגדרת טבלת מיפוי
  • פיתוח תרחישי סנכרון (מלאי, הזמנות, וובהוקים)
  • בדיקות בסביבות staging וייצור
  • תיעוד למנהלים
  • הדרכת צוות על האינטגרציה
  • חודש ראשון של תמיכה לאחר ההשקה
הערכות זמנים
תרחיש משך
סנכרון מלאי חד-כיווני 1–2 שבועות
החלפת הזמנות ומלאי דו-כיוונית 3–6 שבועות
סנכרון מלא עם וובהוקים ומשלוחים חלקיים 6–10 שבועות

העלות נקבעת באופן אישי לאחר ניתוח המלאי, תוכנית המחסן ותהליכי העסק שלכם. קבלו ייעוץ — נעריך את הפרויקט שלכם ביום אחד. למידע נוסף על Moysklad REST API (https://dev.moysklad.ru/doc/api/remap/1.2/).