Microsoft Dynamics - Web API

时间:2017-03-06 16:51:24

标签: dynamics-crm microsoft-dynamics dynamics-crm-online dynamics-crm-2016 microsoft-dynamics-webapi

我正试图创建一个新的"事件" (案例)由Dynamics 365实例通过Web API。

在我的http请求中,我不知道哪个字段是强制性的。我试图只添加标题,主题和客户,但我有一个Http 400错误回来......

我使用Postman尝试我的Http请求。如果我发送以下json

{
    "title": "Case created from Web api",
    "_customerid_value": "bb2b6a80-7102-e711-8101-3993bb354ff0"
}

但我遇到了错误:" CRM不支持直接更新实体参考属性,而是使用导航属性。"

所以我尝试使用@ data.bind技巧(https://msdn.microsoft.com/en-us/library/gg328090.aspx#Anchor_3

{
    "title": "Case created from Web api",
    "customerid@odata.bind": "/contacts(bb2b6a80-7102-e711-8101-3993bb354ff0)"
}

我收到以下错误:"未声明的属性' customerid'它只在有效负载中有属性注释,但在有效负载中没有找到属性值。在OData中,只有声明的导航属性和声明的命名流可以表示为没有值的属性。"

所以现在我真的不知道如何去做。我们可以通过Web API创建事件(在我的情况下是"服务案例")吗?

谢谢

1 个答案:

答案 0 :(得分:3)

找到解决方案。只需要将" _contact" 添加到@odata实例。

{
    "title": "Case created from Web api",
    "customerid_contact@odata.bind": "/contacts(bb2b6a80-7102-e711-8101-3993bb354ff0)"
}