Подключение магазина на Joomla + JoomShopping к ILFF
Смотрите также: Виджет доставки для корзины · API ILFF · Все модули для CMS
Скачать модуль ilff-joomla.zip
Пакет «ILFF: доставка и фулфилмент» связывает ваш магазин на Joomla с JoomShopping и сервис ILFF:
- на шаге «Доставка» появляются способы ILFF: курьер до двери, пункт выдачи с выбором на карте и Почта России, с ценой и сроком;
- заказ со способом доставки ILFF сам уходит в ILFF, когда получает выбранный вами статус;
- трек-номер и статус заказа возвращаются в магазин;
- остатки и вес товаров передаются из ILFF в магазин;
- отмена заказа в магазине отменяет заявку в ILFF.
Обмен всегда начинает магазин: модуль сам обращается к сервису ILFF по ключу API, открывать магазин для нас не нужно.
Нужны:
- Joomla 5 и JoomShopping 5 (проверено на Joomla 5.4.10 и JoomShopping 5.10.0);
- PHP 8.1 или новее с расширением curl;
- основная валюта магазина — российский рубль, единица веса — кг: ILFF считает доставку и суммы заказа в рублях;
- в JoomShopping есть страна Россия: способы ILFF работают только по России;
- стандартное оформление заказа JoomShopping по шагам (шаблон default или шаблон на его разметке);
- права администратора сайта, доступ к планировщику Joomla, cron сервера или планировщику хостинга и к личному кабинету ILFF.
Подключение занимает 15–20 минут.
Шаг 1. Подключение в личном кабинете ILFF
Личный кабинет → вкладка Интеграции → раскройте блок Интернет-магазин.
- Платформа — выберите Joomla (JoomShopping).
- Адрес магазина — адрес сайта, например
shop.ru. - Флажок Заказ с несвязанным товаром ждёт привязки: если он включён, заказ с товаром, который ещё не связан с вашим товаром в ILFF, не принимается, пока вы его не свяжете (шаг 5). Рекомендуем оставить флажок включённым.
- Нажмите Подключить. Кабинет создаст подключение. К магазину он при этом не обращается: связь проверит модуль на шаге 3.
Вверху вкладки Интеграции показан Ключ API. Если его нет, нажмите Сгенерировать. Ключ понадобится на шаге 3. Никому его не пересылайте: по нему сервис ILFF узнаёт ваш магазин. Там же — код клиента для виджета выбора пункта; добавьте домен магазина в список доменов виджета.
Шаг 2. Установка пакета
- Скачайте архив
ilff-joomla.zipсо страницы модуля на сайте ILFF или получите его у менеджера. Распаковывать архив не нужно. - Убедитесь, что JoomShopping 5 уже установлен: без него пакет не ставится и сообщает «сначала установите JoomShopping 5».
- В админке Joomla откройте Система → Установка → Расширения, на вкладке Загрузить файл пакета выберите архив.
Пакет ставит и сразу включает два плагина:
- Система - ILFF — вся работа модуля и его настройки;
- Задача - ILFF — задача планировщика Joomla «ILFF: обмен с сервисом».
При первой установке модуль сам создаёт в JoomShopping способы доставки Курьер ILFF, Пункт выдачи ILFF и Почта России (ILFF) для России. Цену у них считает ILFF.
Шаг 3. Настройки модуля
Откройте Система → Плагины и найдите плагин Система - ILFF.
Вкладка «Связь с ILFF»
- Ключ API ILFF — ключ из шага 1.
- Адрес сервиса ILFF — уже заполнен, менять не нужно.
- Код клиента для виджета — код из личного кабинета. Без кода выбор пункта на карте не работает и способ «Пункт выдачи ILFF» не предлагается.
- Вариант настроек калькулятора — код варианта из личного кабинета ILFF, например
site2, если для этого сайта заведены свои настройки доставки. Пусто — настройки по умолчанию. Пороги бесплатной доставки задаются в личном кабинете ILFF: когда сумма товаров дошла до порога, доставка показывается как «Бесплатно». - Адрес подсказки городов — необязательно, обычно оставьте пустым.
Вкладка «Заказы»
- Статусы отправки заказа в ILFF — по умолчанию Confirmed и Paid. Заказ уходит при переходе в один из этих статусов. Заказ, который остался в статусе Pending, в ILFF не уходит: переведите его в Confirmed, когда проверите.
- Статусы отмены — по умолчанию Cancelled. Переход отправленного заказа в такой статус отменяет заявку в ILFF.
- Оплата при получении — способы оплаты, при которых покупатель платит при получении (по умолчанию
pm_bank). Такие заказы уходят в ILFF с наложенным платежом, остальные считаются предоплаченными. Проверьте, что здесь выбраны именно ваши способы оплаты при получении.
Статусы заказа по статусам ILFF. «Не менять» оставляет статус как есть:
| Настройка | Статусы ILFF | По умолчанию |
|---|---|---|
| Статус «Передан в доставку» | Передан в КС | Shipped |
| Статус «Доставлен» | Доставлен клиенту, Выдан, Частичная выдача | Complete |
| Статус «Отменён» | Отменен, Аннулирован | Cancelled |
| Статус «Возврат» | Возврат принят, Полный отказ | Не менять |
Вкладка «Остатки и вес»
- Получать остатки из ILFF — в количество товара (или варианта) записывается свободный остаток: остаток на складе ILFF за вычетом резерва и заказов, которые ещё не дошли до ILFF. Товар в зоне приёмки склада в остаток не входит, пока его не разместили. Товары без ограничения количества не меняются.
- Получать вес товаров — вес, измеренный на складе ILFF, записывается в товары и варианты (кг). Полей для габаритов товара в JoomShopping нет, поэтому габариты не передаются.
- Получать вес и габариты заказа — вес, габариты и число мест собранного заказа показываются в блоке ILFF заказа.
Нажмите Сохранить: вверху появится «ILFF: связь есть.». Если связи нет, там же будет причина (раздел «Если что-то не работает»).
Вкладка «Состояние обмена» показывает способы доставки ILFF, сколько заказов ждут отправки, ждут привязки товаров, переданы и отменены, время последних запусков обмена и адрес для задания обмена. Нажмите Передать товары в ILFF: товары уйдут в ILFF для привязки (шаг 5). Кнопки работают с сохранёнными настройками, поэтому сначала сохраните изменения.
Шаг 4. Способы доставки и что видит покупатель
Компоненты → JoomShopping → Опции → Способы доставки: способы ILFF можно переименовать, поменять порядок и описание; цену у них не задавайте — её считает ILFF. Ненужный способ выключите. Свои способы доставки с фиксированной ценой выключите, если доставку выполняет ILFF. Способ ILFF узнаётся по псевдониму (sf_ilff_door, sf_ilff_pickup, sf_ilff_post): не меняйте его.
Покупатель на шаге «Доставка» (после адреса):
- Курьер ILFF — цена и под способом служба и срок. Цена считается по городу адреса покупателя, улица уходит в ILFF с заказом.
- Пункт выдачи ILFF — до выбора пункта: «Выберите пункт на карте: от N ₽» и кнопка Выбрать пункт на карте. Выбор этого способа тоже сам открывает карту. После выбора пункта страница шага обновляется: под способом адрес пункта, у способа — точная цена и срок, кнопка — Изменить пункт выдачи.
- Почта России (ILFF) — Почта по адресу покупателя, если сервис ILFF считает Почту для вашего магазина.
- На вкладке «Курьер» виджета можно выбрать службу курьера: выберется способ «Курьер ILFF» с ценой этой службы.
- Без выбранного пункта шаг «Доставка» не завершается: появится «Выберите пункт выдачи: нажмите «Выбрать пункт на карте» под способом доставки».
Если в городе покупателя нет пунктов выдачи, виджет показывает ближайшие пункты соседних городов с расстоянием; цена считается до выбранного пункта. Способ ILFF, который не возит по адресу покупателя, в списке не показывается.
Оформите пробный заказ со способом ILFF, переведите его в статус отправки и убедитесь, что заказ пришёл в ILFF.
Шаг 5. Привязка товаров
В личном кабинете ILFF кнопка Товары магазина в блоке «Интернет-магазин» показывает товары магазина, переданные модулем, и их связь с вашими товарами в ILFF. Связь подбирается сначала по штрихкоду, затем по артикулу:
- штрихкод — поле EAN товара или варианта;
- артикул — код товара (или код варианта).
| Статус | Что делать |
|---|---|
| Связан | Ничего, связь сохранена |
| Подобран | Проверьте и подтвердите |
| Несколько совпадений | Выберите нужный товар вручную |
| Не найден | Выберите товар вручную или заполните в магазине штрихкод или код товара |
Товар с вариантами (зависимые атрибуты: размер, цвет) передаётся вариантами: у каждого свой код и штрихкод, остаток и заказ идут по варианту. Если у варианта код или штрихкод не заполнен, берётся значение товара.
Если заказ ждёт привязки, вверху вкладки Интеграции появляется плашка с числом таких заказов. После привязки модуль досылает заказ сам.
Заказ в магазине
В карточке заказа в админке JoomShopping — блок ILFF: номер заявки ILFF, состояние обмена («передан», «ждёт привязки товаров», «ждёт отправки»), статус ILFF, трек-номер со ссылкой отслеживания, пункт выдачи и служба доставки, при включённом флажке — вес, габариты и число мест, ошибка обмена, если она была. Ниже — записи обмена с датой: трек-номер, ожидание привязки, ответ на отмену.
Когда статус ILFF меняет статус заказа, трек-номер со ссылкой отслеживания добавляется комментарием к смене статуса, и покупатель получает его в письме о смене статуса. Пункт выдачи, служба и срок видны в заказе и в письме покупателю.
Отмена заказа
Переход заказа в статус отмены отменяет заявку в ILFF, пока её не передали в службу доставки; собранный заказ вернётся на хранение. Если заявка уже у службы доставки, которая принимает отмену (Dalli, 5Post), отмена передаётся ей, а заказ возвращается на склад. У других служб заявка в работе сама не отменяется: в блоке ILFF заказа появится ответ «Заявка уже в работе…», свяжитесь с менеджером.
Задание обмена
Задание обмена нужно запускать раз в 15–60 минут. Выберите один из способов:
- Планировщик Joomla. Откройте Система → Запланированные задачи, нажмите Создать и выберите задачу ILFF: обмен с сервисом, интервал — например, 15 минут. Чтобы задача выполнялась в срок, а не только при заходе посетителей на сайт, добавьте в cron сервера запуск планировщика Joomla. Команда показана на вкладке «Состояние обмена», например
*/15 * * * * php /var/www/shop/cli/joomla.php scheduler:run --all. - Адрес для планировщика хостинга. На вкладке «Состояние обмена» показан адрес задания обмена с секретным токеном. Добавьте его в планировщик хостинга (запрос по адресу раз в 15–60 минут). Адрес не публикуйте: без токена задание не запускается.
Задание досылает заказы, которые не ушли сразу (через 1, 5, 15, 60 и 180 минут), забирает трек-номера и статусы, обновляет остатки и вес, раз в сутки передаёт список товаров и сверяет все остатки. Заказы уходят в ILFF сразу при смене статуса и без задания. Время последних запусков видно на вкладке «Состояние обмена»; там же кнопка Выполнить обмен сейчас.
Обновление и удаление
Обновление: установите новый архив пакета так же, как при установке (Система → Установка → Расширения) — Joomla обновит файлы, настройки и данные сохраняются.
Удаление (Система → Управление → Расширения, пакет ILFF → Удалить): способы доставки ILFF выключаются (на них ссылаются ваши заказы), данные ILFF в заказах остаются.
Если что-то не работает
| Сообщение или симптом | Причина и решение |
|---|---|
| «ILFF: нет связи - Неверный ключ API» | Ключ введён с ошибкой или заменён. Скопируйте ключ из личного кабинета и сохраните настройки |
| «ILFF: нет связи - В личном кабинете ILFF не подключён магазин» | Не выполнен шаг 1: выберите платформу «Joomla (JoomShopping)» и нажмите «Подключить» |
| «ILFF: нет связи - Сервис ILFF не ответил» | Сервер сайта не может обратиться к ILFF: проверьте исходящие соединения по HTTPS на порт 8443 и расширение curl |
| «ILFF: сначала установите JoomShopping 5» при установке | Установите JoomShopping 5, затем пакет ILFF |
| Способов ILFF нет на шаге «Доставка» | Адрес не в России, в адресе нет города, способы выключены или у них не указана Россия (Компоненты → JoomShopping → Опции → Способы доставки) |
| «Доставка ILFF по этому адресу не рассчитана» | Проверьте город в адресе или выберите другой способ |
| Нет «Пункт выдачи ILFF» | Не указан код клиента для виджета (шаг 3) |
| Карта открывается, но пункты не загружаются | Домен магазина не добавлен в список доменов виджета в личном кабинете ILFF |
| Нет кнопки «Выбрать пункт на карте» | Шаблон оформления заказа сильно отличается от стандартного: сообщите менеджеру |
| Заказ не пришёл в ILFF | Проверьте статус заказа и настройку «Статусы отправки заказа в ILFF», блок ILFF в карточке заказа (ошибка обмена) и плашку «ждут привязки» в кабинете |
| Трек-номер и статус не приходят | Не настроено задание обмена: смотрите время последних запусков на вкладке «Состояние обмена» |
| Остаток в магазине не совпадает с остатком в кабинете | В магазин уходит свободный остаток: без резерва, неотправленных заказов и товара в приёмке |
Ошибки обмена модуль пишет в журнал Joomla — файл ilff.php в папке журналов сайта (administrator/logs), без ключа API и данных покупателей. По остальным вопросам обращайтесь к вашему менеджеру ILFF.