从 Web API 调用 Power Automate 操作

已完成

Dataverse 包含一项功能,使高级用户可以创建一组自己的自定义业务逻辑,称为操作。 从开发人员的角度来看,可将操作 定义为“可重用操作,可能有明显的副作用”。这些副作用包括创建或更新行。

Dataverse 有一些预先构建的操作,开发人员可以使用 Dataverse 的自定义 API 功能创建自定义操作。

操作的一个特性是,能够通过 Dataverse Web API 调用它们。 因此,您可以封装低代码自动化,与它们相关联的 Web API 请求和响应进行交互,在几乎任何场景中使用它们。

本课程假定您已经基本了解如何创建操作,因此不再赘述。 如果您需要有关如何创建操作的更多信息,可以查看相关操作的文档。 请参阅创建自定义 API 一节,了解有关如何构建 Dataverse 操作的详细信息。

使用 Web API 运行操作

当在 Dataverse 环境中创建新操作时,框架还会创建相应的 Web API 请求消息。 您可以使用类似于以下示例的 POST 操作来运行这些请求:

POST [Organization URI]/api/data/v9.2/WinOpportunity HTTP/1.1
Accept: application/json
Content-Type: application/json; charset=utf-8
OData-MaxVersion: 4.0
OData-Version: 4.0

{
 "Status": 3,
 "OpportunityClose": {
  "subject": "Won Opportunity",
  "opportunityid@odata.bind": "[Organization URI]/api/data/v9.2/opportunities(b3828ac8-917a-e511-80d2-00155d2a68d2)"
 }
}

以上示例是对 opportunityid 值为 b3828ac8-917a-e511-80d2-00155d2a68d2 的商机的 WinOpportunity 操作的 HTTP 请求调用。

调用预构建的 Dataverse 操作

Dataverse 附带一组现有操作,可用于执行常见的操作。 其中一些操作可能仅适用于模型驱动应用或 Dynamics 365 应用。 例如,CalculatePrice 操作会计算商机/报价单/订单/发票中的价格,因此它仅适用于存在该功能的 Dynamics 365 Sales 应用。

有关哪些预构建操作可通过 Web API 使用的更多信息,请参见 Web API 操作参考

未绑定与绑定操作

可以构建未绑定操作,这意味着它没有关联的 Dataverse 表。 也可以构建绑定操作,这意味着逻辑已绑定到特定表行。 SQL 开发人员可将这些操作视为类似于存储过程(未绑定操作)与触发器(绑定操作)。 但是,与 SQL 触发器不同,您还可以通过提供相应的表行 ID 作为其参数来按需运行绑定操作。

未绑定操作对于可能需要在特定表行的上下文之外运行的一般逻辑有益,例如前面提到的 WinOpportunity 操作。 要对特定行运行绑定操作,必须在请求的 URI 中提供该行的 ID:

POST [Organization URI]/api/data/v9.2/contacts(94d8c461-a27a-e511-80d2-00155d2a68d2)/Microsoft.Dynamics.CRM.contoso_AddNoteToContact HTTP/1.1
Accept: application/json
Content-Type: application/json; charset=utf-8
OData-MaxVersion: 4.0
OData-Version: 4.0

{
 "NoteTitle": "New Note Title",
 "NoteText": "This is the text of the note"
}

在前面的示例中,为 ID 为 94d8c461-a27a-e511-80d2-00155d2a68d2 的联系人调用了一个自定义操作,该操作以前在名为 contoso_AddNoteToContact 的解决方案中构建,然后将参数 NoteTitle 和 NoteText 传递给该操作。 该过程的预期行为将是向相应的联系人添加新的备注,并提供标题和文本。

更多详细信息

有关如何在代码中调用操作的更多信息,请参阅使用 Web API 操作