Інтеграція інтернет-магазину з СберМегаМаркет (API)
Десятки замовлень щодня скасовуються через розсинхронізацію залишків на вітрині СберМегаМаркет. Ручне оновлення цін по 2000 SKU забирає 6 годин на день — цей час можна витратити на розвиток бізнесу. Помилки в описах, невірні ціни та нульові залишки призводять до втрати доходу та зниження рейтингу магазину. Ми автоматизуємо цей процес через REST API та YML-фід. Наша команда має понад 5 років досвіду та реалізувала 50+ проєктів з інтеграції з маркетплейсами. Ви отримуєте повну синхронізацію за 6–10 робочих днів з гарантією стабільної роботи.
Які задачі вирішує інтеграція з СберМегаМаркет?
- Ручні помилки: описки в цінах, дублі товарів, нульові залишки — автоматизація знижує частку помилок до <1%.
- Затримки оновлення: товари на вітрині застарівають до моменту ручного вивантаження. REST API оновлює дані за секунди, що в 100 разів швидше за YML-фід, який оновлюється раз на добу.
- Втрата замовлень: відсутність габаритів або ваги блокує відправлення. Ми передаємо повні характеристики, включаючи габарити та вагу, щоб замовлення не зависали.
- Технічні ліміти: API СберМегаМаркет обмежує частоту запитів. Налаштовуємо повтор з експоненційною затримкою та черги для надійного завантаження.
Технічна реалізація
Аутентифікація та базовий клієнт
Для роботи з API СберМегаМаркет потрібен токен доступу. Ми зберігаємо його в захищеному конфігу та використовуємо єдиний 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-фід
СберМегаМаркет приймає YML-фід — стандарт 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
Для оновлення цін та залишків використовуємо єдиний метод price-and-stocks. Один запит оновлює до 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]); } Обробка замовлень
Отримуємо замовлення в статусі AWAITING_PACKAGING і одразу підтверджуємо відвантаження з трек-номером.
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?
СберМегаМаркет повертає коди помилок у тілі відповіді. Якщо їх не обробляти, складська логіка зламається. Ми логуємо кожну відповідь, а при помилках 429 (Too Many Requests) використовуємо повтор з експоненційною затримкою. Це гарантує, що жодне замовлення не загубиться.
Згідно з офіційною документацією СберМегаМаркет, максимальна кількість товарів в одному запиті — 500.
Типові помилки при інтеграції
- Неправильний формат YML: відсутність обов'язкових полів, невірне кодування.
- Перевищення лімітів API: часті запити без пауз.
- Невідповідність ідентифікаторів товарів між магазином та маркетплейсом.
- Відсутність обробки статусів замовлень: замовлення залишаються в статусі "очікування".
Порівняння методів інтеграції
| Характеристика | YML-фід | REST API |
|---|---|---|
| Швидкість оновлення | Раз на добу | Реальний час |
| Помилки | Можливі при генерації | <1% |
| Керування замовленнями | Ні | Так |
| Метод публікації | Ручний (генерація файлу) | Автоматичний (API) |
| Час на 1000 товарів | 8–12 годин | 10 хвилин |
| Помилки введення | 5–15% позицій | <1% |
| Актуальність даних | Раз на день | Реальний час |
| Витрати на підтримку | 1 співробітник на півставки | 30 хвилин на місяць |
Після впровадження автоматизації кількість скасованих замовлень скорочується на 90%.
Процес впровадження та терміни
Етапи роботи
- Аналітика — вивчаємо ваш каталог, виявляємо нестандартні поля та особливості бізнес-логіки.
- Проєктування — складаємо мапінг полів та вибираємо метод завантаження (YML або REST).
- Реалізація — пишемо модуль інтеграції з тестовим стендом.
- Тестування — перевіряємо на 10 випадкових товарах, потім на повному асортименті.
- Деплой — переносимо на бойовий сервер, налаштовуємо моніторинг.
- Навчання — 1 година з вашими менеджерами: як керувати доступом та читати звіти.
Терміни та вартість
Базовий YML-фід — 2–3 дні. Повна REST-інтеграція — 6–10 робочих днів. Точна вартість залежить від кількості SKU та складності логіки, обговорюється індивідуально. Середня економія часу — від 200 годин ручної праці на місяць.
Що входить у роботу
- Документація по наших API-ендпоінтах та налаштуваннях кабінету продавця.
- Доступи: створення виділеного токена з обмеженням прав.
- Навчання: 1 година онлайн з демонстрацією панелі керування.
- Підтримка: 1 місяць після деплою — виправляємо помилки, адаптуємо під зміни API.
Готові запустити інтеграцію? Зв'яжіться з нами — обговоримо деталі за годину. Отримайте консультацію прямо зараз.







