שילוב חנות מקוונת עם SberMegaMarket (API)
בכל יום, עשרות הזמנות מבוטלות עקב אי-התאמות במלאי ב-SberMegaMarket. עדכון ידני של מחירים עבור 2000 פריטים (SKU) אורך 6 שעות — זמן שיכול לשמש לצמיחת העסק שלך. טעויות בתיאורים, מחירים שגויים ומלאי אפס מובילים לאובדן הכנסות ולירידה בדירוג החנות. אנו הופכים תהליך זה לאוטומטי באמצעות REST API ו-YML feed. לצוות שלנו ניסיון של 5 שנים והוא ביצע למעלה מ-50 פרויקטי שילוב שווקים (Marketplace). אתה מקבל סנכרון מלא תוך 6–10 ימי עבודה עם פעילות יציבה מובטחת.
מה פותר השילוב עם SberMegaMarket
- שגיאות ידניות: טעויות כתיב במחירים, כפילויות מוצרים, מלאי אפס — האוטומציה מפחיתה את שיעור השגיאות לפחות מ-1%.
- עיכובים בעדכון: מוצרים על המדף הופכים למיושנים עד להעלאה ידנית. REST API מעדכן נתונים תוך שניות, פי 100 מהר יותר מ-YML feed החד-יומי.
- הזמנות אבודות: מידות או משקל חסרים חוסמים משלוח. אנו מעבירים מאפיינים מלאים כולל מידות ומשקל כך שהזמנות לא נתקעות.
- מגבלות טכניות: ה-API של SberMegaMarket מגביל את תדירות הבקשות. אנו מגדירים ניסיונות חוזרים עם השהיה אקספוננציאלית ותורים לטעינה אמינה.
יישום טכני
אימות ולקוח בסיסי
כדי לעבוד עם ה-API של SberMegaMarket, יש צורך ב-access token. אנו מאחסנים אותו בקובץ הגדרות מאובטח ומשתמשים בלקוח HTTP אחיד.
class SberMegaMarketClient {
public function request(string $method, string $path, array $data = []): array
{
return Http::withHeaders([
'Authorization' => config('services.sbermm.token'),
'Content-Type' => 'application/json',
])->{strtolower($method)}(
"https://api.sbermegamarket.ru/api/merchantmanagement/v2{$path}",
$data
)->json();
}
} העלאת מוצרים באמצעות YML Feed
SberMegaMarket מקבל YML feed, תקן המבוסס על Yandex Marketplace Language. הפורמט פשוט, אך סדר השדות וקידוד UTF-8 חשובים.
<?xml version="1.0" encoding="utf-8"?>
<yml_catalog date="текущая_дата">
<shop>
<name>Мой магазин</name>
<offers>
<offer id="SKU-001" available="true">
<name>iPhone 15 Pro 256GB</name>
<price>89990</price>
<currencyId>RUR</currencyId>
<categoryId>101</categoryId>
<picture>https://example.com/images/iphone.jpg</picture>
<description>Новый, гарантия 1 год</description>
<vendor>Apple</vendor>
<vendorCode>MTP63ZP/A</vendorCode>
<count>5</count>
</offer>
</offers>
</shop>
</yml_catalog> ניהול מחירים ומלאי באמצעות REST API
לעדכון מחירים ומלאי, אנו משתמשים בשיטה האחידה class SberMegaMarketClient { public function request(string $method, string $path, array $data = []): array { return Http::withHeaders([ 'Authorization' => config('services.sbermm.token'), 'Content-Type' => 'application/json', ])->{strtolower($method)}( "https://api.sbermegamarket.ru/api/merchantmanagement/v2{$path}", $data )->json(); } } . בקשה אחת מעדכנת עד 500 פריטים, חוסכת זמן ומפחיתה עומס על השרת.
public function updatePricesAndStocks(array $items): void
{
$offers = array_map(fn($item) => [
'offerId' => $item['sku'],
'price' => $item['price'],
'stocks' => [[
'warehouseId' => $this->warehouseId,
'count' => $item['stock'],
]],
], $items);
$this->request('POST', '/offers/price-and-stocks', ['offers' => $offers]);
} עיבוד הזמנות
אנו שולפים הזמנות עם סטטוס <?xml version="1.0" encoding="utf-8"?> <yml_catalog date="текущая_дата"> <shop> <name>Мой магазин</name> <offers> <offer id="SKU-001" available="true"> <name>iPhone 15 Pro 256GB</name> <price>89990</price> <currencyId>RUR</currencyId> <categoryId>101</categoryId> <picture>https://example.com/images/iphone.jpg</picture> <description>Новый, гарантия 1 год</description> <vendor>Apple</vendor> <vendorCode>MTP63ZP/A</vendorCode> <count>5</count> </offer> </offers> </shop> </yml_catalog> ומאשרים מיד משלוח עם מספר מעקב.
public function getOrders(string $dateFrom): array
{
return $this->request('POST', '/orders/get', [
'dateFrom' => $dateFrom,
'statuses' => ['AWAITING_PACKAGING'],
])['orders'] ?? [];
}
public function shipOrder(string $orderId, string $trackingNumber, string $carrier): void
{
$this->request('POST', "/orders/{$orderId}/ship", [
'trackingNumber' => $trackingNumber,
'deliveryService' => $carrier,
]);
} מדוע חשוב לנטר שגיאות API
SberMegaMarket מחזיר קודי שגיאה בגוף התגובה. אם לא מטפלים בהם, הלוגיקה של המחסן נשברת. אנו מתעדים כל תגובה, ובשגיאות 429 (Too Many Requests), אנו משתמשים בניסיונות חוזרים עם השהיה אקספוננציאלית. זה מבטיח שאף הזמנה לא תלך לאיבוד.
לפי התיעוד הרשמי של SberMegaMarket, המספר המרבי של פריטים בבקשה אחת הוא 500.
טעויות שילוב אופייניות
- פורמט YML שגוי: שדות חובה חסרים, קידוד שגוי.
- חריגה ממגבלות API: בקשות תכופות ללא הפסקות.
- אי-התאמה במזהה המוצר בין החנות לשוק (Marketplace).
- חוסר טיפול בסטטוס הזמנות: הזמנות תקועות בסטטוס "pending".
השוואת שיטות שילוב
| מאפיין | YML Feed | REST API |
|---|---|---|
| מהירות עדכון | פעם ביום | בזמן אמת |
| שגיאות | אפשריות במהלך יצירת הקובץ | פחות מ-1% |
| ניהול הזמנות | לא | כן |
| פרסום ידני | שילוב אוטומטי | |
| זמן עבור 1000 פריטים | 8–12 שעות | 10 דקות |
| שגיאות קלט | 5–15% מהפריטים | פחות מ-1% |
| רעננות נתונים | פעם ביום | בזמן אמת |
| מאמץ תחזוקה | עובד במשרה חלקית | 30 דקות בחודש |
לאחר האוטומציה, מספר ההזמנות המבוטלות יורד ב-90%.
תהליך היישום ולוח הזמנים
שלבי העבודה
- ניתוח — אנו בוחנים את הקטלוג שלך, מזהים שדות לא סטנדרטיים והיבטים ספציפיים של הלוגיקה העסקית.
- עיצוב — אנו יוצרים מיפוי שדות ובוחרים את שיטת ההעלאה (YML או REST).
- פיתוח — אנו כותבים את מודול השילוב עם סביבת בדיקה.
- בדיקות — אנו בודקים על 10 מוצרים אקראיים, ולאחר מכן על כל המבחר.
- פריסה — אנו עוברים לשרת הייצור ומגדירים ניטור.
- הדרכה — שעה אחת עם המנהלים שלך: כיצד לנהל גישה ולקרוא דוחות.
לוח זמנים ועלות
YML feed בסיסי — 2–3 ימים. שילוב REST מלא — 6–10 ימי עבודה. העלות המדויקת תלויה במספר הפריטים (SKU) ובמורכבות הלוגיקה, ונקבעת באופן אישי. חיסכון ממוצע בזמן — מ-200 שעות עבודה ידנית בחודש.
מה כלול
- תיעוד של נקודות הקצה (Endpoints) שלנו ב-API והגדרות לוח המוכר.
- גישה: יצירת token ייעודי עם הרשאות מוגבלות.
- הדרכה: שעה אחת מקוונת עם הדגמת לוח מחוונים (Dashboard).
- תמיכה: חודש אחד לאחר הפריסה — אנו מתקנים באגים ומתאימים לשינויי API.
מוכן להתחיל את השילוב? צור קשר — נדון בפרטים תוך שעה. קבל ייעוץ כבר עכשיו.







