סנכרון קטלוג אוטומטי עם Ozon, Wildberries ו-Yandex.Market
סנכרון קטלוג אוטומטי עם Ozon, Wildberries ו-Yandex.Market פותר את בעיית חוסר הסנכרון של מוצרים. דמיינו: יש לכם 5000 פריטים (SKU), שלוש פלטפורמות מסחר, ומנהלים שעורכים ידנית תיאורים ומחירים. לאחר חודש, נוצר חוסר סנכרון: ב-Ozon המוצר חסר, ב-Wildberries המחיר מיושן, ב-Yandex.Market התמונה שגויה. כל יום, מנהלים מבלים שעות בבדיקת כרטיסי מוצר, ולקוחות מתלוננים על כפילויות ומלאי שגוי. מצב זה מוכר לרבים: לפי הסטטיסטיקה שלנו, ניהול קטלוג ידני בשלוש פלטפורמות לוקח עד 20 שעות בשבוע ומוביל ל-15–20% כרטיסי מוצר שגויים. צוות המהנדסים שלנו עם ניסיון של למעלה מ-7 שנים במסחר אלקטרוני יישם יותר מ-50 פרויקטים לשילוב קטלוגים עם פלטפורמות מסחר. המערכת מעבירה אוטומטית מוצרים חדשים, מעדכנת שינויים ומסירה פריטים שנמחקו — ללא מאמץ ידני. אנו משתמשים בגלאי שינויים מבוסס גיבוב (hashing), המאפשר עיבוד של 10,000 מוצרים ב-15 דקות — פי 5 מהר יותר מספירה מלאה.
למה סנכרון ידני לא עובד?
לכל פלטפורמת מסחר יש פורמט נתונים משלה: Ozon דורש מזהה ייחודי בשדה offer_id, Wildberries משתמשת במספר קטלוגי (article), ו-Yandex.Market — ב-SKU משלה. קטגוריות ומאפיינים שונים: ב-Ozon יש לציין סוג מוצר (לדוגמה, 'נעליים' בקטגוריה 17032750), בעוד שב-Wildberries יש לקשר לנושא. מיפוי ידני של 5000 מוצרים לוקח שבוע ומייצר 20% שגיאות. אוטומציה עם ממפה (mapper) שלנו מקצרת את הזמן ל-3 שעות ומפחיתה שגיאות ל-1%.
איך עובד גילוי שינויים?
אנו משתמשים בגיבוב שדות: שם, תיאור, מותג, מחיר, תמונות, מידות. בכל עדכון מוצר ב-CMS או ב-ERP שלכם, מחושב גיבוב SHA-256 ומושווה לגיבוב השמור בטבלת marketplace_product_mappings. אם הגיבוב שונה — המוצר נכנס לתור הסנכרון. זה מפחית את העומס על ממשקי ה-API של הפלטפורמות: חנות טיפוסית עם 10,000 מוצרים ו-100 שינויים ביום מבצעת רק 100 בקשות במקום 10,000. למהירות, אנו משתמשים בתורי Laravel Horizon עם השהיות בין בקשות כדי להישאר במגבלות (לדוגמה, Wildberries — בקשה אחת לשנייה).
למה מיפוי קטגוריות הוא צוואר בקבוק?
ללא מיפוי קטגוריות, אי אפשר להעלות מוצר: לכל פלטפורמה יש עץ קטגוריות משלה. אנו שומרים מיפויים במסד הנתונים ומספקים ממשק משתמש לקישור. עבור Ozon אנו משתמשים בחיפוש קטגוריות לפי שם דרך API. עבור Wildberries — מיפוי ידני עם השלמה אוטומטית. דוגמה:
class CategoryMapper {
public function getMarketplaceCategory(int $siteCategoryId, string $marketplace): ?int {
return DB::table('category_mappings')
->where('site_category_id', $siteCategoryId)
->where('marketplace', $marketplace)
->value('marketplace_category_id');
}
public function suggestOzonCategory(string $categoryName): array {
return Http::withHeaders($this->ozonHeaders)
->post('https://api-seller.ozon.ru/v1/description-category/search', [
'language' => 'DEFAULT',
'query' => $categoryName,
])
->json('result');
}
} תהליך: מבדיקה ועד השקה
- ניתוח — אנו מפרקים אינטגרציות קיימות (CMS, ERP, ממשקי API של פלטפורמות).
- עיצוב — סכמת נתונים, מיפוי, תורי משימות (Laravel Horizon + Redis).
- יישום — אנו כותבים מתאמים (adapters) לכל פלטפורמה באמצעות REST API.
- בדיקות — אנו בודקים על עותק קטלוג: גילוי שינויים, טיפול בשגיאות, עומס.
- השקה — אנו מתקינים על השרת שלכם או בענן (AWS, Vercel).
מה כלול בפתרון הסופי?
בנוסף למתאמים, אנו מספקים לוח מחוונים לניטור המבוסס על Laravel Telescope. הוא מציג ספירות של מוצרים פעילים, ממתינים ושגויים לכל פלטפורמה. אם מספר השגיאות עולה על 5% מכלל המוצרים, המערכת שולחת הודעה ל-Telegram או ל-Slack. אנו גם מגדירים רישום (logging) של כל הפעולות בטבלת class CategoryMapper { public function getMarketplaceCategory(int $siteCategoryId, string $marketplace): ?int { return DB::table('category_mappings') ->where('site_category_id', $siteCategoryId) ->where('marketplace', $marketplace) ->value('marketplace_category_id'); } public function suggestOzonCategory(string $categoryName): array { return Http::withHeaders($this->ozonHeaders) ->post('https://api-seller.ozon.ru/v1/description-category/search', [ 'language' => 'DEFAULT', 'query' => $categoryName, ]) ->json('result'); } } לצורך ביקורת.
-- Текущее состояние каталога по маркетплейсам
SELECT marketplace,
COUNT(*) FILTER (WHERE status = 'active') AS active,
COUNT(*) FILTER (WHERE status = 'pending') AS pending,
COUNT(*) FILTER (WHERE status = 'error') AS errors,
MAX(last_synced_at) AS last_sync
FROM marketplace_product_mappings
GROUP BY marketplace; לוח זמנים ומה כלול
| שלב | משך | תוצאה |
|---|---|---|
| ניתוח | 2–3 ימים | תיעוד עם דרישות וסכמת API |
| עיצוב | 3–4 ימים | דיאגרמת ER, מבני תורים |
| פיתוח מתאמים | 8–12 ימים | מתאמים פעילים ל-3 פלטפורמות |
| בדיקות | 3–5 ימים | דוח בדיקות, תקלות שתוקנו |
| השקה והדרכה | 2–3 ימים | מערכת בייצור, מדריך למנהלים |
סה"כ: 18–24 ימי עסקים. תמיכה באחריות — חודש אחד לאחר המסירה. המחיר כולל תיעוד, הגדרת לוח מחוונים והדרכת עובדים. אוטומציה כזו חוסכת בין $300–500 בחודש על ניהול ידני.
השוואת דרישות פלטפורמות
| פרמטר | Ozon | Wildberries | Yandex.Market |
|---|---|---|---|
| פורמט תמונה | JPEG, PNG, עד 10 MB | JPEG, עד 8 MB | JPEG, PNG, עד 5 MB |
| שדות חובה | offer_id, name, price, stock | article, brand, price | SKU, name, image URL |
| מגבלת בקשות API | 10 בקשות/שנייה | בקשה אחת/שנייה | 5 בקשות/שנייה |
שגיאות סנכרון טיפוסיות
מיפוי קטגוריות שגוי — המוצר נכנס לקטגוריה לא נכונה. פתרון: העלו קבוצת בדיקה ואמתו ידנית.
חריגה ממגבלת קצב API — הפלטפורמות חוסמות בקשות. פתרון: תור עם השהיות וניסיון חוזר לאחר 5 דקות.
פורמטי תמונה שונים — הפלטפורמות דורשות מידות ספציפיות. פתרון: הגדרת קביעות דחיסה (presets).
פרטים טכניים של יישום התור
אנו משתמשים ב-Laravel Horizon עם הגדרה: כל משימת סנכרון נכנסת לתור "marketplace-sync". בין בקשות, מוגדרת השהיה בהתאם למגבלות הפלטפורמה. עבור Wildberries, שבה המגבלה היא בקשה אחת לשנייה, ההשהיה היא 1.2 שניות.
קבלו ייעוץ על אוטומציית קטלוג עוד היום. צרו קשר ואנו נכין פתרון מותאם אישית.







