您在此处:
使用 Omnichannel Inventory 进行库存管理
与 Salesforce Omnichannel Inventory 集成,可提供更强大的功能来处理库存数据和使用外部管理系统。本主题适用于 B2C Commerce。
Omnichannel Inventory 集成
使用 Omnichannel Inventory 管理库存时,您不会在 B2C Commerce 中创建或修改库存记录。整合会根据从 Omnichannel Inventory 中收到的数据自动更新 B2C Commerce 中的可供性,从而为您解决该问题。保留购物车或订单的库存是 B2C Commerce 影响库存水平的唯一方法。在 Omnichannel Inventory 中执行所有其他库存更新。
有关配置和自定义 Omnichannel Inventory 的信息,请参阅 Salesforce 帮助中的 Omnichannel Inventory 主题。
位置图
位置图是 Omnichannel Inventory 中库存位置和位置组的集合,这些位置和位置组履行 B2C Commerce 网店的订单。地点代表特定的库存来源,通常是诸如仓库之类的实际地点。位置组是一组相关的位置,例如覆盖定义的地理区域的位置或属于同一品牌或网店的位置。位置组汇总并显示这些位置处的库存。位置组的库存数量被计算为该组中相应位置的数量之和。例如,位置组的现有数量是该组中所有位置的现有数量的总和。
B2C Commerce 通过将库存清单与位置图中的位置和位置组相关联来显示库存数据。在 B2C Commerce 中为要直接向网店公开的 Omnichannel Inventory 中的每个位置或位置组创建一个库存清单。库存清单的 ID 必须与 Omnichannel Inventory 中关联的位置或位置组的“外部参考”值匹配。如果某个地点仅作为一个地点组的一部分完成订单,那么您就不必为该地点创建列表。
对于每个 B2C Commerce 网站,使用位置或位置组代表可用于履行在该网站上下达的订单的默认库存。将该位置或位置组的清单列表分配给站点。如果您使用其他库存清单(例如实体店),请将其与自己的位置或位置组关联。
库存预订
B2C Commerce 创建订单时,会将库存预订请求发送到 Omnichannel Inventory。Omnichannel Inventory 会尝试将预订分配给与该网站或实体店的库存清单相关联的位置或位置组。如果没有足够的库存,则预订将失败。在 Omnichannel Inventory 接受预订后,它将与您的订单管理系统一起完成任何进一步处理。
如果您实施了自定义,请求对购物车进行临时库存保留,那么整合会将这些请求发送到 Omnichannel Inventory。
使用 Omnichannel Inventory 时的注意事项和限制
- 可见的库存可供性数据最终是一致的,这意味着更新可能需要一些时间(通常是几秒钟)才能反映在 UI 或 API 中。因此,当 B2C Commerce 在 Omnichannel Inventory 中进行库存预订时,您不能假定可供性数据会立即反映分配给该预订的数量。此延迟会影响所有依赖可供性数据的 B2C Commerce 功能,例如使用库存可供性查询的 Script API 自定义。但是,Omnichannel Inventory 按顺序处理预订请求,因此,只有在实际有库存可以满足该订单时,预订请求才会成功。
- 如果您的自定义代码请求对购物车进行临时保留,则这些临时保留会影响可见的库存可用性。(当不使用 Omnichannel Inventory 时,Commerce 平台在创建预定时会考虑现有的临时预定,但不会将它们包括在可见的可用性数据中。)
- 您无法启用“已下订单库存”功能。
- 您最多可以创建 20 个位置组。
- 与位置和位置组关联的库存清单的 ID 具有以下限制:
- 它们的长度必须为 2–128 个字符。
- 它们只能包含以下字符:A–Z, a–z, 0–9, _ (下划线), -(连字符)
- 您无法在 B2C Commerce 中创建或更新库存记录。您可以将库存列表导入 B2C Commerce,但是必须将产品库存数据直接导入到 Omnichannel Inventory 中。备注 尝试将单个库存记录导入 B2C Commerce 会导致以下警告:Omnichannel Inventory 不支持库存记录的导入。跳过元素。
- 不要从 B2C Commerce 导出库存数据。与 Omnichannel Inventory 整合之前,它将导出过时的数据。要导出库存数据,请从 Omnichannel Inventory 中将其导出。
- 您不能在库存记录中使用自定义属性。
- 您不能使用 B2C Commerce API 修改单个库存记录。否则,与库存相关的脚本 API 方法的工作原理与不使用 Omnichannel Inventory 的情况相同。
- 您无法进行 OCAPI 调用
inventory_lists/{inventory_list_id}/product_inventory_records端点。 - 由于 Omnichannel Inventory 会在 30 天后释放未下订单的库存预留,因此在 B2C Commerce 中保留未下订单(处于已创建状态)可能会导致库存差异。为避免此问题,请使用网站级订单首选项中的自动失败订单设置。
- Omnichannel Inventory 不支持显式预订。相反,它代表了期货的预期库存补充。每个未来都有数量和预计日期。
- 如果产品在 Omnichannel Inventory 中具有任何预期,则在 B2C Commerce 中,其 backorderable为 true。否则,该标志为假。
- 在 B2C Commerce 中,产品 preorderable 标志始终为 false。
- 在 B2C Commerce 中,产品的 BackorderAllocation 数量是该产品所有现有未来数量的总和,其 inStockDate 是未来最早的 expectedDate。其 PreorderAllocation 数量始终为零,因此其 PreorderBackorderAllocation 数量始终与其 BackorderAllocation 匹配。
- Omnichannel Inventory 期货需要 expectedDate 值。当不使用 Omnichannel Inventory 时,B2C Commerce 的缺货订单和预购数量不需要 inStockDate 值。
- Omnichannel Inventory 不支持单个库存记录的永久可用性。但是,可以通过多种方式实现类似的功能。
- 使用 B2C Commerce 库存清单的默认库存设置。当订单使用启用了默认库存的库存清单时,不在清单上的产品将自动可用。但是,这些产品不包含在预订请求中。如果以这种方式使用默认库存,请自定义订单工作流程以创建和管理这些产品的预订。
- 在 Omnichannel Inventory 中,将产品在一个或多个位置的可用库存设置为 999999999。在 B2C Commerce 中,正常处理该产品。在这种情况下,请自定义订单工作流程,以便在适当的位置完成该产品的订单。
- B2C Commerce 使用从 Omnichannel Inventory 接收的缓存库存数据来构建其库存搜索索引。请记住,这些数据最终被认为是一致的。
- 为了在实施 Omnichannel Inventory 定制时获得最佳性能,请使用无标头 Commerce API。相应的 Salesforce 核心 Connect API 和操作仅在后台调用 Commerce API。更新位置图是例外,因为 Commerce API 不提供该功能。警告 尝试使用 Salesforce 核心连接 API 上传大型库存数据文件会极大地影响组织的性能。使用 Connect API 时,库存数据文件必须采用 JSON 格式,并且限制为 10 MB。使用无标头 Commerce API 时,文件可以是 JSON 或 GZIP 格式,并且限制为 100 MB。
- 您不能将 Omnichannel Inventory 与使用自定义 SSL 证书的 B2C Commerce 准备环境 (Staging) 实例一起使用。来自 B2C Commerce 的自定义域流量未列入白名单,因此与 Omnichannel Inventory 的通信需要嵌入式内容交付网络 (eCDN)。eCDN 对于准备环境 (Staging) 实例无效。
- 不能将 Omnichannel Inventory 与订单后处理 API(Gillian 插件)一起使用。
B2C Commerce 库存模式
B2C Commerce 可以采用以下三种库存模式之一:
- Commerce Platform Inventory:B2C Commerce 在内部处理可供性和预订。整合无效。
- 已启用 OCI 缓存:Omnichannel Inventory 正在填充可用性数据缓存。但是,B2C Commerce 在内部处理可供性和预订。
- Omnichannel Inventory:整合处于活动状态,B2C Commerce 仅使用高速缓存中的可供性数据,并将预订请求发送到 Omnichannel Inventory。
最初,B2C Commerce 处于 Commerce Platform Inventory 模式。首次激活与 Omnichannel Inventory 的集成时,B2C Commerce 会更改为 OCI 缓存已启用模式。缓存准备就绪后,它可以更改为 Omnichannel Inventory 模式。当前模式显示在 Business Manager 中的“Business Manager 集成”页面上。
可供性搜索索引
当 B2C Commerce 处于 Commerce Platform Inventory 模式或 OCI Cache Enabled 模式时,可用性索引使用 B2C Commerce 库存可用性数据构建。当 B2C Commerce 处于 Omnichannel Inventory 模式时,可用性索引使用来自 Omnichannel Inventory 的缓存可用性数据构建。
选择 Omnichannel Inventory 模式会触发可用性索引的完全重建。否则,可用性指标正常运行。
转换现有网店以使用 Omnichannel Inventory
将 Omnichannel Inventory 与现有的 B2C Commerce 网店集成时,请在规划过程中包括以下步骤:
- 将现有站点、实体店和库存位置映射到 Omnichannel Inventory 中的位置和位置组。
- 确定要使用库存清单在 B2C Commerce 中公开的位置和位置组。
- 标识用于订单但未分配给站点的所有库存清单;例如,分配给实体店的清单。将每个人与 Omnichannel Inventory 中的位置或位置组相关联。
- 创建一个计划以将现有库存数据导入过程从 B2C Commerce 转移到 Omnichannel Inventory。
- 识别与 Omnichannel Inventory 不兼容的所有现有自定义项,并确定是否要对其进行修改或替换。这包括修改产品库存记录的任何自定义。
术语
以下术语在 B2C Commerce 和 Omnichannel Inventory 之间有所不同。
| B2C Commerce 有效期 | Omnichannel Inventory 有效期 | 描述 |
|---|---|---|
| 不适用 | 现有数量 | 当前实际数量 |
| 不适用 | 安全库存 | 预留实际库存量以避免超卖 |
| 分配数量 | 不适用 | 按(现有数量)-(安全库存)计算 |
| 分配重置日期 | 生效日期 | 最近库存数据更新的日期;使用 Omnichannel Inventory 时,此值可以为 null |
| 缺货分配数量(和缺货分配数量) | 将来数量(如果存在多个将来数量,则 B2C Commerce 中的价值为其总和) | 可出售的预期未来再进货数量 |
| 有库存日期 | 最早的未来预期日期 | 预计未来再进货数量的日期 |
| 营业额、预留和订单产品数量 | 预留总数 | 用于履单的预留数量 |
| 库存水平 | 可供履单 (ATF) | 按(现有数量)-(安全库存)-(保留总量)计算;最小值为 0 |
| 可供销售 (ATS) | 可供订购 (ATO) | 按(现有数量)+(未来数量)-(安全库存)-(保留总量)计算;最小值为 0 |

