Разработка 4 мин чтения

Заказы из Tilda и WordPress в МойСклад: трек, статусы, дубли

Заказы с Tilda, WordPress или самописного сайта уходят в МойСклад, а потом появляются дубли, пропадает трек-номер, не доезжает отмена. Разбираем, что с чем связывается по документации API, где связка ломается и как проверить её без тестового контура.

МойСкладTildaинтеграция с сайтомзаказы покупателя
Коротко. Заказ с сайта попадает в МойСклад документом «Заказ покупателя». Ломается обычно не сама передача, а мелочи вокруг неё: дубли при повторной отправке, трек-номер без места в карточке, отмена, которая не доезжает, оплата без платежа, остаток по всем складам и резерв на товар вместо модификации. Встроенный коннектор Tilda закрывает заказы, резерв и остатки, но не трек и не отмену. Тестового контура я в документации не нашёл, поэтому проверять нужно на помеченных заказах.

Заказ пришёл, а трека нет. Или пришёл дважды

По объявлениям на биржах фриланса в январе и октябре 2026 года такие связки заказывают постоянно. В одном заказ из Tilda уходит в МойСклад через стороннее решение, а трек-номер службы доставки по дороге теряется. В другом форму на WordPress нужно связать с МойСклад вместе с UTM-метками и полями менеджера. В сентябре 2026 на Хабре разобрали магазин на самописном движке: остаток «в наличии» брался со склада другого юрлица, а резерв вставал на родительскую карточку вместо размера. Заказы с маркетплейсов здесь не разбираю, это отдельная тема.

Что с чем связывается

В таблице сущности по документации JSON API 1.2 (dev.moysklad.ru, проверено 2026-10-02).

ЧтоСущность в МойСкладНа что смотреть
Покупательконтрагент (counterparty), при создании обязательно nameесть phone и email, по ним работает фильтр, телефон приводите к одному формату
Заказcustomerorder, обязательны organization и agentномер заказа сайта храните в externalCode
Позицииpositions: assortment, quantity, price, reserveцена в копейках, ссылка на модификацию, резерв отдельным полем
Оплатавходящий платёж (paymentin), связь с заказом через operationspayedSum в заказе только для чтения
Статусstate из метаданных заказов (states)сопоставляйте по id статуса, не по названию
Трек-номердополнительное поле заказа (attributes)в стандартных атрибутах заказа трека я не нашёл, поле создаёте сами
Остатоккраткий отчёт об остаткахфильтр storeId, тип stock, reserve или quantity

Способов передать заказ четыре. Первый, встроенный коннектор Tilda через CommerceML. Он загружает заказы, ставит товары в резерв, отдаёт остатки с выбранного склада и передаёт изменения обратно. По справке Tilda заказы уходят в статусах «Новый» (не оплачен) и «Подтверждён» (оплачен), а правило отправки выбирается: один раз, один раз с задержкой, повторно после смены статуса или только оплаченные. Второй, Webhook Tilda на ваш HTTPS-скрипт: POST, ответ 200 за пять секунд, затем ещё две попытки с интервалом в минуту, товары можно получать массивом вместе с externalid. Третий, WooCommerce на WordPress: у него есть вебхуки на заказы, и он отключает вебхук после более чем пяти подряд неудачных доставок. Четвёртый, свой код с запросами к API, как в статье про интеграцию API на заказ.

Где ломается чаще всего

Дубли. Повтор отправки Tilda, ретрай вашего скрипта, ручная кнопка «выгрузить ещё раз». Спасает правило из обсуждения на Хабре: перед созданием искать заказ по externalCode (в документации для него есть фильтр) и создавать документ, только когда ответ 200 и список пуст. Ответ 429 или 5xx пустым списком не считается. Если запись вернула 5xx, пользователи советуют не повторять её вслепую: документ мог создаться.

Отмена. По справке МойСклад, коннектор Tilda не выгружает статус отмены и статус отгрузки. Отмену придётся передавать отдельно. Резерв в справке снимается флажком в заказе или сценарием, а что делает с резервом смена статуса на «Отменён» именно у вас, не проверено: узнайте на тестовом заказе.

Оплата. Статус оплаты в заказе («Не оплачено», «Частично оплачено», «Оплачено») меняется, когда создан связанный входящий платёж. При оплате через приложение «Онлайн-оплата» статус не меняется, об этом сказано в справке. Платежа среди загружаемых из Tilda данных нет, его создаёт сценарий или ваш скрипт.

Остатки. Без фильтра остаток считается по всем складам и юрлицам аккаунта. В отчёте есть фильтр storeId, а в коннекторе Tilda можно выбрать склад. Краткий отчёт рассчитан на запросы раз в 5-15 минут, а полную сверку документация рекомендует делать раз в сутки.

Модификации. Если в коннекторе выключено «Создавать модификации товаров», заказ с неизвестной модификацией создаст отдельный товар. В своём коде позиция должна ссылаться на модификацию и нести reserve, иначе, по обсуждению на Хабре, товар остаётся свободным и продаётся повторно.

Трек. Среди загружаемых из Tilda данных его нет. Рабочая схема: создать дополнительное поле заказа, найти заказ по externalCode и записать значение через PUT с attributes. Откуда брать номер, зависит от службы доставки. API Яндекс GO для бизнеса я не открывал.

Как проверить без песочницы

Отдельной тестовой копии аккаунта в документации API я не нашёл, участники обсуждения на Хабре пишут, что её нет, и тест уходит в боевой учёт. Порядок, который я бы выбрал.

1. Скрипт по умолчанию только собирает документ и показывает его, запись включается отдельным флагом.

2. Тестовые заказы создаются с пометкой в комментарии, отдельным проектом или каналом продаж (в заказе есть project и salesChannel) и на тестового контрагента.

3. На время теста отключите вебхуки заголовком X-Lognex-WebHook-DisableByPrefix, а после удалите тестовые документы.

4. Прогоните пять заказов: две штуки одной позиции, скидка, модификация, оплата, отмена. Затем повторите отправку тех же заказов и убедитесь, что новых документов нет.

5. Раз в сутки сверяйте заказы сайта с МойСклад по чтению. Вебхук МойСклад ждёт ответа 1500 миллисекунд и повторяет доставку три раза, потом уведомление удаляется, поэтому одним вебхуком не обойтись. На бесплатном тарифе вебхуки не отправляются.

Связку с учётом шире описывает статья про МойСклад вместо 1С, общий чек-лист приёмки лежит здесь.

Что важно учесть

Подключение магазина в МойСклад доступно на тарифах от бесплатного, после пробных 7 дней нужна опция онлайн-торговли, цену я не проверял. Когда сайт на WordPress, готовые плагины живут своей жизнью: статус плагина в каталоге wordpress.org может поменяться, перед выбором откройте его страницу и посмотрите дату последнего обновления. Не проверено: числа лимитов запросов к API, поведение резерва при смене статуса, API службы доставки. Выбор платформы под такую связку разобран в статье Tilda или WordPress.

Частые вопросы

Хватит ли встроенного коннектора Tilda?

Для заказов, резерва и остатков хватает. Трек, отмену и оплату через платёж придётся делать отдельно, скриптом или сценарием МойСклад.

Почему заказ создался дважды?

Обычно повтор отправки без проверки по externalCode. Tilda повторяет запрос при сбое, а режим «повторно после смены статуса» отправляет заказ ещё раз.

Можно ли тестировать на живом аккаунте?

Можно, если пометить заказы, отключить вебхуки на время теста и удалить документы после. Без пометок тест попадёт в отчёты.

Коротко о главном

Заказ с сайта легко передать, сложнее с дублями, отменой, оплатой, остатками и модификациями. Номер заказа сайта кладите в externalCode, статусы сопоставляйте по id, а тест делайте на помеченных документах.

Хотите, чтобы я связал ваш сайт с МойСклад: заказы, оплата, трек, остатки без дублей? Напишите мне в Telegram слово «ЗАКАЗЫ». Подробнее на странице автоматизации бизнес-процессов.

Услуги по теме

Что я делаю для бизнеса

  • Боты в Telegram, MAX, VK
  • Автоматизация процессов и CRM
  • Аналитика и дашборды
  • Сайты и лендинги под ключ

Бесплатно: чек-лист «Готов ли ваш бизнес к 152-ФЗ»

12 пунктов, которые проверяют готовность за час: данные, согласия, уведомление в РКН, локализация, защита. Отметьте, что уже сделано, и увидите дыры, за которые сейчас штрафуют.

Готовы обсудить вашу задачу?

Бесплатная консультация — разберём, как внедрить это в вашем бизнесе под ключ. Без форм, пишите напрямую.

Пишу о разработке, ИИ и законах для бизнеса

Разборы, кейсы и практика — без воды. Выходит регулярно, читать 3–5 минут.

Готовые решения под ключTurnkey solutionsSoluciones llave en mano交钥匙解决方案Түлхүүр гардуулах шийдэл 451 готовых IT-решений для бизнеса451 ready-made IT solutions for business451 soluciones IT listas para empresas451 个面向企业的现成 IT 解决方案Бизнест зориулсан 451 бэлэн IT шийдэл Автоматизация, боты, AI, 152-ФЗ и платформы · бесплатная консультацияAutomation, bots, AI, data privacy and platforms · free consultationAutomatización, bots, IA, privacidad de datos y plataformas · consulta gratis自动化、机器人、AI、数据合规与平台 · 免费咨询Автоматжуулалт, бот, AI, өгөгдлийн хамгаалалт ба платформ · үнэгүй зөвлөгөө Смотреть каталогView catalogVer catálogo查看目录Каталог үзэх