扩展包 «ILFF для VirtueMart»(ILFF for VirtueMart)把您基于 Joomla 和 VirtueMart 的网店与 ILFF 服务连接起来:
- 购物车中出现 ILFF 配送方式:快递上门、从城市网点列表中选择的自提点和俄罗斯邮政,带价格和时效;
- 使用 ILFF 配送方式的订单在进入您选定的状态时自动发送到 ILFF;
- 跟踪号和订单状态回传到网店,买家在状态变更邮件中收到跟踪号;
- 商品的库存、重量和尺寸从 ILFF 同步到网店;
- 在网店取消订单会取消 ILFF 中的发货申请。
数据交换始终由网店发起:模块使用 API 密钥主动访问 ILFF 服务,无需向我们开放网店。
您需要:
- Joomla 4 或 5 和 VirtueMart 4(已在 Joomla 5.4.10 和 VirtueMart 4.6.4 上测试);
- PHP 8.1 或更高版本,带 curl 扩展;
- 网店货币为俄罗斯卢布,VirtueMart 中已发布国家“俄罗斯”;
- 网站管理员权限、服务器 cron 或主机计划任务的访问权限以及 ILFF 客户后台的访问权限。
接入需要 15–20 分钟。
插件带有英语和俄语语言文件,下文的名称按英语版给出。Joomla 和 VirtueMart 的菜单按英语给出。ILFF 客户后台为俄语界面,下文按屏幕上的原文给出其名称,并在括号中附上译文。
第 1 步:在 ILFF 客户后台中接入
客户后台 → Интеграции(集成)标签页 → 展开 Интернет-магазин(网店)区块。
- Платформа(平台):选择 Joomla (JoomShopping)。VirtueMart 作为 Joomla 网店接入 ILFF。
- Адрес магазина(网店地址):网站地址,例如
shop.ru。 - 勾选项 Заказ с несвязанным товаром ждёт привязки(含未关联商品的订单等待关联):建议保持勾选(见第 5 步)。
- 点击 Подключить(接入)。
Интеграции 标签页顶部显示 Ключ API(API 密钥)。如果没有,点击 Сгенерировать(生成)。不要转发给任何人。
一个 Joomla 网站只接入一个网店:VirtueMart 或 JoomShopping。如果两者同时工作,它们在 ILFF 中的商品列表会互相覆盖。
第 2 步:安装扩展包
- 从 ILFF 网站的模块页面下载压缩包
ilff-virtuemart.zip,或向客户经理索取。不要解压。 - 在 Joomla 管理后台打开 System → Install → Extensions 并上传压缩包。
扩展包会安装并启用两个插件:
- System - ILFF for VirtueMart:设置以及订单、状态和库存的交换;
- VM Shipment - ILFF:VirtueMart 的 ILFF 配送方式。
第 3 步:模块设置
打开 System → Plugins → System - ILFF for VirtueMart。
- ILFF API key:第 1 步中的密钥。
- ILFF service URL:已填写,无需修改。
- Calculator settings variant:ILFF 客户后台中的方案代码;留空表示使用默认设置。
- Send order to ILFF in statuses:VirtueMart 状态代码,用逗号分隔,默认是
C(已确认)。 - Cancel request in statuses:默认是
X(已取消)。 - ILFF 状态对应的订单状态:“handed to carrier”(默认
S,已发货)、“delivered”(F,已完成)、“cancelled in ILFF”(X)、“returned”(R)。留空表示不改变。 - Cash on delivery:VirtueMart 支付方式编号,用逗号分隔;留空表示使用“Cash on delivery”插件的支付方式。
- Stocks from ILFF、Product weight and dimensions from ILFF、Packed order weight and dimensions:从 ILFF 接收哪些数据。
点击 Save:顶部出现 «ILFF: связь есть»(已连接)和交换任务的 URL(见“交换任务”)。
第 4 步:配送方式和买家看到的内容
VirtueMart → Shop → Shipment Methods → New:选择插件 VM Shipment - ILFF,并在其设置中选择 ILFF delivery kind:
- Courier:按买家地址选择最便宜的物流公司;
- Pickup point:买家从所在城市的网点列表中选择自提点;
- Russian Post:俄罗斯邮政送到买家地址。
每种需要的类型各创建一个配送方式。不要为这些方式设置价格:价格由 ILFF 计算。
在购物车中,ILFF 方式下方显示物流公司或自提点以及时效。“Pickup point”方式在选择自提点之前显示 «Выберите пункт выдачи, от N руб.»(请选择自提点,N 卢布起)和城市网点列表;选择后显示该自提点的准确价格。未选择自提点时无法提交订单。不向买家地址配送的方式不会显示。
请下一个使用 ILFF 方式的测试订单,把它转入发送状态,并确认订单已进入 ILFF。
第 5 步:关联商品
模块每天一次把商品和子商品(变体)发送到 ILFF。在 ILFF 客户后台中,Товары магазина(网店商品)按钮显示它们与您在 ILFF 中的商品的关联。关联先按条码(GTIN 字段)匹配,再按货号(SKU)匹配。
| 状态 | 处理方法 |
|---|---|
| Связан(已关联) | 无需操作,关联已保存 |
| Подобран(已匹配) | 检查并确认 |
| Несколько совпадений(多个匹配项) | 手动选择正确的商品 |
| Не найден(未找到) | 手动选择商品,或在网店中填写 GTIN 或 SKU |
关联完成后,模块会自动重新发送等待中的订单。
网店中的订单
在 VirtueMart 管理后台的订单页面,配送区块中显示 Доставка ILFF(ILFF 配送):物流公司或自提点、ILFF 申请编号、ILFF 状态、跟踪号、交换状态和带日期的交换记录。当 ILFF 状态改变订单状态时,跟踪号会作为备注添加到状态变更中,买家会在邮件中收到它。
取消订单
把订单转入取消状态会取消 ILFF 中的申请,前提是申请尚未交给物流公司。如果申请已交给支持取消的物流公司(Dalli、5Post),取消请求会转给该公司;否则交换记录中会出现 ILFF 的答复,请联系客户经理。
交换任务
任务需要每 5–15 分钟运行一次:请把交换任务的 URL(保存设置后显示,形如 https://您的网站/index.php?option=com_ajax&group=system&plugin=ilffvm&format=raw&token=…)添加到服务器 cron 或主机的计划任务中。不要公开该 URL。
该任务重新发送未能立即发出的订单,获取跟踪号和状态,更新库存和重量,并每天一次发送商品列表并核对全部库存。
常见问题
| 现象 | 原因和处理方法 |
|---|---|
| «ILFF: нет связи - Неверный ключ API»(无连接:API 密钥错误) | 请从客户后台复制密钥并保存设置 |
| «ILFF: нет связи - В личном кабинете ILFF не подключён магазин»(ILFF 客户后台中未接入网店) | 请完成第 1 步:选择平台 «Joomla (JoomShopping)» 并点击 «Подключить» |
| 购物车中没有 ILFF 方式 | 未填写城市或国家不是俄罗斯;配送方式未发布;未启用插件“System - ILFF for VirtueMart” |
| «Выберите пункт выдачи ILFF»(请选择 ILFF 自提点) | 请在“Pickup point”方式下方的列表中选择自提点 |
| 订单没有进入 ILFF | 检查订单状态和“Send order to ILFF in statuses”设置、订单中的 ILFF 区块以及后台的“等待关联”提示条 |
| 跟踪号和状态没有回传 | 未配置交换任务 |
模块把交换错误写入 Joomla 日志 ilffvm.php(administrator/logs 文件夹),其中不含 API 密钥和买家数据。其他问题请联系您的 ILFF 客户经理。