Подключение магазина на Shop-Script к ILFF
Смотрите также: Виджет доставки для корзины · API ILFF · Все модули для CMS
Скачать модуль ilff-shopscript.zip
Плагины ILFF связывают ваш магазин на Shop-Script (Webasyst) с сервисом ILFF:
- в оформлении заказа появляются способы доставки ILFF: курьером до двери и в пункт выдачи, с ценой и сроком; пункт выдачи покупатель выбирает на карте;
- заказ с доставкой ILFF сам уходит в ILFF, когда получает выбранный вами статус;
- трек-номер и статус заказа возвращаются в магазин;
- остатки товаров передаются из ILFF в магазин;
- отмена (удаление) заказа в магазине отменяет заявку в ILFF.
Обмен всегда начинает магазин: плагины сами обращаются к сервису ILFF по ключу API, открывать магазин для нас не нужно.
В архиве два плагина:
- плагин магазина «ILFF: фулфилмент и доставка» — ключ API, отправка и отмена заказов, трек и статусы, остатки, список товаров, кнопка выбора пункта выдачи на карте;
- плагин доставки «ILFF» — способы доставки «Курьером до двери» и «Пункт выдачи» в оформлении заказа.
Нужны Shop-Script 8 или новее с оформлением заказа в один шаг (версия 2), PHP 7.4 или новее с расширением curl, доступ к файлам сайта (FTP или панель хостинга), права администратора магазина, доступ к серверу для настройки cron и доступ к личному кабинету ILFF. Подключение занимает 20–30 минут.
Шаг 1. Подключение в личном кабинете ILFF
Личный кабинет → вкладка Интеграции → раскройте блок Интернет-магазин.
- Платформа — выберите Shop-Script.
- Адрес магазина — адрес сайта, например
shop.ru. - Флажок Заказ с несвязанным товаром ждёт привязки: если он включён, заказ с товаром, который ещё не связан с вашим товаром в ILFF, не принимается, пока вы его не свяжете (шаг 6). Рекомендуем оставить флажок включённым.
- Нажмите Подключить. Кабинет создаст подключение. К магазину он при этом не обращается: связь проверит плагин на шаге 3.
Вверху вкладки Интеграции показан Ключ API. Если его нет, нажмите Сгенерировать. Ключ понадобится на шаге 3. Никому его не пересылайте: по нему сервис ILFF узнаёт ваш магазин. Там же — код клиента для виджета; добавьте домен магазина в список доменов виджета.
Шаг 2. Установка плагинов
- Скачайте архив
ilff-shopscript.zipсо страницы модуля на сайте ILFF или получите его у менеджера. - Распакуйте архив в корень сайта (каталог, где лежат
index.phpи папкиwa-apps,wa-plugins). Появятся каталогиwa-apps/shop/plugins/ilffиwa-plugins/shipping/ilff. - Включите плагин магазина: откройте файл
wa-config/apps/shop/plugins.phpи добавьте перед последней строкой);строку
'ilff' => true,
- Сбросьте кэш: в бэкенде Webasyst Настройки → Очистить кэш или удалите содержимое каталога
wa-cache. - Откройте Магазин → Плагины: в списке появится ILFF: фулфилмент и доставка. При первом открытии плагин создаст свои таблицы (очередь заказов).
- Добавьте способ доставки: Магазин → Настройки → Доставка → Добавить способ доставки → ILFF. Включите его и сохраните. Названия вариантов («Курьером до двери», «Пункт выдачи», «Почта России») можно поменять в его настройках. Там же флажок Почта России до отделения (по умолчанию включён): отдельный вариант «Почта» с ценой «от N ₽»; при его выборе виджет открывается на вкладке «Почта», покупатель выбирает отделение, и появляется точная цена и срок. Выключите флажок, если доставка Почтой России вам не нужна.
Шаг 3. Настройки плагина магазина
Магазин → Плагины → ILFF: фулфилмент и доставка.
- Ключ API ILFF — ключ из шага 1.
- Адрес сервиса ILFF — уже заполнен, менять не нужно.
- Подсказка городов ILFF (по умолчанию включена) — в поле «Город» оформления появляется свой список городов из справочника ILFF: сначала города выбранного региона, ниже — других регионов с подписью региона. Выбор города другого региона сам переключает регион в форме. Пока покупатель печатает, доставка не пересчитывается — только после выбора города из списка или ухода из поля.
- Код клиента ILFF для виджета — код из личного кабинета. Без кода кнопка выбора пункта выдачи на карте не показывается. Вариант настроек калькулятора — код варианта из личного кабинета ILFF, например
site2, если для этого сайта заведены свои настройки доставки. Пусто — настройки по умолчанию. Пороги бесплатной доставки («Бесплатно для получателя от суммы товаров») задаются в личном кабинете ILFF, когда сумма товаров дошла до порога, модуль показывает доставку как «Бесплатно». - Адрес подсказки городов — необязательно. Пусто — берётся с сервиса ILFF рядом с адресом сервиса.
- Отправлять заказ в ILFF в статусе — по умолчанию «Подтверждён» (processing). Заказ уходит при переходе в этот статус. Если вы проверяете заказ или ждёте оплату, выберите статус, в который переводите заказ после проверки.
- Отменять заявку ILFF в статусах — по умолчанию «Удалён» и «Возврат». Переход в такой статус отменяет заявку в ILFF.
- Действия по статусам ILFF. Значение «не менять статус» оставляет заказ как есть:
| Настройка | Статусы ILFF | По умолчанию |
|---|---|---|
| Передан в службу доставки → действие | Передан в КС | Отправлен |
| Доставлен или выдан → действие | Доставлен клиенту, Выдан, Частичная выдача | Выполнен |
| Отменён в ILFF → действие | Отменен, Аннулирован | не менять |
| Возврат или отказ → действие | Возврат принят, Полный отказ | не менять |
Действие выполняется, только если оно доступно в текущем статусе заказа.
- Оплата при получении (плагины оплаты) — идентификаторы плагинов оплаты через запятую, по умолчанию
cash. Наложенный платёж в заявке будет только у этих способов, остальные заказы считаются предоплаченными. - Загружать остатки из ILFF — в количество артикулов записываются свободные остатки: остаток на складе ILFF за вычетом резерва и заказов, которые ещё не дошли до ILFF. Склад магазина для остатков — если у вас несколько складов, выберите склад, куда записывать остаток ILFF.
- Нажмите Сохранить. Плагин сразу проверит связь с ILFF: при ошибке вверху появится «Настройки сохранены, но связи с ILFF нет: …».
Шаг 4. Оформление заказа и оплата
- Оформление заказа должно быть в один шаг (Магазин → Витрина → Оформление заказа, версия 2). Шаг «Доставка» включён, в нём — способ ILFF.
- Для расчёта нужен адрес: регион и город. Для курьера ещё улица с домом.
- Курьером до двери показывается с ценой и сроком самого дешёвого тарифа (в том числе курьера Почты России «онлайн», если он дешевле). Если улицы нет в справочнике адресов (сёла, новые улицы), цена курьера считается по городу, а адрес уходит в заказ как введён. Первый расчёт по новому городу может занять 10–15 секунд, повторные — 1–2 секунды.
- Самовывоз виден сразу с ценой «от N ₽» и сроком по самому дешёвому пункту города. При выборе этой плитки открывается виджет ILFF с картой, списком пунктов и службами (закрыли — под плиткой остаётся кнопка Выбрать пункт выдачи на карте). После выбора пункта шаг доставки обновится: «Пункт выдачи: адрес» с точной ценой и сроком, кнопка Изменить пункт выдачи позволяет выбрать другой. Пока пункт не выбран, оформление дальше не пропускает. При смене города выбранный пункт сбрасывается. У курьерской доставки кнопки выбора пункта нет. Если в городе покупателя нет пунктов выдачи или отделений Почты, вариант называется «…: выберите ближайший на карте»: карта открывается в точке адреса, показываются пункты соседних городов с расстоянием, при сдвиге и масштабе карты подгружаются новые; цена считается до выбранного пункта.
- Способ оплаты при получении (например, «Наличными при получении», плагин
cash) должен быть доступен для доставки ILFF: Магазин → Настройки → Оплата → настройки способа → доставки, для которых он доступен. Если шаг «Оплата» в оформлении выключен, включите его в настройках оформления. - Отключите способы доставки с фиксированной ценой, если доставку выполняет ILFF.
- Оформите пробный заказ с доставкой ILFF, переведите его в статус отправки и убедитесь, что заказ пришёл в ILFF: в истории заказа появится «ILFF: создана заявка …».
Шаг 5. Cron
Задание плагина нужно запускать системным cron сервера раз в 5–10 минут:
php /путь/к/сайту/cli.php shop ilffPluginCron
Задание:
- досылает заказы, которые не ушли сразу (после сбоя связи или из ожидания привязки): через 1, 5, 15, 60 и 180 минут, но не чаще запуска задания;
- забирает трек-номера и статусы: трек записывается в поле «Трек-номер» заказа и в историю, статус меняется действием из шага 3;
- обновляет остатки;
- раз в сутки передаёт в ILFF список товаров и сверяет все остатки.
Без cron трек-номера, статусы и остатки обновляться не будут. Заказы уходят в ILFF сразу при смене статуса и без cron.
Шаг 6. Привязка товаров
В личном кабинете ILFF кнопка Товары магазина в блоке «Интернет-магазин» показывает товары магазина, переданные плагином, и их связь с вашими товарами в ILFF. Каждый артикул (SKU) Shop-Script — отдельный товар. Связь подбирается сначала по штрихкоду, затем по коду артикула.
Своего поля штрихкода у Shop-Script нет: заведите характеристику товара с кодом barcode (или ean, gtin) типа «Строка» и заполните её у товаров или артикулов.
| Статус | Что делать |
|---|---|
| Связан | Ничего, связь сохранена |
| Подобран | Проверьте и подтвердите |
| Несколько совпадений | Выберите нужный товар вручную |
| Не найден | Выберите товар вручную или заполните в магазине штрихкод или код артикула |
Если заказ ждёт привязки, вверху вкладки Интеграции появляется плашка с числом таких заказов, а в блоке «Интернет-магазин» — таблица с заказами и товарами. После привязки плагин досылает заказ сам.
Отмена заказа
Переход заказа в статус отмены (шаг 3) отменяет заявку в ILFF, пока её не передали в службу доставки; собранный заказ вернётся на хранение. Если заявка уже у службы доставки, которая принимает отмену (Dalli, 5Post), отмена передаётся ей, а заказ возвращается на склад. У других служб заявка в работе сама не отменяется: в истории заказа появится запись «ILFF: Заявка уже в работе…», свяжитесь с менеджером.
Обновление плагинов
- Скачайте новый архив
ilff-shopscript.zipс этой страницы. - Распакуйте его в корень сайта поверх старых файлов (каталоги
wa-apps/shop/plugins/ilffиwa-plugins/shipping/ilff). Настройки плагинов и способа доставки сохраняются. - Сбросьте кэш (Настройки → Очистить кэш).
Если что-то не работает
| Сообщение или симптом | Причина и решение |
|---|---|
| «Связи с ILFF нет: Неверный ключ API» | Ключ введён с ошибкой или заменён. Скопируйте ключ из личного кабинета и сохраните настройки |
| «Связи с ILFF нет: В личном кабинете ILFF не подключён магазин Shop-Script» | Не выполнен шаг 1: выберите платформу Shop-Script и нажмите «Подключить» |
| «Связи с ILFF нет: Сервис ILFF не ответил» | Сервер магазина не может обратиться к ILFF: проверьте исходящие соединения по HTTPS на порт 8443 и расширение curl в PHP |
| Плагина нет в «Магазин → Плагины» | Не добавлена строка 'ilff' => true, в wa-config/apps/shop/plugins.php или не сброшен кэш |
| В оформлении нет способа доставки ILFF | Способ не добавлен или выключен (шаг 2), не заполнены регион и город, или плагин магазина без ключа API |
| «Нет тарифов» или пропадает «Курьер» после выбора пункта | Проверьте, что регион в форме совпадает с городом (выберите город из подсказки — регион переключится сам). Если сервис ILFF отвечает медленно, повторите выбор через минуту |
| Нет кнопки «Выбрать пункт выдачи на карте» | Не указан код клиента для виджета (шаг 3) или способ доставки ILFF выключен |
| Виджет пишет, что пункты недоступны | Домен магазина не добавлен в список доменов виджета в личном кабинете |
| Доставка везде «Бесплатно» | Стоимость доставки обнуляет скидка или плагин магазина (например, правило «бесплатная доставка»). Проверьте правила скидок и плагины |
| Нет способа оплаты при получении | Способ оплаты недоступен для доставки ILFF или шаг «Оплата» выключен (шаг 4) |
| Заказ не пришёл в ILFF | Проверьте статус заказа и настройку «Отправлять заказ в ILFF в статусе», блок «ждут привязки» в кабинете. Заказ должен быть с доставкой ILFF |
| Трек-номер и статус не приходят | Не настроен cron (шаг 5) |
| Остаток в магазине не совпадает с остатком в кабинете | В магазин уходит свободный остаток: без резерва, неотправленных заказов и товара в приёмке |