添加产品
当客户希望下订单时,呼叫中心用户就能找到相应的产品并将该产品添加到订单中。
解决方案
以下部分描述了 API、用户出口、服务及其他组件。
用户可以通过创建订单向导访问“添加产品”屏幕。 在“添加产品”屏幕中,用户可以输入产品标识,并将生成的产品添加到订单中。 或者,用户可以浏览产品并添加到订单中。 将调用 getCompleteItemList API 来检索产品可用性、可用数量和日期、单价、支持的订单履行方法以及关联产品。 此 API 还可检索任何关联服务。
CSR 还可以从“产品浏览”或“产品详细信息”屏幕来访问“添加产品”屏幕。 如果用户选择从“产品浏览”或“产品详细信息”屏幕来添加产品和服务,并且如果有未结草稿订单,那么允许用户选择必须向其添加产品的订单,或通过添加产品创建新订单。
如果用户在添加产品前识别出客户,并且客户权利规则适用,那么 getCompleteItemList API 只会处理客户有权购买的产品。 只有将客户信息传递至 getCompleteItemList API,并且配置了客户权利时,才会返回客户有权购买的产品。
getCompleteItemList API 可从装运订单行的储藏库存中检索产品可用性。 但是,系统会从实时库存中检索提货订单行可用性。
getCompleteItemList 会调用用于改写实现方法的 YCDoverrideDeliveryMethodForLinesUE 用户出口。 此用户出口支持改写用于启用实现方法的逻辑。 没有提供缺省实现,您可以针对此用户出口使用自己的实现。
必须设置储藏库存以允许用户浏览产品目录。 在大多数情况下,向用户显示的库存信息不会实时更新。 因此,将更新储藏库存以提供库存的实时可用情况。 为提高 UI 性能,“添加产品”屏幕中会从储藏库存(而不是实时库存)中显示可用性。
某一特定日期的产品可用性如以下所述来确定:
- 如果订购数量少于现货可用数量,将显示现货可用日期。
- 如果订购数量多于现货可用数量以及未来的可用数量,那么该产品不可用。
- 如果订购数量多于现货可用数量、少于未来的可用数量,将显示未来的第一个可用日期。
如果所选产品是捆绑父级产品,那么 getCompleteItemList API 将检索组件。 API 还可检索捆绑定价策略,该策略用于计算捆绑产品价格。
对于实现类型是“同时装运”的捆绑父级产品,getCompleteItemList API 会返回可用性。 用于计算常规产品可用性的逻辑是适用的。 根据单个组件的可用性,用户界面上将计算并显示捆绑父级产品的可用性。 但是,对于其履行类型为“单独装运”或“一起交货”的捆绑父项产品,将不显示可用性。
将调用 getCompleteItemList API 以访存任何产品的关联服务或独立服务。 可从“产品浏览”屏幕或者直接从“添加产品”屏幕添加关联服务和独立服务。 要向订单添加交货行,必须对产品允许交货履行方法,并且交货服务必须与该产品关联。
如果存在与产品关联的任何附加服务,并且如果已定义附加服务行关系类型,那么这些附加服务会显示在“服务”选项卡中。 按父产品的数量添加关联的附加服务。 不能单独添加关联的附加服务。 如果 CSR 尝试添加关联附加服务,而不添加其关联产品,那么会显示相应的错误消息。
modifyFulfillmentOptions API 以更新交货方法。 选中交货作为产品的订单履行方法时,将调用 getFufillmentOptionsForLines API 以通过将交货方法作为 DEL 进行传递来获取产品的实时可用性。 基于 getFulfillmentOptionsForLines API 的输出针对所选订单履行方法更新可用性信息。 如果交货产品属于捆绑或变体产品的一部分,那么不显示可用性。 按父产品的数量添加交货服务。CSR 将产品添加到订单时,将解析 getCompleteItemList API 的输出以获取名为 isConfigurable 和 isPreConfigured 的两个属性。 isConfigurable 属性将确定要添加到订单的产品是否可配置。 另外,isPreConfigured 属性将确定是显示“配置产品”还是“重新配置产品”选项。
如果产品可配置并且未预配置,那么 CSR 将看到“配置产品”按钮。 但如果产品已预配置,那么将不会预先显示用于重新配置的选项。 只有在将产品保存到订单并且已将订单行保存到订单时,才会显示“重新配置产品”按钮。 当用户选择配置产品时,将在显示产品可配置选项的应用程序中加载 omni-configurator 界面。
对于可配置的产品,将实时计算可用性,并且只有当用户将产品保存到订单后,才会显示可用性信息。 对于提货订单行,可用性信息仅在 " 备用商店 " 窗口中针对通过调用 getAlternateStoreAvailability API 保存到订单的订单行显示。 当选择“装运”作为履行方法时,将对一起装运的可配置或预配置的捆绑产品显示可用性。 将调用 getFulfillmentOptionsForLines API 以获取可用性信息。 但是,对于独立装运的可配置或预配置的捆绑产品,将不显示可用性。 类似地,对于交货订单行,将不显示可用性。 将解析 API 的输出,并基于 Assignment 元素下返回的信息显示可用性。
CSR 将所做更改保存到可配置的产品后,会在 BOMXML 属性中将配置程序返回的数据作为输入传递到 modifyFulfillmentOptions API。
在用户将产品添加到订单,输入相应的信息并继续进入订单创建向导中的下一个屏幕后,将调用 modifyFulfillmentOptions API 来更新更改。
当 CSR 从草拟订单中除去产品时,在 modifyFulfillmentOptions API 中 Action 属性设置为 REMOVE。 如果 CSR 从已确认的订单中删除产品,那么在 modifyFulfillmentOptions API 中 Action 属性设置为 CANCEL。 从订单中除去产品时,还会除去所有关联的服务。
BuyerUserID 属性会传递给所有 getCompleteItemList API 调用。实现
以下部分描述了必须配置的规则。
- 要检索可用性信息以及发货日期,请启用
Compute Availability Information with Ship Dates for Real-Time Availability Monitor规则。 有关更多信息,请参阅配置全局 Inventory Visibility。 - 必须启用
Use Activity-Based Mode for Real-Time Availability Monitor规则。 有关更多信息,请参阅配置 Sterling 全局 Inventory Visibility。 - 您必须配置产品与附加服务之间的关联,以将附加服务与产品相连。 有关更多信息,请参阅将产品项目与提供的服务关联。
- 要使用高速缓存的库存来计算装运订单行的库存可用性,请不要配置
Node Level ATP Monitor Rule。 更多信息,请参阅目录管理配置。 - 配置订单输入规则以显示缺省交货方法,并在用户将产品添加到订单时将焦点放置在相应的字段上。 有关详细信息,请参阅 Sterling Business Center 系统配置。
- 要确定捆绑产品价格,必须相应地配置捆绑定价策略。 Sterling 商务中心产品管理。
- 必须配置产品的标准计量单位显示规则。 要定义数量的计量单位,请参阅定义计量单位。
- 您可以创建和管理客户权利。 有关详细信息,请参阅 Sterling Business Center 产品管理。
- 您可以在 Sterling Business Center中配置关联项的项关联规则和关系类型以及服务关联的关系类型。 更多信息,请参阅配置订单输入规则。
- 有关 API 的更多信息,请参阅 JavadocJavadoc。
- 承诺服务器不支持交货履行方法和附加服务。
- 可以配置在成功添加新订单行后自动记录缺省注释。 更多信息,请参阅自动备注记录。
- 在订单行级别启用“添加行”和“取消”状态修改规则以重新配置捆绑。 有关状态修改规则的更多信息,请参阅配置分布式 Order Management。
- CSR 应具有“更改产品配置”资源许可权,才能更改产品配置。 有关管理用户组权限的信息,请参阅管理用户组权限。
最终用户影响
用户可以将所需产品添加到订单并继续创建订单。