使用shopware 6 api添加现有产品以订购

问题描述 投票:0回答:1

我正在尝试编辑已放弃的订单。

此订单中可能有我想与其他产品交换的产品。由于存在一些唯一标识符,因此现在判断要删除哪些项目有点复杂。然而,我目前正在从订单中获取订单项,在有效负载中搜索产品编号,如果找到它,我会获取唯一的 ID 并删除该产品。

很好,所以票价...
现在我想添加一个新产品(实际上存在于 SWDB 中)。目标是仅将所需的信息传递给 API 以将该产品添加到订单中。

出于某种原因,我在互联网上找不到任何有关此内容的信息,或者我不擅长搜索。然而,我的测试全部失败,目前我无法处理这个(我实际上认为是常见的需要采取的行动)问题,添加一个产品。

正如我所说,文档似乎没有为我提供足够的信息来执行此操作。 我是唯一一个想通过 api 添加产品的人吗?我强烈猜测不是:D

那么有人可以提示我正确的方向吗?

rest curl shopware shopware6 shopware6-api
1个回答
0
投票

我终于成功了,并在这里添加我的经验以帮助其他可能遇到同样问题的人。

前往步骤:

  • 获取订单(获取订单数据)
  • 创建订单版本
  • 进行编辑
  • 将版本合并到订单中

描述

要将产品添加到现有订单基本上必须调用 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 会调用重新计算以正确计算价格。

我希望这有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.