You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Dynamics 365 Web API为Webhook注册SdkMessageProcessingStep

解决Dynamics Web API注册SdkMessageProcessingStep关联ServiceEndpoint的问题

我来帮你搞定这个问题——你已经成功创建了ServiceEndpoint,但在关联SdkMessageProcessingStep时踩了Web API实体绑定的坑,这是很常见的误区,我给你梳理正确的做法:

核心问题:实体关联的正确语法

Dynamics Web API中,关联单值导航属性(比如EventHandler关联serviceendpoint、SdkMessage关联sdkmessages实体)必须使用@odata.bind注解,而不是你之前尝试的直接传ID或@id字段。这就是你收到“不支持非开放类型中的无类型值”错误的原因。

正确的SdkMessageProcessingStep创建请求

请求URL

POST [Your CRM URL]/api/data/v9.0/sdkmessageprocessingsteps

请求Headers

确保包含这些必要的头信息:

Content-Type: application/json
OData-MaxVersion: 4.0
OData-Version: 4.0
Authorization: Bearer [Your Access Token]

正确的请求体

把你之前的参数改成@odata.bind的绑定格式,示例如下:

{
    "name": "Test for Step Creation",
    "stage": 40,
    "rank": 1,
    "EventHandler@odata.bind": "/serviceendpoints(04e08d50-e63b-eb11-a813-000d3a0a7552)",
    "SdkMessage@odata.bind": "/sdkmessages(9ebdbb1b-ea3e-db11-86a7-000a3a5473e8)",
    "SdkMessageFilter@odata.bind": "/sdkmessagefilters(c2c5bb1b-ea3e-db11-86a7-000a3a5473e8)",
    "supporteddeployment": 0,
    "description": "TEST FOR STEP CREATION #1"
}

关键细节说明

  1. @odata.bind格式:每个关联属性的格式是[导航属性名]@odata.bind,值为目标实体的相对URL(包含实体集名称和ID)。比如EventHandler对应serviceendpoints实体集,所以绑定路径是/serviceendpoints(你的ServiceEndpoint ID)。
  2. 验证ID正确性:
    • SdkMessage的ID9ebdbb1b-ea3e-db11-86a7-000a3a5473e8是标准的Create消息ID,没问题;
    • SdkMessageFilter的IDc2c5bb1b-ea3e-db11-86a7-000a3a5473e8对应联系人实体的Create消息过滤,如果你要绑定账户实体的Create/Update,需要替换成对应的SdkMessageFilter ID(可以通过Web API查询sdkmessagefilters实体获取)。
  3. Stage参数:你用的40是PostOperation阶段,如果需要在记录创建/更新前触发(比如数据校验),可以改成20(PreOperation)。

为什么之前的方式失败?

  • 直接传eventhandlerid等字段:Web API中,导航属性对应的ID字段是只读的,不能直接赋值,必须通过@odata.bind来关联实体。
  • 使用@id字段:这个语法不是Dynamics Web API支持的关联方式,只有@odata.bind才是官方认可的单值实体绑定方法。

按照这个格式发送请求,就能成功创建关联到ServiceEndpoint的SdkMessageProcessingStep了。

内容的提问来源于stack exchange,提问作者fdrz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.11 08:02:08