网店模块

将 Shop-Script 网店接入 ILFF

另请参阅: 购物车配送组件 · ILFF API · 全部 CMS 模块

下载模块 ilff-shopscript.zip

ILFF 插件把您基于 Shop-Script(Webasyst)的网店与 ILFF 服务连接起来:

  • 下单流程中出现 ILFF 配送方式:快递上门和自提点,带价格和时效;自提点由买家在地图上选择;
  • 使用 ILFF 配送的订单在进入您选定的状态时自动发送到 ILFF;
  • 跟踪号和订单状态回传到网店;
  • 商品库存从 ILFF 同步到网店;
  • 在网店取消(删除)订单会取消 ILFF 中的发货申请。

数据交换始终由网店发起:插件使用 API 密钥主动访问 ILFF 服务,无需向我们开放网店。

压缩包中有两个插件:

  • 网店插件«ILFF: фулфилмент и доставка»(ILFF:履约和配送):API 密钥、发送和取消订单、跟踪号和状态、库存、商品列表、在地图上选择自提点的按钮;
  • 配送插件«ILFF»:下单流程中的配送方式«Курьером до двери»(快递上门)和«Пункт выдачи»(自提点)。

您需要 Shop-Script 8 或更高版本并使用单步下单(版本 2)、带 curl 扩展的 PHP 7.4 或更高版本、网站文件的访问权限(FTP 或主机面板)、网店管理员权限、用于配置 cron 的服务器访问权限以及 ILFF 客户后台的访问权限。接入需要 20–30 分钟。

插件和 ILFF 客户后台均为俄语界面,下文按屏幕上的原文给出名称,并在括号中附上译文。

第 1 步:在 ILFF 客户后台中接入

客户后台 → Интеграции(集成)标签页 → 展开 Интернет-магазин(网店)区块。

  1. Платформа(平台):选择 Shop-Script。
  2. Адрес магазина(网店地址):网站地址,例如 shop.ru。
  3. 勾选项 Заказ с несвязанным товаром ждёт привязки(含未关联商品的订单等待关联):启用后,如果订单中的商品尚未与您在 ILFF 中的商品关联,该订单在关联完成前不会被接收(见第 6 步)。建议保持勾选。
  4. 点击 Подключить(接入)。后台会创建接入记录。此时后台不会访问网店:连接由插件在第 3 步检查。

Интеграции 标签页顶部显示 Ключ API(API 密钥)。如果没有,点击 Сгенерировать(生成)。第 3 步需要用到该密钥。不要转发给任何人:ILFF 服务凭它识别您的网店。组件用的 код клиента(客户代码)也在这里;请把网店域名加入 домены виджета(组件域名)列表。

第 2 步:安装插件

  1. 从 ILFF 网站的模块页面下载压缩包 ilff-shopscript.zip,或向客户经理索取。
  2. 把压缩包解压到网站根目录(即 index.php 以及 wa-apps、wa-plugins 文件夹所在的目录)。会出现 wa-apps/shop/plugins/ilff 和 wa-plugins/shipping/ilff 两个目录。
  3. 启用网店插件:打开文件 wa-config/apps/shop/plugins.php,在最后一行 ); 之前添加一行

'ilff' => true,

  1. 清除缓存:在 Webasyst 后台选择 Настройки → Очистить кэш(设置 → 清除缓存),或删除 wa-cache 目录的内容。
  2. 打开 Магазин → Плагины(网店 → 插件):列表中会出现 ILFF: фулфилмент и доставка。首次打开时插件会创建自己的数据表(订单队列)。
  3. 添加配送方式:Магазин → Настройки → Доставка → Добавить способ доставки → ILFF(网店 → 设置 → 配送 → 添加配送方式)。启用并保存。选项名称(«Курьером до двери»、«Пункт выдачи»、«Почта России»)可在其设置中修改。那里还有勾选项 Почта России до отделения(俄罗斯邮政到网点,默认启用):单独的«Почта»选项,价格显示为«от N ₽»(N ₽ 起);选择它时组件打开«Почта»标签页,买家选择网点后显示准确的价格和时效。如果不需要俄罗斯邮政配送,请取消勾选。

第 3 步:网店插件设置

Магазин → Плагины → ILFF: фулфилмент и доставка。

  1. Ключ API ILFF(ILFF API 密钥):第 1 步中的密钥。
  2. Адрес сервиса ILFF(ILFF 服务地址):已填写,无需修改。
  3. Подсказка городов ILFF(ILFF 城市提示;默认启用):下单流程的“城市”栏会显示来自 ILFF 目录的城市列表:先是所选地区的城市,下面是其他地区的城市并标注地区名称。选择其他地区的城市会自动切换表单中的地区。买家输入过程中不会重新计算运费,只有从列表中选择城市或离开该栏后才计算。
  4. Код клиента ILFF для виджета(组件用 ILFF 客户代码):客户后台中的代码。未填写代码时不显示在地图上选择自提点的按钮。Вариант настроек калькулятора(计算器配置方案)是 ILFF 客户后台中的方案代码,例如 site2,适用于该网站有单独配送设置的情况。留空则使用默认设置。免运费门槛(«Бесплатно для получателя от суммы товаров»)在 ILFF 客户后台中设置,商品金额达到门槛时,模块把运费显示为«Бесплатно»(免费)。
  5. Адрес подсказки городов(城市提示地址):可选。留空时使用 ILFF 服务地址旁的提示服务。
  6. Отправлять заказ в ILFF в статусе(在以下状态发送订单到 ILFF):默认是«Подтверждён»(processing)。订单在转入该状态时发送。如果您要审核订单或等待付款,请选择审核后订单所转入的状态。
  7. Отменять заявку ILFF в статусах(在以下状态取消 ILFF 申请):默认是«Удалён»(已删除)和«Возврат»(退款)。转入此类状态会取消 ILFF 中的申请。
  8. Действия по статусам ILFF(按 ILFF 状态执行的操作)。«не менять статус»(不修改状态)表示保持订单不变:
设置ILFF 状态默认值
Передан в службу доставки → действие(已交给物流公司 → 操作)Передан в КСОтправлен(已发货)
Доставлен или выдан → действие(已送达或已取件 → 操作)Доставлен клиенту, Выдан, Частичная выдачаВыполнен(已完成)
Отменён в ILFF → действие(在 ILFF 中已取消 → 操作)Отменен, Аннулированне менять
Возврат или отказ → действие(退货或拒收 → 操作)Возврат принят, Полный отказне менять

只有在订单当前状态下允许该操作时才会执行。

  1. Оплата при получении (плагины оплаты)(货到付款,支付插件):支付插件的标识符,用逗号分隔,默认是 cash。只有这些方式的申请中带货到付款金额,其他订单视为已预付。
  2. Загружать остатки из ILFF(从 ILFF 载入库存):把可用库存写入 SKU 数量,即 ILFF 仓库库存减去预留量和尚未到达 ILFF 的订单。Склад магазина для остатков(用于库存的网店仓库):如果您有多个仓库,请选择写入 ILFF 库存的仓库。
  3. 点击 Сохранить(保存)。插件会立即检查与 ILFF 的连接:出错时顶部显示«Настройки сохранены, но связи с ILFF нет: …»(设置已保存,但与 ILFF 无连接)。

第 4 步:下单流程和支付

  1. 下单流程必须是单步的(Магазин → Витрина → Оформление заказа,版本 2)。«Доставка»(配送)步骤已启用,其中包含 ILFF 方式。
  2. 计算需要地址:地区和城市。快递上门还需要街道和门牌号。
  3. Курьером до двери 显示最便宜费率的价格和时效(如果俄罗斯邮政«онлайн»快递更便宜,也包括在内)。如果地址目录中没有该街道(村镇、新街道),快递价格按城市计算,地址按输入内容写入订单。新城市的首次计算可能需要 10–15 秒,再次计算需要 1–2 秒。
  4. Самовывоз(自提)会直接显示«от N ₽»的价格和该城市最便宜自提点的时效。选择该选项时会打开 ILFF 组件,带地图、自提点列表和物流公司(关闭后,选项下方保留 Выбрать пункт выдачи на карте 按钮,即“在地图上选择自提点”)。选择自提点后配送步骤会刷新:显示«Пункт выдачи: адрес»以及准确的价格和时效,Изменить пункт выдачи(更换自提点)按钮可以重新选择。未选择自提点时无法继续下单。更换城市后,已选的自提点会被清除。快递上门没有选择自提点的按钮。如果买家所在城市没有自提点或邮政网点,该选项名称为«…: выберите ближайший на карте»(请在地图上选择最近的):地图在地址位置打开,显示邻近城市的自提点及其距离,移动或缩放地图时会加载新的自提点;价格按所选自提点计算。
  5. 货到付款方式(例如«Наличными при получении»,cash 插件)必须对 ILFF 配送可用:Магазин → Настройки → Оплата(网店 → 设置 → 支付)→ 该方式的设置 → 可用的配送方式。如果下单流程中的«Оплата»(支付)步骤已关闭,请在下单设置中启用。
  6. 如果配送由 ILFF 完成,请停用固定价格的配送方式。
  7. 用 ILFF 配送下一个测试订单,把它转入发送状态,确认订单已进入 ILFF:订单历史中会出现«ILFF: создана заявка …»(已创建申请)。

第 5 步:Cron

插件任务需要由服务器的系统 cron 每 5–10 分钟运行一次:

php /path/to/site/cli.php shop ilffPluginCron

该任务:

  • 补发未能立即发送的订单(连接故障后或等待关联结束后):间隔为 1、5、15、60 和 180 分钟,但不会比任务运行频率更高;
  • 获取跟踪号和状态:跟踪号写入订单的«Трек-номер»栏和历史,状态通过第 3 步中的操作变更;
  • 更新库存;
  • 每天向 ILFF 发送一次商品列表并核对全部库存。

没有 cron,跟踪号、状态和库存不会更新。订单在状态变化时立即发送到 ILFF,不依赖 cron。

第 6 步:关联商品

在 ILFF 客户后台,“Интернет-магазин”区块中的 Товары магазина(网店商品)按钮显示插件发送的网店商品及其与您在 ILFF 中商品的关联情况。Shop-Script 的每个 SKU 是一个独立的商品。系统先按条码、再按 SKU 代码匹配。

Shop-Script 没有自带的条码字段:请创建代码为 barcode(或 ean、gtin)、类型为«Строка»(字符串)的商品特性,并为商品或 SKU 填写。

状态处理方法
Связан(已关联)无需操作,关联已保存
Подобран(已匹配)检查并确认
Несколько совпадений(多个匹配项)手动选择正确的商品
Не найден(未找到)手动选择商品,或在网店中填写条码或 SKU 代码

如果有订单在等待关联,Интеграции 标签页顶部会出现提示条并显示此类订单的数量,“Интернет-магазин”区块中会出现订单和商品的表格。关联后插件会自动补发订单。

取消订单

在申请交给物流公司之前,把订单转入取消状态(第 3 步)会取消 ILFF 中的申请;已拣货的订单会重新入库存储。如果申请已交给支持取消的物流公司(Dalli、5Post),取消请求会转给该公司,订单退回仓库。其他物流公司的在途申请不会自动取消:订单历史中会出现«ILFF: Заявка уже в работе…»(申请已在处理中)记录,请联系客户经理。

更新插件

  1. 从本页面下载新的压缩包 ilff-shopscript.zip。
  2. 解压到网站根目录,覆盖旧文件(wa-apps/shop/plugins/ilff 和 wa-plugins/shipping/ilff 目录)。插件和配送方式的设置会保留。
  3. 清除缓存(Настройки → Очистить кэш)。

常见问题

提示或现象原因和处理方法
«Связи с ILFF нет: Неверный ключ API»(与 ILFF 无连接:API 密钥错误)密钥输入有误或已更换。请从客户后台复制密钥并保存设置
«Связи с ILFF нет: В личном кабинете ILFF не подключён магазин Shop-Script»(ILFF 客户后台中未接入 Shop-Script 网店)未完成第 1 步:请选择 Shop-Script 平台并点击«Подключить»
«Связи с ILFF нет: Сервис ILFF не ответил»(ILFF 服务无响应)网店服务器无法访问 ILFF:请检查到 8443 端口的 HTTPS 出站连接和 PHP 的 curl 扩展
«Магазин → Плагины»中没有该插件未在 wa-config/apps/shop/plugins.php 中添加 'ilff' => true, 一行,或未清除缓存
下单流程中没有 ILFF 配送方式未添加或未启用该方式(第 2 步),未填写地区和城市,或网店插件没有 API 密钥
«Нет тарифов»(无费率)或选择自提点后«Курьер»消失检查表单中的地区是否与城市一致(从提示中选择城市,地区会自动切换)。如果 ILFF 服务响应较慢,请一分钟后重新选择
没有«Выбрать пункт выдачи на карте»按钮未填写组件用客户代码(第 3 步),或 ILFF 配送方式已停用
组件提示自提点不可用网店域名未加入客户后台的组件域名列表
运费全部显示为«Бесплатно»(免费)运费被折扣或网店插件清零(例如“免运费”规则)。请检查折扣规则和插件
没有货到付款方式该支付方式对 ILFF 配送不可用,或«Оплата»步骤已关闭(第 4 步)
订单没有进入 ILFF检查订单状态和«Отправлять заказ в ILFF в статусе»设置,以及后台的“等待关联”区块。订单必须使用 ILFF 配送
跟踪号和状态没有回传未配置 cron(第 5 步)
网店库存与后台库存不一致网店收到的是可用库存:不含预留量、未发送的订单和收货区的商品

WeChat

微信二维码

用微信扫码添加

我们将在几分钟内回电

工作时间我们会立即回电,其他时间将在次日早上回电。周一至周五 11:00–20:00(莫斯科时间,UTC+3)。客户经理使用俄文或英文。