我正在将Dynamics 365与我们的产品集成在一起,使用Web API在Dynamics 365上创建字段时遇到问题。
我正在使用一组字段(例如电子邮件,姓名等)来创建联系人或销售线索。某些字段似乎具有验证性,例如仅数字字段或选择列表。在这些情况下,我收到状态为400的错误,并且未创建记录。有没有一种方法可以仅使用有效字段创建记录,而无需更新未通过验证的字段。
这是我用来创建联系人的终点:
/api/data/v9.1/contacts
使用的标题:
Prefer:return=representation
Content-Type:application/json
OData-MaxVersion:4.0
OData-Version:4.0
If-None-Match:null
答案 0 :(得分:0)
您有两个选择:
当用户从Dynamics外部为这些字段输入值时,请执行正确的验证。
或在Dynamics联系人实体中创建自定义字段以存储字符串类型值
Web api有效负载必须完整,并且不能针对诸如跳过失败的数据类型(您的要求)之类的特殊情况而被截断/设置。
答案 1 :(得分:0)
希望这会有所帮助。无论您要集成哪种软件或环境,都必须了解数据结构,包括数据类型,数据验证(包括必需的是/否)和数据约束(长度,小数位等),这一点很重要。
以上提供了三种与Dynamics 365因子集成的方法。
1。基于Dynamics 365配置的静态代码
如果您可以登录到Dynamics 365,则可以通过转到“设置”>“自定义”>“自定义系统”来查看环境定义。
从这里,您可以查看所有实体和属性定义,并相应地编写代码。您还可以“要求”安装具有实体和属性的自己的解决方案,从而使您可以控制与之集成的内容。
2。创建早期绑定的课程
您可以使用CrmSvcUtil工具从Dynamics 365中使用Entity和Attribute定义生成Early Bound类。有关更多信息。
3。 Dynamics 365元数据服务
Dynamics 365提供元数据服务,使您可以直接从给定的Dynamics 365环境中检索Alle实体和属性的确切定义。这样,您可以在集成之前检索定义。
我认为考虑到性能,这绝对不是您希望每条消息都执行的操作。要解决此问题,您可以按要求(手动触发)或每天检索定义。
有关更多信息:https://docs.microsoft.com/en-us/dynamics365/customer-engagement/customize/create-edit-metadata
使用Dynamics 365时,XRMToolBox是任何开发人员或顾问必不可少的工具。使用工具Metadata Browser插件,您可以查看元数据服务可以检索的数据。