Модули для интернет-магазинов

Подключение магазина на OpenCart к ILFF

Смотрите также: Виджет доставки для корзины · API ILFF · Все модули для CMS

Скачать модуль ilff.ocmod.zip

Расширение ILFF связывает ваш магазин на OpenCart с сервисом ILFF:

  • в оформлении заказа появляются способы доставки ILFF: до двери и в пункт выдачи, с ценой и сроком;
  • заказ с доставкой ILFF сам уходит в ILFF, когда получает выбранный вами статус;
  • трек-номер и статус заказа возвращаются в магазин;
  • остатки, вес и габариты товаров передаются из ILFF в магазин;
  • отмена заказа в магазине отменяет заявку в ILFF.

Обмен всегда начинает магазин: расширение само обращается к сервису ILFF по ключу API, открывать магазин для нас не нужно.

Нужны OpenCart 4.0.2 или новее, PHP 8 с расширением curl, права администратора магазина, доступ к серверу для настройки cron и доступ к личному кабинету ILFF. Подключение занимает 15–20 минут.

Шаг 1. Подключение в личном кабинете ILFF

Личный кабинет → вкладка Интеграции → раскройте блок Интернет-магазин.

  1. Платформа — выберите OpenCart.
  2. Адрес магазина — адрес сайта, например shop.ru.
  3. Флажок Заказ с несвязанным товаром ждёт привязки: если он включён, заказ с товаром, который ещё не связан с вашим товаром в ILFF, не принимается, пока вы его не свяжете (шаг 5). Рекомендуем оставить флажок включённым.
  4. Нажмите Подключить. Кабинет создаст подключение. К магазину он при этом не обращается: связь проверит расширение на шаге 3.

Вверху вкладки Интеграции показан Ключ API. Если его нет, нажмите Сгенерировать. Ключ понадобится на шаге 3. Никому его не пересылайте: по нему сервис ILFF узнаёт ваш магазин.

Шаг 2. Установка расширения

  1. Скачайте архив ilff.ocmod.zip со страницы модуля на сайте ILFF или получите его у менеджера. Имя архива не меняйте: по нему OpenCart определяет код расширения.
  2. В админке откройте Расширения → Установщик и загрузите архив, затем нажмите Установить в строке ILFF.
  3. Откройте Расширения → Расширения, выберите тип Доставка, найдите ILFF: доставка и обмен заказами и нажмите Установить (зелёная кнопка), затем Изменить (карандаш).

При установке расширение само:

  • создаёт таблицы очереди заказов;
  • подключает обработчики событий: запоминание тарифа заказа, отправку и отмену заказа по статусу, окно выбора пункта выдачи на странице оформления;
  • создаёт задание ILFF: заказы, трек, статусы, остатки во встроенном cron OpenCart (Расширения → Cron Jobs), раз в час.

Шаг 3. Настройки расширения

  1. Адрес сервиса ILFF — уже заполнен, менять не нужно.
  2. Ключ API клиента ILFF — ключ из шага 1. После сохранения поле остаётся пустым, сохранённый ключ не показывается. Чтобы поменять только настройки, оставьте поле пустым.
  3. Статус, при котором заказ уходит в ILFF — например «В обработке» (Processing). Заказ уходит при переходе в этот статус. Если вы проверяете заказ или ждёте оплату, выберите статус, в который переводите заказ после проверки.
  4. Статусы отмены — отметьте статусы, при которых заказ отменён, обычно «Отменён» (Canceled). Переход в такой статус отменяет заявку в ILFF.
  5. Статусы сайта для статусов ILFF. Значение «Не менять» оставляет статус заказа как есть:
НастройкаСтатусы ILFF
Статус сайта: передан в доставкуПередан в КС
Статус сайта: доставленДоставлен клиенту, Выдан, Частичная выдача
Статус сайта: отменёнОтменен, Аннулирован
Статус сайта: возвратВозврат принят, Полный отказ

При первой установке расширение выставляет статусы само: заказ уходит в ILFF в статусе Processing, по ILFF ставятся Shipped (передан в доставку), Complete (доставлен), Canceled (отменён) и Refunded (возврат). Их можно поменять.

  1. Коды способов оплаты при получении — через запятую. По умолчанию cod (стандартный способ «Оплата при доставке»). Наложенный платёж в заявке будет только у этих способов, остальные заказы считаются предоплаченными.
  2. Получать остатки из ILFF — в количество товаров записываются свободные остатки: остаток на складе ILFF за вычетом резерва и заказов, которые ещё не дошли до ILFF. Товар в зоне приёмки склада в остаток не входит, пока его не разместили.
  3. Получать вес и габариты товаров — вес (кг) и размеры (см) товаров из ILFF записываются в товары, только там, где они у нас заполнены.
  4. Упрощённый адрес для России (по умолчанию включено) — в оформлении скрыты страна (всегда Россия), регион, «Компания» и «Адрес, строка 2». Поле «Город» стоит перед улицей и подсказывает города, регион и индекс заполняются по выбранному городу. В оценке доставки корзины остаётся только индекс.
  5. Доставка в карточке товара (по умолчанию выключено) — под кнопкой «В корзину» показывается цена доставки курьером и в пункт выдачи «от» для города покупателя.
  6. Окно выбора пункта выдачи — «Виджет ILFF» (по умолчанию: карта, службы и цены) или «Простое окно». Для виджета укажите Код клиента ILFF для виджета из личного кабинета и добавьте домен магазина в список доменов виджета в кабинете. Без кода открывается простое окно. Вариант настроек калькулятора — код варианта из личного кабинета ILFF, например site2, если для этого сайта заведены свои настройки доставки. Пусто — настройки по умолчанию. Пороги бесплатной доставки («Бесплатно для получателя от суммы товаров») задаются в личном кабинете ILFF, когда сумма товаров дошла до порога, модуль показывает доставку как «Бесплатно».
  7. Адрес подсказки городов — необязательно. Пусто — подсказка берётся с сервиса ILFF рядом с адресом сервиса.
  8. Геозона — если доставка ILFF нужна не везде, выберите геозону. Статус — включите. Порядок сортировки — место способа среди других.
  9. Отметьте Передать список товаров сейчас и нажмите Сохранить и проверить связь. Вверху появится «Связь с ILFF есть, клиент: …», число переданных товаров и, если включены остатки, число обновлённых остатков.

Шаг 4. Оформление заказа

  1. Для расчёта нужен адрес доставки: город и улица с домом. При упрощённом адресе для России страна и регион заполняются сами. В оценке доставки корзины город берётся по индексу; если его не определить, вместо цены показывается «рассчитаем при оформлении».
  2. Доставка до двери ILFF показывается с ценой и сроком самого дешёвого тарифа.
  3. Пункт выдачи ILFF: под кнопкой выбора способа доставки появляется кнопка Выбрать пункт выдачи ILFF. Она открывает список и карту пунктов города. После выбора пункта способы доставки обновятся, и в них появится «Пункт выдачи ILFF: адрес» с ценой и сроком.
  4. Отключите способы доставки магазина с фиксированной ценой, если доставку выполняет ILFF.
  5. Оформите пробный заказ с доставкой ILFF, переведите его в статус отправки и убедитесь, что заказ пришёл в ILFF.

Шаг 5. Привязка товаров

В личном кабинете ILFF кнопка Товары магазина в блоке «Интернет-магазин» показывает товары магазина, переданные расширением, и их связь с вашими товарами в ILFF. Связь подбирается сначала по штрихкоду (поле EAN, если пусто — UPC), затем по артикулу (поле SKU, если пусто — модель).

СтатусЧто делать
СвязанНичего, связь сохранена
ПодобранПроверьте и подтвердите
Несколько совпаденийВыберите нужный товар вручную
Не найденВыберите товар вручную или заполните в магазине EAN или SKU

Размеры и цвета можно вести двумя способами:

  • Варианты OpenCart 4 (рекомендуем). Каждый размер или цвет — отдельный вариант товара со своими EAN и SKU. Связь подбирается по штрихкоду сама, остаток и заказ идут по варианту.
  • Опции товара. Один товар со списком значений (например, «Размер: S, M, L»). У значения опции нет своего штрихкода, поэтому в «Товарах магазина» каждое значение показывается отдельной строкой «Товар / Опция: значение», и его нужно один раз связать с вашим товаром вручную. После этого остаток ILFF записывается в количество значения опции, а заказ с этим значением приходит в ILFF с нужным товаром. Непривязанное значение опции не подменяется основным товаром: такой заказ ждёт привязки.

Если заказ ждёт привязки, вверху вкладки Интеграции появляется плашка с числом таких заказов, а в блоке «Интернет-магазин» — таблица с заказами и товарами. После привязки расширение досылает заказ само.

Если в городе покупателя нет пунктов выдачи или отделений Почты, окно выбора пункта (виджет ILFF) открывает карту в точке адреса и показывает ближайшие пункты соседних городов с расстоянием; цена считается до выбранного пункта. Если улицы нет в справочнике адресов (сёла, новые улицы), цена курьера считается по городу.

Отмена заказа

Переход заказа в статус отмены (шаг 3) отменяет заявку в ILFF, пока её не передали в службу доставки; собранный заказ вернётся на хранение. Если заявка уже у службы доставки, которая принимает отмену (Dalli, 5Post), отмена передаётся ей, а заказ возвращается на склад. У других служб заявка в работе сама не отменяется: в истории заказа появится запись «ILFF: Заявка уже в работе…», свяжитесь с менеджером.

Шаг 6. Cron

Задание ILFF выполняется встроенным cron OpenCart раз в час:

  • досылает заказы, которые не ушли сразу (после сбоя связи или из ожидания привязки): через 1, 5, 15, 60 и 180 минут, но не чаще запуска задания;
  • забирает трек-номера и статусы заказов: трек записывается комментарием в историю заказа, статус меняется по таблице из шага 3;
  • обновляет остатки, вес и габариты;
  • раз в сутки передаёт список товаров и сверяет все остатки.

Встроенный cron OpenCart запускается системным cron сервера. Добавьте на сервере задание, которое раз в 5–15 минут вызывает cron OpenCart (команду показывает OpenCart на странице Расширения → Cron Jobs). Без него трек-номера, статусы и остатки обновляться не будут. Заказы уходят в ILFF сразу при смене статуса и без cron.

В OpenCart 4.1.0.4 запуск php cron.php из командной строки может завершаться ошибкой ядра («Class Twig\Loader\FilesystemLoader not found»). Тогда вызывайте cron через адрес магазина, например curl -s https://ваш-магазин/index.php?route=cron/cron.

Обновление расширения

Установщик OpenCart 4 не ставит архив поверх уже установленного расширения («Расширение уже установлено!» или «Путь ilff/ уже существует!»). Поэтому обновляйте так:

  1. Скачайте новый архив ilff.ocmod.zip с этой страницы и распакуйте его на компьютере.
  2. Скопируйте содержимое архива по FTP или через панель хостинга в каталог extension/ilff/ магазина поверх старых файлов. Настройки расширения сохраняются.
  3. Если в новой версии появились события (например, для карточки товара или корзины), откройте настройки расширения и нажмите Сохранить и проверить связь: недостающие события добавятся сами.

Другой путь — удалить расширение в Расширения → Доставка и в Установщике и поставить новый архив заново. При этом настройки придётся ввести снова.

Если что-то не работает

Сообщение или симптомПричина и решение
«Связи с ILFF нет: Неверный ключ API»Ключ введён с ошибкой или заменён. Скопируйте ключ из личного кабинета и сохраните настройки
«Связи с ILFF нет: В личном кабинете ILFF не подключён магазин OpenCart»Не выполнен шаг 1: выберите платформу OpenCart и нажмите «Подключить»
«Связи с ILFF нет: Сервис ILFF не ответил»Сервер магазина не может обратиться к ILFF: проверьте исходящие соединения по HTTPS на порт 8443 и расширение curl в PHP
В оформлении нет способов доставки ILFFПроверьте статус расширения, геозону и адрес доставки: город и регион должны быть заполнены
«Не удалось разобрать адрес»В адресе доставки нет города или улицы с домом
Нет кнопки «Выбрать пункт выдачи ILFF»Проверьте, что расширение установлено и включено и что в Расширения → События включено событие ilff_checkout. Если тема оформления своя, кнопка может не найти место: сообщите менеджеру
Заказ не пришёл в ILFFПроверьте статус заказа и настройку «Статус, при котором заказ уходит в ILFF», строку «Очередь заказов» в настройках и блок «ждут привязки» в кабинете. Заказ должен быть с доставкой ILFF
Трек-номер и статус не приходятНе настроен cron сервера (шаг 6): смотрите «последний запуск» в настройках расширения
Остаток в магазине не совпадает с остатком в кабинетеВ магазин уходит свободный остаток: без резерва, неотправленных заказов и товара в приёмке
Вместо виджета открывается простое окно со спискомНе указан код клиента для виджета или домен магазина не добавлен в список доменов виджета в личном кабинете
php cron.php: «Class Twig\Loader\FilesystemLoader not found»Ошибка ядра OpenCart 4.1.0.4 при запуске из командной строки. Вызывайте cron через адрес магазина (шаг 6)

По остальным вопросам обращайтесь к вашему менеджеру ILFF.

WeChat

QR-код WeChat

Отсканируйте QR-код в WeChat · 用微信扫码添加

Перезвоним за пару минут

В рабочее время позвоним сразу, в другое время перезвоним утром. Пн–пт с 11:00 до 20:00.