库存水平

库存级别表示特定位置的库存项目的可用数量。

每个库存级别都属于一个库存物料,并且具有一个位置。对于每个可用库存物料的位置,都有一个库存级别表示该位置的库存物料数量:

库存水平 - 图1

库存水平和履行服务地点

履行服务位置与第三方履行服务具有1:1关系。当应用在商店上创建新的履行服务时,Shopify会自动创建与该履行服务关联的位置。FulfillmentService资源具有一个location_id属性,该属性标识关联的位置。

连接到履行服务位置的库存物品不能同时连接到任何其他位置:

库存水平 - 图2

将库存物料连接到履行服务位置

当您处理已经或将要连接到实现地点的项目时,应 "relocate_if_necessary": true在请求的正文中添加该项目。在两种情况下,您可以这样做:

  • 将库存物料连接到履行服务地点并将其与所有标准地点断开连接
  • 将库存物料连接到一个或多个标准位置并将其与履行服务位置断开连接

如果relocate_if_necessarytrue,则该项目的所有库存都将重新定位到新位置并与其他任何位置断开连接。如果涉及履行服务位置,但 relocate_if_necessaryfalse,则连接将失败。如果不涉及履行服务,则将忽略该属性,并且不会重新分配任何库存。

在履行服务位置设置库存水平

当您为某个位置设置库存时,库存项目将连接到该位置(如果尚未连接)。如果项目已经或将要连接到履行服务位置,则应"disconnect_if_necessary": true在请求正文中添加该项目。在两种情况下,您可以这样做:

  • 当物料已经连接到一个或多个标准位置时,在履行服务位置为库存物料设置库存
  • 当物料已经连接到履行服务位置时,在标准位置设置库存物料的库存

新位置的库存设置为available属性的值。其他位置的库存设置为0,并且这些位置与库存项目断开连接。

如果disconnect_if_necessary将设置为false当您在某个位置设置库存并涉及到履行服务位置时,则操作将失败。如果不涉及履行服务位置,那么将忽略此属性。

您可以使用InventoryLevel做什么

Shopify API使您可以使用InventoryLevel资源执行以下操作。这些常规操作的更详细的版本可能可用:

InventoryLevel属性

可用的 plain "available": 6 可供出售的库存物品数量。返回null是否未跟踪库存项目。
stock_item_id 只读 plain "inventory_item_id": 450789469 库存级别所属的库存项目的ID。
location_id plain "location_id": 40642626 库存级别所属位置的ID。要查找位置的ID,请使用位置资源
Updated_at 只读 plain "updated_at": "2012-08-24T14:01:47-04:00" 上次修改库存水平 的日期和时间(ISO 8601格式)。

终点

得到/admin/api/2021-01/inventory_levels.json

检索清单级别的列表。

您必须同时包括inventory_item_idslocation_ids或两者作为过滤器参数。

注意:从2019-10版本开始,此端点通过使用响应标头中提供的链接来实现分页。发送page参数将返回错误。要了解更多信息,请参阅向分页的REST Admin API端点发出请求

stock_item_ids 以逗号分隔的清单物料ID列表。
(最大:50
location_ids 以逗号分隔的位置ID列表。要查找位置的ID,请使用位置资源
(最大:50
限制 要显示的最大结果数。
(默认值:50
最大:250
Updated_at_min 显示日期或之后更新的库存水平(格式:2019-03-19T01:21:44-04:00)。

检索库存水平不指定location_idsinventory_item_ids失败并返回一个错误

GET /admin/api/2021-01/inventory_levels.json

查看回应

检索指定库存项目和位置的库存水平

GET /admin/api/2021-01/inventory_levels.json?inventory_item_ids=808950810,39072856&location_ids=905684977,487838322

查看回应

检索单个库存项目的库存水平

GET /admin/api/2021-01/inventory_levels.json?inventory_item_ids=808950810

查看回应

在单个位置检索库存水平

GET /admin/api/2021-01/inventory_levels.json?location_ids=905684977

查看回应

邮政/admin/api/2021-01/inventory_levels/adjust.json

在单个位置调整库存物料的库存水平

stock_item_id 必需的 库存物料的ID。
location_id 必需的 库存级别所属位置的ID。要查找位置的ID,请使用位置资源
available_adjustment 必需的 调整可用库存数量的数量。发送负值以从当前可用数量中减去。例如,"available_adjustment": 2将当前可用数量增加2,并将"available_adjustment": -3当前可用数量减少3。

在单个位置将库存物料的可用数量调整5

POST /admin/api/2021-01/inventory_levels/adjust.json

{

“ location_id” :905684977,

“ inventory_item_id” :808950810,

“ available_adjustment” :5

}

查看回应

在不存在的位置调整库存水平失败并返回错误

POST /admin/api/2021-01/inventory_levels/adjust.json

{

“ location_id” :905684977,

“ inventory_item_id” :808950810,

“ available_adjustment” :5

}

查看回应

调整未跟踪库存项目的库存水平失败并返回错误

POST /admin/api/2021-01/inventory_levels/adjust.json

{

“ location_id” :905684977,

“ inventory_item_id” :808950810,

“ available_adjustment” :5

}

查看回应

删除/admin/api/2021-01/inventory_levels.json?inventory_item_id=808950810&location_id=905684977 删除某个位置的库存项目的库存级别。删除库存物料的库存级别将从指定位置删除该物料。每个库存项目必须至少具有一个库存级别。要将库存移动到另一个位置,请首先将库存项目连接到另一个位置,然后删除以前的库存级别。
stock_item_id 必需的 库存商品的ID。
location_id 必需的 库存级别所属位置的ID。要查找位置的ID,请使用位置资源

删除库存水平

删除/admin/api/2021-01/inventory_levels.json?inventory_item_id=808950810&location_id=905684977

查看回应

邮政/admin/api/2021-01/inventory_levels/connect.json

通过在该位置创建库存级别,将库存项目连接到该位置。

将库存物料连接到地点时,了解履行服务地点周围的规则很重要 。

stock_item_id 必需的 库存物料的ID。
location_id 必需的 库存级别所属位置的ID。要查找位置的ID,请使用位置资源
relocate_if_necessary 是否会重新分配先前连接的位置的库存。不涉及履行服务位置时,将忽略此属性。更多信息,请参见库存水平和履行服务位置
(默认值:false

将库存物料连接到位置

POST /admin/api/2021-01/inventory_levels/connect.json

{

“ location_id” :192722535,

“ inventory_item_id” :457924702

}

查看回应

将库存物料连接到不存在的位置失败并返回错误

POST /admin/api/2021-01/inventory_levels/connect.json

{

“ location_id” :123,

“ inventory_item_id” :457924702

}

查看回应

将库存项目连接到履行服务位置而不会"relocate_if_necessary": true失败,并显示422错误

POST /admin/api/2021-01/inventory_levels/connect.json

{

“ location_id” :48752903,

“ inventory_item_id” :808950810

}

查看回应

当商店未启用多个位置时将库存商品连接到某个位置失败,并显示403错误

POST /admin/api/2021-01/inventory_levels/connect.json

{

“ location_id” :192722535,

“ inventory_item_id” :457924702

}

查看回应

邮政/admin/api/2021-01/inventory_levels/set.json 在某个位置设置库存商品的库存水平。如果未连接指定的位置,它将首先自动连接。将库存物料连接到地点时,了解履行服务地点周围的规则很重要 。
stock_item_id 必需的 库存商品的ID。
location_id 必需的 库存级别所属位置的ID。要查找位置的ID,请使用位置资源
可用的 必需的 设置可用库存数量。
connect_if_necessary 是否将任何先前连接的位置的库存都设置为0并断开位置。不涉及履行服务时,将忽略此属性。更多信息,请参见库存水平和履行服务位置
(默认值:false

在某个位置设置可用库存

POST /admin/api/2021-01/inventory_levels/set.json

{

“ location_id” :905684977,

“ inventory_item_id” :808950810,

“可用” :42

}

查看回应

将库存项目设置为履行服务而不会"disconnect_if_necessary": true失败,并显示422错误

POST /admin/api/2021-01/inventory_levels/set.json

{

“ location_id” :61629186,

“ inventory_item_id” :808950810,

“可用” :42

}

查看回应