antonythorpe / silvershop-unleashed
Silvershop子模块,与Unleashed软件库存管理系统集成
5.0.0
2024-07-03 06:31 UTC
Requires
- php: ^8.1
- antonythorpe/consumer: ^4.0.1
- silvershop/core: dev-main
- silverstripe/cms: ^5
Requires (Dev)
- phpunit/phpunit: ^9.5
- silvershop/shipping: dev-main
README
Silvershop子模块,与Unleashed软件库存管理系统集成
功能
- 构建任务,以同步产品、产品类别和销售订单与Unleashed
- 在SilverShop订单支付后,在Unleashed中创建新的客户和销售订单
用例
保持Silvershop与外部真实来源(库存系统)的一致性。通过更新Silvershop中的产品价格节省时间;只需运行BuildTask并查看报告。当订单付款时,新的客户和订单将发送到Unleashed,节省时间/减少数据输入错误。
工作原理
- 向
Product
、ProductCategory
、OrderItem
、OrderModifier
和Member
类添加一个Guid
属性。通过构建任务更新Product
、ProductCategory
和Order
数据对象。这将在数据库中保存Unleashed GUID以识别API调用结果中的更改。 - 订单付款时,模块会检查客户的电子邮件地址与Unleashed,并获取GUID。这用于销售订单的发布。需要一些配置设置,以便修改者作为订单项流向Unleashed。
- 订单构建任务保持订单状态更新。
要求
在Unleashed中创建销售订单
有关获取/创建客户的说明
- 客户已登录并且有一个来自Unleashed的Guid吗?
- true: 使用客户的Guid作为销售订单
- false: 通过电子邮件地址获取客户
- 如果返回了客户。使用客户返回的Guid作为销售订单
- 如果未返回客户。由于可能已经存在另一个具有相同客户代码的客户,因此通过客户代码(公司名称或姓氏)获取客户
- 如果返回了客户。送货地址相同吗?
- true: 必须相同。使用客户返回的Guid作为销售订单。
- false: 向客户代码添加随机数字。发布客户并使用返回的Guid作为销售订单
- 如果没有返回客户。发布客户并使用返回的Guid作为销售订单
- 如果返回了客户。送货地址相同吗?
添加订单
- 发布带有订单数据的销售订单
限制
- 创建销售订单时不使用“运费”行类型
- 在销售订单项中将折扣硬编码为NIL
- 尚未实现SalesPerson
- 产品/产品类别构建任务仅同步Unleashed中的现有项目。新的需要手动添加,通过上传或修改现有的构建任务。
- 只会发送具有值的修改器到Unleashed。NIL值将自动跳过。
- 如果用户已登录并在结账表单中更改电子邮件地址,则此新电子邮件地址不会传递到Unleashed - Unleashed没有可用的PUT客户调用。
- 如果访客使用唯一的电子邮件和送货地址进行第二次购买,则Unleashed中将创建新的客户。将在客户代码中附加随机数字以避免与Unleashed中的客户代码重复。
文档
支持
无支持,抱歉。