首页 > 解决方案 > 获取销售订单详细信息 Dynamics web Microsoft 365

问题描述

我需要将 api 从 Java web 调用到 Microsoft 的 Dynamics 365 online web。我可以获得访问令牌。但我不知道如何调用 api 来获取销售订单详细信息。

我阅读了 Microsoft 的文档,但不知道该怎么做。

https://docs.microsoft.com/en-us/dynamics365/customer-engagement/web-api/salesorderdetail?view=dynamics-ce-odata-9

标签: dynamics-crmdynamics-crm-webapi

解决方案


要获得特定的 Web api 端点salesorderdetail将如下所示:(具有相应的 GUID)

https://crmdev.crm.dynamics.com/api/data/v9.1/salesorderdetails(00000000-0000-0000-0000-000000000000)

要获取所有salesorderdetail记录:

https://crmdev.crm.dynamics.com/api/data/v9.1/salesorderdetails

要获取salesorderdetail特定的所有记录salesorder

https://crmdev.crm.dynamics.com/api/data/v9.1/salesorderdetails?$filter=_salesorderid_value eq 00000000-0000-0000-0000-000000000000

完整的代码片段如下:(XMLHttpRequest在 JS 中使用)

var req = new XMLHttpRequest();
req.open("GET", "https://crmdev.crm.dynamics.com/api/data/v9.1/salesorderdetails?$filter=_salesorderid_value eq 00000000-0000-0000-0000-000000000000", true);
req.setRequestHeader("OData-MaxVersion", "4.0");
req.setRequestHeader("OData-Version", "4.0");
req.setRequestHeader("Accept", "application/json");
req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
req.setRequestHeader("Prefer", "odata.include-annotations=\"*\"");
req.onreadystatechange = function() {
    if (this.readyState === 4) {
        req.onreadystatechange = null;
        if (this.status === 200) {
            var results = JSON.parse(this.response);
            for (var i = 0; i < results.value.length; i++) {
                var salesorderdetailid = results.value[i]["salesorderdetailid"];
            }
        } else {
            Xrm.Utility.alertDialog(this.statusText);
        }
    }
};
req.send();

推荐阅读