Інтеграція інтернет-магазину з СберМегаМаркет (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.
Готові запустити інтеграцію? Зв'яжіться з нами — обговоримо деталі за годину. Отримайте консультацію прямо зараз.







