我正尝试使用dynamics 365 business central附带的标准API将销售行添加到现有销售订单。但是,我无法在API请求中找到完成此操作的正确语法。
我试过发布到companies({id})/salesOrderLines
端点和companies({id})/salesOrder({id})/salesOrderLines
端点,但无论我如何尝试处理我的请求,我总是得到“无效的请求正文”错误。
下面是我发送到companies({id})/salesOrderLines
端点的请求示例:
下面是我的请求正文:
[
{
"id": "e92c39cb-f552-4d4f-b680-ad7ded2949d0",
"documentId": "e80573b0-9c8b-ed11-bfba-001dd8b71ee3",
"lineType": "Item",
"lineObjectNumber": "H10-110013",
"quantity": 1
},
{
"id": "e92c39cb-f552-4d4f-b680-ad7ded2949d0",
"documentId": "e80573b0-9c8b-ed11-bfba-001dd8b71ee3",
"lineType": "Item",
"lineObjectNumber": "H10-112117",
"quantity": 1
}
]
以下是我得到的回复:
“{“错误”:{“代码”:“请求错误”,“消息”:“请求正文相关ID无效:241 e540 a-5af 5 -4516- 83 f2-fbc 035 f80389 "}}”的电子邮件地址。
我可以使用深度请求同时发布销售订单及其行,但对于较大的订单,它们会达到请求限制,我需要一种分解行的方法。
1条答案
按热度按时间cx6n0qe31#
salesOrderLines终结点需要一个对象,但不接受集合,因此您在此可以做的最好的事情是在单独的请求中发布每一行。请求正文如下所示:
id和documentId可以添加到请求中,但实际上不是必需的。
另一种选择是在$batch端点上发送请求,如以下文档所述:https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/webservices/use-odata-batch
开机自检http://bc 21-设备:7048/bc/api/v2.0/$批次