Интеграция МойСклад и сайта: синхронизация товаров, заказов, остатков

Интеграция МойСклад с сайтом

Разработка и обслуживание любых видов сайтов:

Информационные сайты или веб-приложения
Сайты визитки, 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
    Разработка веб-сайта для компании ФИКСПЕР
    997

Интеграция МойСклад с сайтом

При ручном ведении каталога и заказов в двух системах неизбежны расхождения. Товар закончился на складе, но на сайте остаётся в продаже — клиенты оформляют возвраты. Или менеджер вносит изменение цены в МойСклад, забывая обновить на сайте. Интеграция через 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 товаров нужно использовать пагинацию и кэширование.
  • Отсутствие обработки ошибок: если АПИ временно недоступен, заказы могут потеряться. Мы используем очередь с повторными попытками.

Процесс работы

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

Что входит в работу

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

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