Подключение магазина на PrestaShop к ILFF
Смотрите также: Виджет доставки для корзины · API ILFF · Все модули для CMS
Скачать модуль ilff-prestashop.zip
Модуль «ILFF: доставка и фулфилмент» связывает ваш магазин на PrestaShop с сервисом ILFF:
- на шаге «Способ доставки» появляются перевозчики ILFF: курьер до двери, пункт выдачи с выбором на карте и Почта России, с ценой и сроком;
- заказ с перевозчиком ILFF сам уходит в ILFF, когда получает выбранный вами статус;
- трек-номер и статус заказа возвращаются в магазин;
- остатки, вес и габариты товаров передаются из ILFF в магазин;
- отмена заказа в магазине отменяет заявку в ILFF.
Обмен всегда начинает магазин: модуль сам обращается к сервису ILFF по ключу API, открывать магазин для нас не нужно.
Нужны:
- PrestaShop 8 или 9 (проверено на 8.2.9);
- PHP с расширением curl;
- валюта магазина — российский рубль, единица веса — кг, размеров — см: ILFF считает доставку и суммы заказа в рублях;
- стандартное оформление заказа PrestaShop (тема classic или тема на её разметке);
- права администратора магазина, доступ к cron сервера или планировщику хостинга и к личному кабинету ILFF.
Подключение занимает 15–20 минут.
Шаг 1. Подключение в личном кабинете ILFF
Личный кабинет → вкладка Интеграции → раскройте блок Интернет-магазин.
- Платформа — выберите PrestaShop.
- Адрес магазина — адрес сайта, например
shop.ru. - Флажок Заказ с несвязанным товаром ждёт привязки: если он включён, заказ с товаром, который ещё не связан с вашим товаром в ILFF, не принимается, пока вы его не свяжете (шаг 5). Рекомендуем оставить флажок включённым.
- Нажмите Подключить. Кабинет создаст подключение. К магазину он при этом не обращается: связь проверит модуль на шаге 3.
Вверху вкладки Интеграции показан Ключ API. Если его нет, нажмите Сгенерировать. Ключ понадобится на шаге 3. Никому его не пересылайте: по нему сервис ILFF узнаёт ваш магазин. Там же — код клиента для виджета выбора пункта; добавьте домен магазина в список доменов виджета.
Шаг 2. Установка модуля
- Скачайте архив
ilff.zipсо страницы модуля на сайте ILFF или получите его у менеджера. Распаковывать архив не нужно. - В админке PrestaShop откройте Модули → Module Manager, нажмите Загрузить модуль и выберите архив.
- После установки нажмите Настроить.
При установке модуль сам:
- создаёт таблицы очереди заказов и выбора пунктов;
- создаёт перевозчиков Курьер ILFF, Пункт выдачи ILFF, Почта России (ILFF) — для всех зон и групп покупателей;
- добавляет страницу настроек ILFF (Модули → Module Manager → ILFF → Настроить).
Шаг 3. Настройки модуля
Связь с ILFF
- Ключ API ILFF — ключ из шага 1. Сохранённый ключ не показывается: чтобы поменять только другие настройки, оставьте поле пустым.
- Адрес сервиса ILFF — уже заполнен, менять не нужно.
- Код клиента для виджета — код из личного кабинета. Без кода выбор пункта на карте не работает и перевозчик «Пункт выдачи ILFF» не предлагается.
- Вариант настроек калькулятора — код варианта из личного кабинета ILFF, например
site2, если для этого сайта заведены свои настройки доставки. Пусто — настройки по умолчанию. Пороги бесплатной доставки задаются в личном кабинете ILFF: когда сумма товаров дошла до порога, доставка показывается как «Бесплатно». - Адрес подсказки городов — необязательно.
Заказы
- Статусы отправки заказа в ILFF — по умолчанию «Платеж принят» и «В обработке». Заказ уходит при переходе в один из этих статусов. Заказ с оплатой при получении начинается со статуса «Ожидается подтверждение оплаты наличными»: переведите его в «В обработке», когда проверите.
- Статусы отмены — по умолчанию «Отменено». Переход отправленного заказа в такой статус отменяет заявку в ILFF.
- Оплата при получении — модули оплаты, при которых покупатель платит при получении (по умолчанию
ps_cashondelivery). Такие заказы уходят в ILFF с наложенным платежом, остальные считаются предоплаченными.
Статусы заказа по статусам ILFF. «Не менять» оставляет статус как есть:
| Настройка | Статусы ILFF | По умолчанию |
|---|---|---|
| Статус «Передан в доставку» | Передан в КС | Отправлен |
| Статус «Доставлен» | Доставлен клиенту, Выдан, Частичная выдача | Доставлено |
| Статус «Отменён» | Отменен, Аннулирован | Отменено |
| Статус «Возврат» | Возврат принят, Полный отказ | Не менять |
Письма покупателю при смене статуса отправляет PrestaShop по настройкам статуса.
Остатки, вес и габариты
- Получать остатки из ILFF — в количество товара (или комбинации) записывается свободный остаток: остаток на складе ILFF за вычетом резерва и заказов, которые ещё не дошли до ILFF. Товар в зоне приёмки склада в остаток не входит, пока его не разместили.
- Получать вес и габариты товаров — вес и размеры, измеренные на складе ILFF, записываются в товары (кг, см), только там, где они у нас заполнены. Комбинации не меняются: их вес в PrestaShop — добавка к весу товара.
- Получать вес и габариты заказа — вес, габариты и число мест собранного заказа показываются в блоке ILFF заказа.
Нажмите Сохранить и проверить связь: появится «Связь с ILFF есть». Затем в блоке Состояние обмена нажмите Передать товары в ILFF: товары уйдут в ILFF для привязки (шаг 5).
Шаг 4. Перевозчики и что видит покупатель
Доставка → Перевозчики: перевозчиков ILFF можно переименовать, поменять порядок, логотип и подпись срока; цену у них не задавайте — её считает ILFF. Ненужного перевозчика выключите. Перевозчиков магазина с фиксированной ценой выключите, если доставку выполняет ILFF.
Покупатель на шаге «Способ доставки» (после адреса):
- Курьер ILFF — цена и под ней служба и срок, например «603 ₽, СДЭК (от 2 до 3 дней)». Цена считается по городу адреса, улица уходит в ILFF с заказом.
- Пункт выдачи ILFF — до выбора пункта: «Выберите пункт на карте: от N ₽» и синяя кнопка Выбрать пункт на карте. Выбор этого перевозчика тоже сам открывает карту. После выбора пункта шаг обновляется: под перевозчиком адрес пункта, у перевозчика — точная цена и срок, кнопка — Изменить пункт выдачи.
- Почта России (ILFF) — Почта по адресу покупателя, если сервис ILFF считает Почту для вашего магазина.
- На вкладке «Курьер» виджета можно выбрать службу курьера: выберется перевозчик «Курьер ILFF» с ценой этой службы.
- Без выбранного пункта шаг «Способ доставки» не завершается: появится «Выберите пункт выдачи». Если в другом городе адреса пункт не считается, выбор сбрасывается.
Если в городе покупателя нет пунктов выдачи, виджет показывает ближайшие пункты соседних городов с расстоянием; цена считается до выбранного пункта. Перевозчик, который не возит по адресу, в списке не показывается.
Оформите пробный заказ с перевозчиком ILFF, переведите его в статус отправки и убедитесь, что заказ пришёл в ILFF.
Шаг 5. Привязка товаров
В личном кабинете ILFF кнопка Товары магазина в блоке «Интернет-магазин» показывает товары магазина, переданные модулем, и их связь с вашими товарами в ILFF. Связь подбирается сначала по штрихкоду, затем по артикулу:
- штрихкод — поле EAN-13 (или UPC, ISBN) товара или комбинации;
- артикул — поле Артикул товара или комбинации.
| Статус | Что делать |
|---|---|
| Связан | Ничего, связь сохранена |
| Подобран | Проверьте и подтвердите |
| Несколько совпадений | Выберите нужный товар вручную |
| Не найден | Выберите товар вручную или заполните в магазине штрихкод или артикул |
Товар с комбинациями (размер, цвет) передаётся комбинациями: у каждой свой артикул и штрихкод, остаток и заказ идут по комбинации.
Если заказ ждёт привязки, вверху вкладки Интеграции появляется плашка с числом таких заказов. После привязки модуль досылает заказ сам.
Заказ в магазине
В карточке заказа справа — блок ILFF: номер заявки ILFF, состояние обмена («передан», «ждёт привязки товаров», «ждёт отправки»), статус ILFF, трек-номер со ссылкой отслеживания, пункт выдачи и тариф, при включённом флажке — вес, габариты и число мест. Трек-номер также записывается в номер отслеживания перевозчика заказа. В личных сообщениях заказа (видны только сотрудникам) появляются записи «ILFF: создана заявка …», «ILFF: трек-номер …», «ILFF: пункт выдачи …» и ответ на отмену.
Отмена заказа
Переход заказа в статус отмены отменяет заявку в ILFF, пока её не передали в службу доставки; собранный заказ вернётся на хранение. Если заявка уже у службы доставки, которая принимает отмену (Dalli, 5Post), отмена передаётся ей, а заказ возвращается на склад. У других служб заявка в работе сама не отменяется: в сообщениях заказа появится «ILFF: Заявка уже в работе…», свяжитесь с менеджером.
Задание обмена
Добавьте задание раз в 15–60 минут: в cron сервера командой или в планировщик хостинга адресом. Обе строки — в блоке Состояние обмена на странице настроек, например:
*/15 * * * * php /var/www/shop/modules/ilff/cron.php
Задание досылает заказы, которые не ушли сразу (через 1, 5, 15, 60 и 180 минут), забирает трек-номера и статусы, обновляет остатки, вес и габариты, раз в сутки передаёт список товаров и сверяет все остатки. Заказы уходят в ILFF сразу при смене статуса и без задания. Время последних запусков видно в блоке Состояние обмена; там же кнопка Выполнить обмен сейчас.
Обновление и удаление
Обновление: загрузите новый архив так же, как при установке (Загрузить модуль) — PrestaShop обновит файлы, настройки и данные сохраняются.
Удаление (Module Manager → ILFF → Удалить): перевозчики ILFF удаляются, настройки и очередь стираются, данные ILFF в заказах остаются.
Если что-то не работает
| Сообщение или симптом | Причина и решение |
|---|---|
| «Нет связи с ILFF: Неверный ключ API» | Ключ введён с ошибкой или заменён. Скопируйте ключ из личного кабинета и сохраните настройки |
| «Нет связи с ILFF: В личном кабинете ILFF не подключён магазин» | Не выполнен шаг 1: выберите платформу PrestaShop и нажмите «Подключить» |
| «Нет связи с ILFF: Сервис ILFF не ответил» | Сервер магазина не может обратиться к ILFF: проверьте исходящие соединения по HTTPS на порт 8443 и расширение curl |
| Перевозчиков ILFF нет на шаге доставки | Адрес не в России, в адресе нет города, или перевозчики выключены (Доставка → Перевозчики) |
| Нет «Пункт выдачи ILFF» | Не указан код клиента для виджета (шаг 3) |
| Карта открывается, но пункты не загружаются | Домен магазина не добавлен в список доменов виджета в личном кабинете ILFF |
| Нет кнопки «Выбрать пункт на карте» | Тема оформления не выводит дополнительный блок перевозчика (displayCarrierExtraContent): сообщите менеджеру |
| Заказ не пришёл в ILFF | Проверьте статус заказа и настройку «Статусы отправки заказа в ILFF», блок ILFF в карточке заказа (ошибка обмена) и блок «ждут привязки» в кабинете |
| Трек-номер и статус не приходят | Не настроено задание обмена: смотрите время последних запусков в блоке «Состояние обмена» |
| Остаток в магазине не совпадает с остатком в кабинете | В магазин уходит свободный остаток: без резерва, неотправленных заказов и товара в приёмке |
Ошибки обмена модуль пишет в журнал PrestaShop (Расширенные параметры → Журналы, строки с [ILFF]) — без ключа API и данных покупателей. По остальным вопросам обращайтесь к вашему менеджеру ILFF.