我正在尝试编辑已放弃的订单。
此订单中可能有我想与其他产品交换的产品。由于存在一些唯一标识符,因此现在判断要删除哪些项目有点复杂。然而,我目前正在从订单中获取订单项,在有效负载中搜索产品编号,如果找到它,我会获取唯一的 ID 并删除该产品。
很好,所以票价...
现在我想添加一个新产品(实际上存在于 SWDB 中)。目标是仅将所需的信息传递给 API 以将该产品添加到订单中。
出于某种原因,我在互联网上找不到任何有关此内容的信息,或者我不擅长搜索。然而,我的测试全部失败,目前我无法处理这个(我实际上认为是常见的需要采取的行动)问题,添加一个产品。
正如我所说,文档似乎没有为我提供足够的信息来执行此操作。 我是唯一一个想通过 api 添加产品的人吗?我强烈猜测不是:D
那么有人可以提示我正确的方向吗?
我终于成功了,并在这里添加我的经验以帮助其他可能遇到同样问题的人。
前往步骤:
描述
要将产品添加到现有订单基本上必须调用 api
_action/order/{unique_order_id}/product/{unique_product_id}
作为身体你至少要通过数量
{ "quantity": 10 }
注意: 为此,您必须创建订单版本。
你可以用
来做到这一点_action/version/order/{unique_order_id}
这将返回一个带有版本号
versionId
和一些其他字段的数组。
您必须将此
versionId
添加到您的标题中
Sw-Version-Id: {versionId}
在向 sw 订单发送任何更新之前。
新的,您可以进行编辑。
完成编辑后,您必须将订单版本合并到实际订单中。您可以通过运行此 api 调用来完成此操作
_action/version/merge/order/{versionId}
合并后,shopware 会调用重新计算以正确计算价格。
我希望这有帮助。