提问人:Mathee 提问时间:11/15/2023 最后编辑:Arun Vinoth-Precog Tech - MVPMathee 更新时间:11/15/2023 访问量:58
从 Microsoft Dynamics 365 CRM 在线调用外部 API
Call external API from Microsoft Dynamics 365 CRM online
问:
我想在 CRM 帐户和联系人上调用地址验证 API(绿色 ID)。 在两个触发点中,有两种 API POST 方法可以调用, 1 - 当标志字段(准备验证)更改为 true 时,需要调用 Basic_Verification() 2 - 当用户手动单击窗体上的功能区按钮时,需要调用 Specific_Addr_Verification() (PowerApps 窗体命令)
这是一个 SOAP API,在调用 API POST 方法时,我必须使用客户/联系人记录详细信息构建 SOAP 消息正文。
我不确定开发此功能的理想方式是什么。我正在考虑的选项如下:
- 创建自定义 API 和 MS Flow (Power Automate) 以调用 API。然后使用操作、power fx row update 或通过 javascript 触发流。请针对上述两种情况分别提出最佳方法。
- 在 Power Automate 中创建 HTTP 请求,并在行更新时触发该请求
- 在按钮单击和表单字段更新事件时使用 javascript 函数 (webresource) 直接调用 API
- 自定义插件触发事件,c#代码发送web请求
否则,请为此方案提出任何其他合适的实现方法。
答:
1赞
Arun Vinoth-Precog Tech - MVP
11/15/2023
#1
解决方案没有对错之分。根据您的要求/可重用性需求,所有这些都是合适的可行选项 - 建议采用一种或另一种方法。
我将解释我们最近做了什么,我们有一些企业级 Mulesoft API,我们围绕该 API 开发了自定义连接器。因此,现在所有 CRM 开发团队都可以根据自己的需求在其流中使用该连接器。即使需要,也可以从 JS Web 资源调用 Flow。
基本上,这是每个级别的标准最佳实践,因此以后可以合理化。会有一些意见,这是矫枉过正。
1赞
Andrew Butenko
11/15/2023
#2
我多次构建了类似的功能,以下架构对我来说总是很好:
- 使用接受地址的输入和返回验证结果的输出创建操作/自定义 API。
- 开发基于提供的输入执行验证的插件,并将其绑定到您在上一步中创建的操作/自定义 API。
- 创建一个 JavaScript,用于处理从按钮调用新操作/自定义 API 的地址字段/按需调用的更改,并使用结果。
将 Web 服务调用放入 Action 的一件很酷的事情是可重用性 - 可以在任何需要的地方使用相同的机制 - 从 JS 代码、其他插件/工作流,最后从外部应用/集成,很好的例子是 Power Automate Flow。
评论
0赞
Mathee
11/16/2023
嗨,安德鲁,非常感谢您的回答。澄清一下,用这种方法编写的实际 API 请求在哪里?它是否作为 HTTP 请求在插件代码中?这是否意味着SOAP请求的创建是通过插入输入参数作为字符串连接工作完成的?是否有更好的方法来使用 MS Flow 或 Power Automate 创建 SOAP 请求?
0赞
Andrew Butenko
11/16/2023
此方法中对外部 API 的调用将驻留在 Action/Custom API 后面的插件中。
评论