Армавир Страницы сайта адаптированы под ваш регион Вся Россия
E-commerce

МойСклад ↔ интернет-магазин

Интернет-магазин и МойСклад жили раздельно - заказы и остатки синхронизировались вручную. Построил двусторонний обмен через REST API с очередью повторов и логированием.

PHP Ритейл
Задача

Контекст и вызов

Расхождения остатков приводили к overselling, заказы дублировались или терялись при ручном переносе. Нужен надёжный обмен с retry при сбоях API.

Решение

Архитектура и подход

PHP-сервис обмена: webhook магазина создаёт заказ в МойСклад, cron синхронизирует остатки и цены обратно. Очередь с retry, idempotency keys и детальный лог каждой пачки.

Схема

Как устроена связка

01

Заказ с сайта

Webhook магазина ставит задачу в очередь создания заказа в МС.

02

Создание в МойСклад

REST API: контрагент, позиции, склад и статус отгрузки.

03

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

Cron забирает остатки и цены, обновляет каталог магазина.

04

Retry и лог

Повтор при ошибке, алерт при исчерпании попыток.

Технические акценты

Интеграции и узлы системы

МойСклад REST

Заказы, остатки, цены и контрагенты через JSON API.

Очередь задач

MySQL queue с приоритетами и exponential backoff.

Webhook магазина

Мгновенный приём нового заказа с idempotency key.

Лог обмена

Request/response каждой операции для аудита и отладки.

Результат

Что сделано и что получил клиент

Поставки

  • Двусторонний обмен
  • Очередь с retry
  • Синхронизация остатков
  • Синхронизация цен
  • Логи и алерты
15 мин актуальность остатков
0 overselling после запуска
99.9% успешных обменов
Похожая задача

Нужен такой же результат?

Опишите ваш процесс - спроектирую связку систем, сроки и формат работы под ваш стек.

  • Разбор текущей архитектуры
  • Схема интеграций до старта
  • Оценка за 1-2 рабочих дня