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

כשהקטלוג שלך כולל אלפי פריטים וספקים שולחים רשימות מחירים מעודכנות ב-Excel, עדכון ידני של מחירים ומלאי הופך לשגרה אינסופית עם סיכון לשגיאות. אנחנו הופכים את התהליך לאוטומטי: הצוות שלנו מגדיר ייבוא של רשימות מחירים ל-1C-Bitrix כך שהנתונים מתעדכנים ללא מעורבות אנושית. אנחנו מספקים פתרון מלא — מחיבור המקור ועד תמיכה שוטפת, ומבטיחים פעולה אמינה ודיוק בקטלוג.
השירותים שאנו מציעים
מציג 1 מתוך 1כל 1626 השירותים
עדכון אוטומטי של מחירים ומלאי מרשימות מחירים של ספקים
בינוני
~1-2 שבועות

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

שאלות נפוצות

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

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

כיצד אוטומציה מפחיתה עלויות

עדכון ידני של 1,000 פריטים אורך 2–3 שעות, עם שגיאות בלתי נמנעות. אוטומציה מצמצמת את הזמן לאפס ומפחיתה שגיאות ב-95%. לאחר ההגדרה, התהליך פועל במשך שנים. הלקוח שלנו עם 15,000 פריטים חוסך 40 שעות בחודש—כ-$9–13 בחיסכון חודשי. תקופת ההחזר היא 2–3 חודשים. עבור חנות עם 50,000 מוצרים, היתרונות גדלים: חיסכון בזמן יכול לעלות על 100 שעות בחודש.

כיצד אנו מורידים מחירונים ממקורות שונים

אימייל עם קובץ מצורף הוא התרחיש הנפוץ ביותר. אנו מתחברים לתיבת הדואר באמצעות IMAP, מחפשים הודעות מהספק לפי נושא או שולח, ומורידים את הקובץ המצורף. לאבטחה, אנו משתמשים בתיבת דואר או תיקייה נפרדת.

$imap = imap_open('{mail.example.com:993/imap/ssl}INBOX', $user, $pass);
$emails = imap_search($imap, 'FROM "[email protected]" UNSEEN');
foreach ($emails as $num) {
    $structure = imap_fetchstructure($imap, $num);
    // извлекаем вложение
}

FTP/SFTP—אנו מורידים את הקובץ מדי יום לפי לוח זמנים, ומשווים את תאריך השינוי עם הריצה הקודמת. אם אין שינוי, אנו מדלגים. HTTP URL—הספק מפרסם מחירון דרך קישור עם Basic Auth. כל האפשרויות נתמכות כברירת מחדל.

מקור פרוטוקול תדירות עדכון מורכבות הגדרה
אימייל IMAP עם הגעה נמוכה
FTP FTP/SFTP לפי לוח זמנים בינונית
HTTP URL HTTP לפי בקשה נמוכה

כיצד להגדיר מיפוי עמודות לכל פורמט

בעיה: לכל ספק יש פורמט שונה—SKU לפעמים בעמודה B, לפעמים ב-D; שורות כותרת נעות בין 2 ל-5. פתרון—מיפוי ניתן להגדרה המאוחסן ב-Highload-block:

supplier_id: 42
sku_column: B # артикул в столбце B
price_column: D # цена в столбце D
qty_column: F # остаток в столбце F
header_rows: 3 # первые 3 строки — шапка

לקריאת קבצי Excel, אנו משתמשים ב-PhpSpreadsheet (יורש של PHPExcel):

$spreadsheet = \PhpOffice\PhpSpreadsheet\IOFactory::load($filePath);
$sheet = $spreadsheet->getActiveSheet();
$rows = $sheet->toArray();

אם הספק משנה את הפורמט, ערוך את המיפוי. עבור 50,000+ פריטים, אנו בונים אינדקס הפוך בזיכרון כאשר ה-worker מתחיל: טוענים את כל מיפויי ה-SKU פעם אחת כדי להימנע מפניות ל-DB.

כיצד לעדכן מחירים ומלאים דרך Bitrix API

מחירים ב-Bitrix מאוחסנים בטבלת $imap = imap_open('{mail.example.com:993/imap/ssl}INBOX', $user, $pass); $emails = imap_search($imap, 'FROM "[email protected]" UNSEEN'); foreach ($emails as $num) { $structure = imap_fetchstructure($imap, $num); // извлекаем вложение } . כל סוג מחיר הוא רשומה נפרדת. אנו מעדכנים אותם דרך API:

$priceType = CCatalogPriceType::GetList([], ['NAME' => 'Закупочная'])->Fetch();
CCatalogProduct::SetPrice($elementId, $priceType['ID'], $price, 'USD');
// наценка для розничной цены
$retailPrice = $supplierPrice * $supplier->getMarkupCoefficient();

מלאים נמצאים ב-supplier_id: 42 sku_column: B # артикул в столбце B price_column: D # цена в столбце D qty_column: F # остаток в столбце F header_rows: 3 # первые 3 строки — шапка . אם לא נעשה שימוש במחסנים, אנו מעדכנים את $spreadsheet = \PhpOffice\PhpSpreadsheet\IOFactory::load($filePath); $sheet = $spreadsheet->getActiveSheet(); $rows = $sheet->toArray(); ישירות:

CCatalogStoreProduct::Update($storeProductId, ['AMOUNT' => $qty]); 

זיהוי מוצרים לפי SKU: אנו מאחסנים התאמות במאפיין infoblock $priceType = CCatalogPriceType::GetList([], ['NAME' => 'Закупочная'])->Fetch(); CCatalogProduct::SetPrice($elementId, $priceType['ID'], $price, 'USD'); // наценка для розничной цены $retailPrice = $supplierPrice * $supplier->getMarkupCoefficient(); או ב-Highload-block CCatalogStoreProduct::Update($storeProductId, ['AMOUNT' => $qty]); . עבור 50,000+ פריטים, אנו משתמשים במטמון בזיכרון.

השוואה בין ייבוא ידני לאוטומטי

פרמטר ייבוא ידני ייבוא אוטומטי
זמן עבור 1,000 פריטים 2–3 שעות 2–3 דקות
שגיאות 5–10% <0.1%
תדירות עדכון פעם בשבוע עד 24 פעמים ביום
עלות חודשית 40 שעות 0 שעות

אוטומציה מהירה פי 50 ומדויקת פי 100 מעבודה ידנית.

מה כולל הגדרת האינטגרציה

  • ניתוח מקורות נתונים ופורמט המחירון הנוכחי
  • פיתוח תצורת מיפוי עמודות לכל ספק
  • הגדרת הורדת קבצים (אימייל/FTP/HTTP) וה-agent לעיבוד
  • יישום עדכוני מחירים ומלאים דרך Bitrix API, תוך התחשבות בקטלוגים מסחריים ומחסנים
  • יצירת מערכת רישום שגיאות והתראות (Telegram, אימייל)
  • מסירת תיעוד: תיאור ארכיטקטורה, הוראות להוספת ספק חדש, אנשי קשר לתמיכה
  • הדרכת מפעילים: כיצד לזהות תקלה ומה לעשות כשהפורמט משתנה
  • תמיכה באינטגרציה למשך חודש לאחר ההשקה

שגיאות ייבוא נפוצות וכיצד להימנע מהן

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

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

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

גודל מחירון מספר שורות זמן עיבוד זיכרון שיא
2 MB 5,000 7 שניות 256 MB
10 MB 25,000 35 שניות 512 MB
50 MB 120,000 3 דקות 1.5 GB

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