Інтеграція МойСклад із сайтом: синхронізація товарів, замовлень, залишків

Інтеграція МойСклад із сайтом

Розробка та обслуговування будь-яких видів сайтів:

Інформаційні сайти або веб-програми
Сайти візитки, landing page, корпоративні сайти, онлайн каталоги, квіз, промо-сайти, блоги, ресурси новин, інформаційні портали, форуми, агрегатори
Сайти або веб-програми електронної комерції
Інтернет-магазини, B2B-портали, маркетплейси, онлайн-обмінники, кешбек-сайти, біржі, дропшиппінг-платформи, парсери товарів
Веб-програми для управління бізнес-процесами
CRM-системи, ERP-системи, корпоративні портали, системи управління виробництвом, парсери інформації
Сайти або веб-програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, конструктори сайтів, портали надання електронних послуг, відеохостинги, тематичні портали

Це лише деякі з технічних типів сайтів, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 2062 послуг
Інтеграція МойСклад із сайтом: синхронізація товарів, замовлень, залишків
Середній
~2-3 дні

Наші компетенції:

Часті запитання

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1418
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1285
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    983
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1243
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    983
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Розробка веб-сайту для компанії ФІКСПЕР
    998

Інтеграція МойСклад із сайтом

При ручному веденні каталогу та замовлень у двох системах неминучі розбіжності. Товар закінчився на складі, але на сайті залишається в продажу — клієнти оформлюють повернення. Або менеджер вносить зміну ціни в МойСклад, забуваючи оновити на сайті. Інтеграція через REST API вирішує ці проблеми: дані актуальні в реальному часі, замовлення передаються автоматично, статуси оновлюються через webhooks. Ми налаштуємо двосторонній обмін між вашим сайтом і МойСклад за 4–7 днів. За цей час ви виключите ручне введення, помилки та затримки. Типовий клієнт з каталогом 1000 товарів економить близько 40 000 ₴ на місяць після інтеграції, а втрати від помилок у залишках знижуються з 15 000–25 000 ₴ майже до нуля. Наша команда має 5+ років досвіду та реалізувала 30+ інтеграцій з МойСклад для інтернет-магазинів з каталогами від 500 до 50 000 товарів. Оцініть ефективність на своєму проєкті — зв'яжіться з нами для консультації.

Проблеми, які вирішує інтеграція

Ручна синхронізація товарів і замовлень між сайтом і складською системою — джерело помилок і затримок. Типові проблеми:

  • Помилки в залишках — товар числиться в наявності, а насправді його немає. Клієнти оформлюють замовлення, які неможливо виконати. За статистикою, такі ситуації виникають у 5–10% замовлень.
  • Дублювання даних — товар заведений і в МойСклад, і в адмінці сайту. При зміні ціни потрібно правити в двох місцях, що займає до 30 хвилин на день.
  • Втрата замовлень — замовлення створене на сайті, але не потрапило в МойСклад. Менеджери не бачать його і не обробляють. У середньому втрачається 1–3% замовлень.
  • Затримки в оновленні статусів — клієнт не отримує сповіщення про відвантаження, зростає кількість питань у підтримку. Скорочення часу оновлення з годин до хвилин знижує навантаження на support на 40%.

Інтеграція усуває ці проблеми: дані актуальні в реальному часі, замовлення передаються автоматично.

Чому REST API МойСклад — оптимальний вибір?

МойСклад надає REST API (JSON API 1.2) з Bearer-аутентифікацією. Це сучасний, стабільний протокол, який підтримує всі необхідні операції: товари, залишки, замовлення, контрагенти, документи. На відміну від застарілих SOAP-інтеграцій, REST API швидший, простіший у налагодженні та не вимагає складних схем. Середній час відповіді API — 100–300 мс, що дозволяє оновлювати каталог з 10 000 товарів за 5–10 хвилин.

Базовий URL: https://api.moysklad.ru/api/remap/1.2/. Авторизація — Personal Access Token:

$client = Http::withToken(env('MOYSKLAD_TOKEN')) ->baseUrl('https://api.moysklad.ru/api/remap/1.2/'); 

Як ми реалізуємо синхронізацію?

Синхронізація товарів

Отримуємо список товарів із залишками та зображеннями, маппінг на структуру вашого сайту. Приклад запиту:

// Отримати список товарів із залишками $products = $client->get('entity/product', [ 'limit' => 100, 'offset' => 0, 'expand' => 'productFolder,images' ])->json()['rows']; foreach ($products as $p) { Product::updateOrCreate( ['moysklad_id' => $p['id']], [ 'name' => $p['name'], 'sku' => $p['article'] ?? null, 'price' => $p['salePrices'][0]['value'] / 100, // МойСклад зберігає в копійках 'category' => $p['productFolder']['name'] ?? null ] ); } 

Залишки через звіт

Використовуємо звіт report/stock/all для отримання актуальних залишків по всіх складах:

// Залишки по складах $stock = $client->get('report/stock/all', [ 'stockMode' => 'positiveOnly' ])->json()['rows']; foreach ($stock as $item) { Product::where('moysklad_id', $item['meta']['href']) ->update(['stock' => $item['stock']]); } 

Створення замовлення в МойСклад

При оформленні замовлення на сайті створюємо його в МойСклад через entity/customerorder:

$order = $client->post('entity/customerorder', [ 'organization' => ['meta' => [ 'href' => "https://api.moysklad.ru/api/remap/1.2/entity/organization/{$orgId}", 'type' => 'organization' ]], 'agent' => ['meta' => [ 'href' => "https://api.moysklad.ru/api/remap/1.2/entity/counterparty/{$agentId}", 'type' => 'counterparty' ]], 'positions' => array_map(fn($item) => [ 'quantity' => $item->quantity, 'price' => $item->unit_price, // в копійках 'assortment' => ['meta' => [ 'href' => "https://api.moysklad.ru/api/remap/1.2/entity/product/{$item->moysklad_id}", 'type' => 'product' ]] ], $order->items->toArray()) ])->json(); 

Webhook від МойСклад

Підписуємось на зміни документів. При оновленні статусу замовлення (наприклад, «Відвантажено») webhook сповіщає ваш сайт:

$client->post('entity/webhook', [ 'url' => 'https://yoursite.ru/webhooks/moysklad', 'action' => 'UPDATE', 'entityType' => 'customerorder' ]); 

Як налаштувати webhook для миттєвого оновлення статусів?

Webhook — найбільш ефективний спосіб отримувати сповіщення про зміни в МойСклад. При налаштуванні вкажіть URL вашого сайту, який буде приймати POST-запити. Важливо обробляти повторні відправлення: МойСклад може дублювати події при збоях. Ми реалізуємо ідемпотентність через перевірку updatedAt. Середня затримка доставки — 1–3 секунди.

Порівняння: інтеграція через API vs ручне введення

Критерій Інтеграція через API Ручне введення
Час оновлення залишків 1–5 хвилин Кілька годин / днів
Помилки в замовленнях 0.1% (через збої API) 5–10%
Завантаження менеджерів Автоматично Повна зайнятість
Вартість при 1000 замовлень/міс Окупається за 2 місяці Постійні витрати на зарплату

Терміни етапів інтеграції

Етап Тривалість
Аналіз і проєктування 1–2 дні
Реалізація модуля 2–3 дні
Тестування 1–2 дні
Деплой і навчання 1 день

Типові помилки при інтеграції

  • Неправильний маппінг полів (наприклад, плутанина між артикулом і ID).
  • Ігнорування лімітів API: МойСклад обмежує 1000 запитів на хвилину. При каталозі >10 000 товарів потрібно використовувати пагінацію та кешування.
  • Відсутність обробки помилок: якщо API тимчасово недоступний, замовлення можуть загубитися. Ми використовуємо чергу з повторними спробами.

Процес роботи

  1. Аналіз — вивчаємо ваш каталог, склади, сценарії обробки замовлень. Фіксуємо поточні проблеми.
  2. Проєктування — обираємо схему синхронізації (одностороння / двостороння), визначаємо періодичність, налаштовуємо маппінг полів.
  3. Реалізація — пишемо інтеграційний модуль на PHP (Laravel). Підключаємо REST API, webhooks, обробку помилок.
  4. Тестування — перевіряємо синхронізацію на тестовому каталозі, імітуємо замовлення, звіряємо залишки.
  5. Деплой — переносимо в продакшен, налаштовуємо моніторинг. Навчаємо вашу команду.

Що входить у роботу

  • Документація — опис схеми інтеграції, endpoint'ів, обробки помилок.
  • Доступи — налаштування токенів, webhook'ів, прав користувачів.
  • Навчання — інструкція для менеджерів з роботи з синхронізованими даними.
  • Підтримка — гарантія 3 місяці на виявлені баги. Консультації з розширення функціоналу.

Орієнтовний термін — від 4 до 7 днів для базового сценарію (товари, залишки, замовлення). Вартість розраховується індивідуально — залиште заявку, і ми оцінимо ваш проєкт за 1 день. Замовте інтеграцію МойСклад із вашим сайтом — позбудьтеся рутини та помилок. Зв'яжіться з нами для консультації.