Материал блога
Ошибка 504 при обмене МойСклад и Shop-Script: как найти причину
При обмене МойСклад и Webasyst Shop-Script ошибка HTTP 504 означает, что один из серверов не дождался ответа в отведённое время. Это симптом, а не готовый диагноз: проблема может быть в объёме данных, обработке файла, очереди задач, настройках сервера или промежуточном соединении. Повторять полный импорт без проверки рискованно — прежде нужно понять, на каком шаге оборвался обмен и что успело обновиться.

Где именно возникает 504?
Запишите время ошибки, адрес и операцию: передача каталога, загрузка предложений, обновление остатков или отправка заказов. Сверьте журнал модуля, ошибки PHP и веб-сервера, а также расписание фоновых задач. Если в логах фигурирует offers.xml, отдельно проверьте обновление цен и остатков: успешная загрузка карточек товаров ещё не означает, что предложения обработались полностью.
Проверка без повторного импорта всего каталога
- Сохраните исходное состояние. Сделайте резервную копию и отметьте несколько контрольных товаров: простой товар, вариант с размером или цветом, позицию с нулевым остатком.
- Определите источник полей. Уточните, где ведутся товары, варианты, цены, остатки и заказы. В официальной схеме МойСклад для Shop-Script эти данные передаются в разных направлениях; состав конкретного подключения зависит от модуля и его настроек.
- Сопоставьте идентификаторы. Проверьте внешние ID, артикулы, варианты и склады. Если связь нарушена, ускорение обработки не устранит дублей и неверных остатков.
- Проверьте окружение. Сравните время выполнения задачи, лимиты PHP и прокси, доступную память, версии Shop-Script и интеграционного модуля. Не увеличивайте таймауты вслепую: зависший процесс может продолжить работу после того, как интерфейс уже показал ошибку.
- Повторите малую выборку. После исправления проведите контрольный обмен ограниченной группой, затем проверьте результат в панели и на витрине. Только после этого запускайте полный цикл.
Что было в проекте EDGE
В кейсе интернет-магазина EDGE журнал фиксировал HTTP 504 при обработке offers.xml. В рамках проекта восстановили обмен остатками с МойСклад и отдельно проверяли модификации, артикулы и отображение размеров с фактическим наличием. Это пример конкретного сбоя: такой же код ответа на другом сайте не доказывает ту же причину.
Как понять, что обмен восстановлен
Проверьте не только отсутствие 504. Контрольные товары должны сохранить правильные варианты и артикулы, цены и остатки должны совпасть с выбранным складом, нулевой остаток — корректно отражаться на витрине, новые заказы — передаваться в нужном направлении. Повторите проверку после следующего планового запуска: одно успешное выполнение не подтверждает стабильность расписания.
Если требуется диагностика действующего подключения, посмотрите услугу интеграции МойСклад с Shop-Script. Для оценки достаточно описать версии системы и модуля, время ошибки и несколько проблемных артикулов. Пароли и ключи доступа не отправляйте в первом обращении.