Подключение магазина на WordPress + WooCommerce к ILFF
Смотрите также: Виджет доставки для корзины · API ILFF · Все модули для CMS
Скачать модуль ilff-woocommerce.zip
Плагин «ILFF: доставка и фулфилмент» связывает ваш магазин на WooCommerce с сервисом ILFF:
- в оформлении заказа появляются способы доставки ILFF: курьером до двери (отдельно по каждой службе) и в пункт выдачи, с ценой и сроком; пункт выдачи покупатель выбирает на карте;
- заказ с доставкой ILFF сам уходит в ILFF, когда получает выбранный вами статус;
- трек-номер и статус заказа возвращаются в магазин;
- остатки, вес и габариты товаров передаются из ILFF в магазин;
- отмена заказа в магазине отменяет заявку в ILFF.
Обмен всегда начинает магазин: плагин сам обращается к сервису ILFF по ключу API, открывать магазин для нас не нужно.
Нужны:
- WordPress 6.2 или новее и WooCommerce 8 или новее;
- PHP 7.4 или новее (проверено на PHP 8.2);
- валюта магазина — российский рубль: ILFF считает доставку и суммы заказа в рублях;
- классическое оформление заказа (подробнее — в шаге 4);
- права администратора магазина и доступ к личному кабинету ILFF.
Подключение занимает 15–20 минут.
Шаг 1. Подключение в личном кабинете ILFF
Личный кабинет → вкладка Интеграции → раскройте блок Интернет-магазин.
- Платформа — выберите WooCommerce.
- Адрес магазина — адрес сайта, например
shop.ru. - Флажок Заказ с несвязанным товаром ждёт привязки: если он включён, заказ с товаром, который ещё не связан с вашим товаром в ILFF, не принимается, пока вы его не свяжете (шаг 6). Рекомендуем оставить флажок включённым.
- Нажмите Подключить. Кабинет создаст подключение. К магазину он при этом не обращается: связь проверит плагин на шаге 3.
Вверху вкладки Интеграции показан Ключ API. Если его нет, нажмите Сгенерировать. Ключ понадобится на шаге 3. Никому его не пересылайте: по нему сервис ILFF узнаёт ваш магазин. Там же — код клиента для виджета выбора пункта; добавьте домен магазина в список доменов виджета.
Шаг 2. Установка плагина
- Скачайте архив
ilff-woocommerce.zipсо страницы модуля на сайте ILFF или получите его у менеджера. Распаковывать архив не нужно. - В админке WordPress откройте Плагины → Добавить новый → Загрузить плагин, выберите архив и нажмите Установить.
- Нажмите Активировать.
При активации плагин сам:
- создаёт таблицу очереди заказов;
- ставит задание ILFF в WP-Cron раз в час: досылка заказов, трек-номера, статусы, остатки;
- добавляет вкладку ILFF в WooCommerce → Настройки и способы доставки «Курьер ILFF» и «Пункт выдачи ILFF».
Шаг 3. Настройки плагина
WooCommerce → Настройки → ILFF.
Связь с ILFF
- Ключ API клиента ILFF — ключ из шага 1. После сохранения поле остаётся пустым, сохранённый ключ не показывается. Чтобы поменять только другие настройки, оставьте поле пустым.
- Адрес сервиса ILFF — уже заполнен, менять не нужно.
- Код клиента ILFF для виджета — код из личного кабинета. Без кода способ «Пункт выдачи ILFF» в оформлении не показывается.
- Вариант настроек калькулятора — код варианта из личного кабинета ILFF, например
site2, если для этого сайта заведены свои настройки доставки. Пусто — настройки по умолчанию. Пороги бесплатной доставки («Бесплатно для получателя от суммы товаров») задаются в личном кабинете ILFF, когда сумма товаров дошла до порога, модуль показывает доставку как «Бесплатно». - Адрес подсказки городов — необязательно. Пусто — берётся с сервиса ILFF рядом с адресом сервиса.
Заказы
- Статус, при котором заказ уходит в ILFF — по умолчанию «Обработка». Заказ уходит при переходе в этот статус. Если вы проверяете заказ или ждёте оплату, выберите статус, в который переводите заказ после проверки.
- Статусы отмены — по умолчанию «Отменён». Переход отправленного заказа в такой статус отменяет заявку в ILFF.
- Оплата при получении — способы оплаты, при которых покупатель платит курьеру или в пункте выдачи. По умолчанию «Оплата при доставке» (cod). Такие заказы уходят в ILFF с наложенным платежом, остальные считаются предоплаченными.
Статусы заказа по статусам ILFF. Значение «Не менять» оставляет статус заказа как есть:
| Настройка | Статусы ILFF | По умолчанию |
|---|---|---|
| Передан в доставку | Передан в КС | Не менять |
| Доставлен | Доставлен клиенту, Выдан, Частичная выдача | Выполнен |
| Отменён | Отменен, Аннулирован | Отменён |
| Возврат | Возврат принят, Полный отказ | Не менять |
Статус «Возвращён» WooCommerce оформляет как возврат денег на всю сумму заказа, поэтому для возврата по умолчанию стоит «Не менять». Если статуса «Передан в доставку» в магазине нет, его можно добавить плагином пользовательских статусов заказа и выбрать здесь.
Остатки, вес и габариты
- Получать остатки из ILFF — в запас товара (или вариации) записывается свободный остаток: остаток на складе ILFF за вычетом резерва и заказов, которые ещё не дошли до ILFF. Товар в зоне приёмки склада в остаток не входит, пока его не разместили. Учёт запасов у таких товаров включается сам.
- Получать вес и габариты товаров — вес и размеры, измеренные на складе ILFF, записываются в товары в единицах магазина, только там, где они у нас заполнены.
- Получать вес и габариты заказа — вес, габариты и число мест собранного заказа показываются в блоке ILFF карточки заказа.
Нажмите Сохранить изменения. Плагин сразу проверит связь: вверху появится «Связь с ILFF есть, клиент: …». Затем в блоке Состояние обмена нажмите Передать список товаров сейчас: товары уйдут в ILFF для привязки (шаг 6), и при включённых остатках сразу сверятся остатки.
Шаг 4. Способы доставки и оформление заказа
Способы доставки. WooCommerce → Настройки → Доставка → откройте зону доставки для России (или создайте зону «Россия» с регионом «Россия») → Добавить способ доставки:
- Курьер ILFF — доставка до двери. Покупатель видит отдельный вариант для каждой службы: «Курьер до двери: СДЭК», «Курьер до двери: Курьер ILFF» — по самому дешёвому тарифу службы, со сроком. Тарифы Почты России, если сервис ILFF их считает для вашего магазина («Посылка», «Посылка онлайн», «Курьер онлайн»), показываются отдельными вариантами со своими названиями.
- Пункт выдачи ILFF — пункты выдачи, постаматы и отделения Почты России.
Название способа можно поменять в его настройках (карандаш в строке способа). Отключите в этой зоне способы доставки магазина с фиксированной ценой, если доставку выполняет ILFF.
Оформление заказа должно быть классическим. Кнопка выбора пункта выдачи на карте работает в классической корзине и классическом оформлении заказа (шорткоды [woocommerce_cart] и [woocommerce_checkout]). В новых магазинах WooCommerce страницы «Корзина» и «Оформление заказа» по умолчанию собраны из блоков: там способ «Пункт выдачи ILFF» будет виден, но выбрать пункт нельзя, и заказ с ним не оформится. Переключите страницы на классический вид:
- Страницы → Оформление заказа → Изменить.
- Выделите блок «Оформление заказа» и в его панели нажмите Перейти на классическое оформление заказа (или замените блок блоком «Шорткод» с текстом
[woocommerce_checkout]). - Обновите страницу. То же сделайте для страницы «Корзина» (
[woocommerce_cart]).
WooCommerce на странице плагинов может показывать, что плагин ILFF несовместим с блочным оформлением заказа: это именно об этом.
Шаг 5. Что видит покупатель
- Покупатель указывает страну «Россия», регион и город. Цена курьера и пунктов выдачи считается по городу, улица в расчёт не идёт: она уходит в ILFF вместе с заказом.
- Курьер до двери — варианты служб с ценой и сроком.
- Пункт выдачи ILFF — выберите пункт на карте: от N ₽: до выбора пункта показывается нижняя граница цены по городу. Под способом — заметная синяя кнопка Выбрать пункт на карте. Выбор этого способа тоже сам открывает карту.
- В окне виджета ILFF покупатель выбирает пункт выдачи, постамат или отделение Почты на карте или в списке. После выбора способ меняется на «Пункт выдачи ILFF СДЭК: адрес пункта» (или «Почта России: адрес отделения») с точной ценой и сроком. Кнопка под ним — Изменить пункт выдачи.
- На вкладке «Курьер» виджета можно выбрать службу курьера и ввести адрес: в оформлении выберется вариант «Курьер до двери» этой службы, а адрес подставится в поле улицы.
- Если покупатель сменил город, выбранный пункт сбрасывается, и способ снова предлагает выбрать пункт на карте.
- Оформить заказ с пунктом выдачи без выбранного пункта нельзя: появится сообщение «Выберите пункт выдачи».
Если в городе покупателя нет пунктов выдачи или отделений Почты, виджет открывает карту в точке адреса и показывает ближайшие пункты соседних городов с расстоянием; цена считается до выбранного пункта.
Пункт выдачи, тариф и код пункта сохраняются в заказе. Оформите пробный заказ с доставкой ILFF, переведите его в статус отправки и убедитесь, что заказ пришёл в ILFF.
Шаг 6. Привязка товаров
В личном кабинете ILFF кнопка Товары магазина в блоке «Интернет-магазин» показывает товары магазина, переданные плагином, и их связь с вашими товарами в ILFF. Связь подбирается сначала по штрихкоду, затем по артикулу:
- штрихкод — поле GTIN, UPC, EAN или ISBN на вкладке «Запасы» товара (WooCommerce 9.2 и новее). В более старых версиях плагин берёт штрихкод из произвольного поля
_ean,_barcodeили_gtin, если его заполняет ваш плагин штрихкодов; - артикул — поле Артикул (SKU).
| Статус | Что делать |
|---|---|
| Связан | Ничего, связь сохранена |
| Подобран | Проверьте и подтвердите |
| Несколько совпадений | Выберите нужный товар вручную |
| Не найден | Выберите товар вручную или заполните в магазине штрихкод или артикул |
Вариативный товар (размер, цвет) передаётся вариациями: у каждой вариации свой артикул и штрихкод, остаток и заказ идут по вариации. Задайте штрихкод и артикул у каждой вариации.
Если заказ ждёт привязки, вверху вкладки Интеграции появляется плашка с числом таких заказов, а в блоке «Интернет-магазин» — таблица с заказами и товарами. После привязки плагин досылает заказ сам.
Заказ в магазине
В карточке заказа справа есть блок ILFF: номер заявки ILFF, состояние обмена («передан», «ждёт привязки товаров», «ждёт отправки»), статус ILFF, трек-номер со ссылкой отслеживания, пункт выдачи и тариф, а с включённым флажком «Получать вес и габариты заказа» — вес, габариты и число мест. В заметках заказа появляются записи «ILFF: создана заявка …», «ILFF: трек-номер …» и ответ на отмену.
Отмена заказа
Переход заказа в статус отмены (шаг 3) отменяет заявку в ILFF, пока её не передали в службу доставки; собранный заказ вернётся на хранение. Если заявка уже у службы доставки, которая принимает отмену (Dalli, 5Post), отмена передаётся ей, а заказ возвращается на склад. У других служб заявка в работе сама не отменяется: в заметках заказа появится запись «ILFF: Заявка уже в работе…», свяжитесь с менеджером.
Задание WP-Cron
Задание ILFF выполняется раз в час:
- досылает заказы, которые не ушли сразу (после сбоя связи или из ожидания привязки): через 1, 5, 15, 60 и 180 минут, но не чаще запуска задания;
- забирает трек-номера и статусы заказов: трек записывается в заметку и блок ILFF заказа, статус меняется по таблице из шага 3;
- обновляет остатки, вес и габариты;
- раз в сутки передаёт список товаров и сверяет все остатки.
Заказы уходят в ILFF сразу при смене статуса и без задания.
WP-Cron запускается, когда на сайт заходят посетители. На сайте с малой посещаемостью или с выключенным WP-Cron (DISABLE_WP_CRON в wp-config.php) настройте на сервере системный cron, который раз в 5–15 минут вызывает https://ваш-магазин/wp-cron.php или команду wp cron event run --due-now (WP-CLI). Время последних запусков и следующего запуска видно в блоке Состояние обмена на вкладке ILFF.
Обновление плагина
Скачайте новый архив и загрузите его так же, как при установке: Плагины → Добавить новый → Загрузить плагин. WordPress предложит Заменить текущую версию загруженной — согласитесь. Настройки, очередь заказов и данные заказов сохраняются.
Удаление плагина
Отключение плагина останавливает задание ILFF, настройки остаются. Удаление плагина (Плагины → Удалить) стирает его настройки, очередь заказов и способы доставки ILFF в зонах; номера заявок, трек-номера и пункты выдачи в заказах остаются.
Если что-то не работает
| Сообщение или симптом | Причина и решение |
|---|---|
| «Связи с ILFF нет: Неверный ключ API» | Ключ введён с ошибкой или заменён. Скопируйте ключ из личного кабинета и сохраните настройки |
| «Связи с ILFF нет: В личном кабинете ILFF не подключён магазин WooCommerce» | Не выполнен шаг 1: выберите платформу WooCommerce и нажмите «Подключить» |
| «Связи с ILFF нет: Сервис ILFF не ответил» | Сервер магазина не может обратиться к ILFF: проверьте исходящие соединения по HTTPS на порт 8443 (хостинг может их закрывать) |
| В оформлении нет способов доставки ILFF | Проверьте, что способы добавлены в зону доставки и включены, страна — Россия и указан город |
| Нет способа «Пункт выдачи ILFF» | Не указан код клиента для виджета (шаг 3) |
| Нет кнопки «Выбрать пункт на карте» или пункт не выбирается | Страницы «Корзина» и «Оформление заказа» собраны из блоков: переключите их на классический вид (шаг 4). Если тема оформления своя и кнопка всё равно не появляется, сообщите менеджеру |
| Карта открывается, но пункты не загружаются | Домен магазина не добавлен в список доменов виджета в личном кабинете ILFF |
| «Не удалось разобрать адрес» | В адресе доставки нет города |
| Заказ не пришёл в ILFF | Проверьте статус заказа и настройку «Статус, при котором заказ уходит в ILFF», блок ILFF в карточке заказа (ошибка обмена) и блок «ждут привязки» в кабинете. Заказ должен быть с доставкой ILFF |
| Трек-номер и статус не приходят | Задание WP-Cron не запускается: смотрите «последний запуск» в блоке «Состояние обмена» и настройте cron сервера |
| Остаток в магазине не совпадает с остатком в кабинете | В магазин уходит свободный остаток: без резерва, неотправленных заказов и товара в приёмке |
| Цены доставки странные или нет расчёта | Валюта магазина не рубль: плагин рассчитан на магазин в рублях |
Ошибки обмена плагин пишет в журнал WooCommerce (WooCommerce → Состояние → Журналы, источник ilff) — без ключа API и данных покупателей. По остальным вопросам обращайтесь к вашему менеджеру ILFF.