Контекст и вызов
Расхождения остатков приводили к overselling, заказы дублировались или терялись при ручном переносе. Нужен надёжный обмен с retry при сбоях API.
Интернет-магазин и МойСклад жили раздельно - заказы и остатки синхронизировались вручную. Построил двусторонний обмен через REST API с очередью повторов и логированием.
Расхождения остатков приводили к overselling, заказы дублировались или терялись при ручном переносе. Нужен надёжный обмен с retry при сбоях API.
PHP-сервис обмена: webhook магазина создаёт заказ в МойСклад, cron синхронизирует остатки и цены обратно. Очередь с retry, idempotency keys и детальный лог каждой пачки.
Webhook магазина ставит задачу в очередь создания заказа в МС.
REST API: контрагент, позиции, склад и статус отгрузки.
Cron забирает остатки и цены, обновляет каталог магазина.
Повтор при ошибке, алерт при исчерпании попыток.
Заказы, остатки, цены и контрагенты через JSON API.
MySQL queue с приоритетами и exponential backoff.
Мгновенный приём нового заказа с idempotency key.
Request/response каждой операции для аудита и отладки.
Опишите ваш процесс - спроектирую связку систем, сроки и формат работы под ваш стек.