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

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

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

שאלות נפוצות

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

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

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

עדכון ידני של 1,000 פריטים אורך 2–3 שעות, עם שגיאות בלתי נמנעות. אוטומציה מצמצמת את הזמן לאפס ומפחיתה שגיאות ב-95%. לאחר ההגדרה, התהליך פועל במשך שנים. הלקוח שלנו עם 15,000 SKU חוסך 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 строки — шапка

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

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

אם הספק משנה את הפורמט, ערוך את המיפוי. עבור 50,000+ SKU, אנו בונים אינדקס הפוך בזיכרון כאשר ה-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+ SKU, אנו משתמשים במטמון בזיכרון.

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

פרמטר יבוא ידני יבוא אוטומטי
זמן עבור 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

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