我如何通过 API post 新的销售订单和行项目到 Business Central?

How do I post new sales orders and line items to Business Central via the API?

我只是在现成的 Cronos Ltd. 沙盒帐户中解决问题,我感觉今天下午我的头在撞墙。我在 Postman 工作,使用 API v2.0.

简单地模拟了一些基本的 JSON 有效载荷

我已成功验证,POST将销售订单发送到端点 /salesOrders 并保留新的销售订单 ID。太好了。

但我正在努力处理此处记录的 salesOrderLines 端点:https://docs.microsoft.com/en-us/dynamics-nav/api-reference/v1.0/resources/dynamics_salesorderline

如果我有销售订单 ID,谁能给我一个例子,说明我可以在哪里 POST 新的销售订单行项目?(或者将它们嵌入到 'deep insert' 的第一次调用中?)我正在阅读文档并尝试了各种方法,但我一定遗漏了一些东西。

我还不是很熟悉 Business Central 的 Web 服务部分。在我的帐户中发布的是 'Object Name' 的两个默认端点:'APIV2 - Sales Orders' 和 'APIV2 - Sales Order Lines'。

可以加深插入的台词。这样你只需要调用 API 个。

当post输入订单时,您post的JSON正文中必须包含这些行:

{
    // order properties here
    "orderLines": [
        // any number of line objects here
    ]
}

如果您想在响应中查看添加的行,您可以将 $expand=orderLines 添加到 URL 参数。

如果 orderLines 不起作用,您应该尝试 salesOrderLines

我破解了,好吧,我发现了我的错误。我误解了 公共端点服务 OData 服务 之间的区别,后者可以通过 Business Central 中的 Web 服务页面进行定制。我用错了 API URL.