我有一个使用 API for business Central 创建的销售订单。销售订单有一个单行项目。我想更新订单项的数量。以下是我到目前为止所尝试的。
端点:https://api.businesscentral.dynamics.com/v1.0/domain.com/api/v1.0/companies(company_id)/salesOrders(sales_order_ide)/salesOrderLines(sales_order_line_id)
其中销售订单行 ID 采用e86d3aa1-f2f8-ea11-aa61-0022481e3b8c-10000
本文档中所述的形式提出请求时PATCH
,我收到以下异常:
')' 或 ',' 应位于 '(sale-order-line-item-id)' 中的第 9 位。
当我只是尝试获取订单项时,也会发生上述异常,但是当我更改 URL 并采用以下形式时,该异常已修复:
端点:
https://api.businesscentral.dynamics.com/v1.0/domain.com/api/v1.0/companies(b4a4beb2-2d42-40dc-9229-5b5c371be4e3)/salesOrders(e86d3aa1-f2f8-ea11-aa61-0022481e3b8c)/salesOrderLines?filter=sequence eq 10000
当我尝试通过发出
GET
请求获取行项目时,此端点正在返回正确的响应。但是,当我PATCH
使用相同的端点发出请求时,使用简单的请求正文,例如
{"quantity" : 2.0}
它抛出异常:
在 Dynamics 365 Business Central OData Web 服务中不允许对 EdmType 'Collection' 的 'salesOrderLines' 的 'PATCH' 请求。
我还指定了if-Match
标题以及包含订单项的 etag 值但无济于事的请求,并且正在发生相同的异常。我错过了什么吗?任何帮助将不胜感激。