spring-boot - 是否可以使用 Shopware REST API 更新订单单个仓位的 statusIds?
问题描述
我正在尝试根据退货流程更新订单。如果退货流程完成,订单statusId和订单仓位的statusIds需要更新。
我已经设法通过这个端点 /api/orders/15 (PUT-Request) 更新了订单的 statusId。但是这个端点只允许更新很少的参数。这是 shopware 5 api 文档:https ://developers.shopware.com/developers-guide/rest-api/examples/order/
还有其他方法可以更新职位吗?还是我必须直接在数据库中更新它?这似乎很脏。
我正在使用 Spring Boot 来发出请求。这是用于更新订单 statusId 的代码
private JSONObject setShopwareOrderStatus(ReturnOrder order, SetOrderStatusRequest orderStatus) {
String apiUrl = String.format("https://shop.com/api/orders/%d?useNumberAsId=true", order.getOrderId());
RestTemplate restTemplate = new RestTemplate();
HttpHeaders headers = new HttpHeaders();
headers.set(HttpHeaders.AUTHORIZATION, "Basic apiToken");
headers.setContentType(MediaType.APPLICATION_JSON);
headers.setAccept(Collections.singletonList(MediaType.APPLICATION_JSON));
HttpEntity<SetOrderStatusRequest> request = new HttpEntity<>(
orderStatus, headers);
ResponseEntity<String> responseEntity =
restTemplate.exchange(apiUrl, HttpMethod.PUT, request, String.class);
return new JSONObject(responseEntity.getBody());
}
希望有人能够帮助我
解决方案
推荐阅读
- wordpress - 无法更改购物车总计中的 WooCommerce 优惠券标签
- python - 在 vim 中编辑文件的每 3 行
- python - 在 Keras 中将具有不同张量维度的 LSTM 与 CNN 连接起来
- reactjs - React Router 4 站点地图生成
- javascript - 无法在生产中使用 vue-cli 调用 npm run build
- php - 显示小时和显示页面对应
- mysql - 如何找出特定月份最常用的已售图书类别
- php - Laravel / PHP为变量显示错误的输出
- javascript - 如何一次将类添加到一个 div Jquery
- angular - 将节点模块导入角度打字稿/角度cli的正确方法是什么