在插件注册工具(PRT)中使用设计器创建自定义 API。 本文介绍如何定义自定义 API、添加请求参数和响应属性,以及查看、更新或删除它们。 PRT 是一个 Windows 客户端应用程序,它是可从 NuGet 下载的开发人员工具的一部分。 有关下载这些工具的信息,请参阅 Dataverse 开发工具。
使用插件注册工具进行连接
通过执行 PAC CLI
pac tool prt命令打开插件注册工具。选择“ +创建新连接 ”以连接到 Dataverse 环境。
确保选中 Office 365 。
如果要使用当前使用的帐户以外的Microsoft帐户进行连接,请选择“ 显示高级 ”并输入凭据。 否则,保持选择作为当前用户登录。
注释
如果用户帐户采用多重身份验证(MFA),请确保未选中 “显示高级 ”复选框。
如果Microsoft帐户提供对多个环境的访问权限,请选择 “显示可用组织”列表。
选择登录。
如果选择 了可用组织的显示列表,请选择要连接到的组织,然后选择 “登录”。
连接后,你将看到任何现有的已注册插件、自定义工作流活动和数据提供程序。
创建自定义 API
在 “注册 ”菜单中,选择 “注册新的自定义 API ”命令。 此操作将打开窗体以创建自定义 API。
使用下表创建自定义 API。 有关详细信息,请参阅 自定义 API 表列。
重要
保存自定义 API 后,无法更改某些选项。 确保了解无法更改的每个设置的目的。 如果以后需要更改此设置,则必须删除并重新创建自定义 API。 此操作还会删除与其关联的任何请求参数或响应属性。
| 标签 | 说明 | 可以更改 |
|---|---|---|
| 显示名称 | 可本地化的名称。 | Yes |
| 姓名 | 友好且不可本地化的名称。 | Yes |
| 解决方案 | 创建新解决方案或选择现有解决方案。 设置此值可设置 “唯一名称” 字段的相应自定义前缀。 | Yes |
| 唯一名称 | 自定义 API 的名称。 此值应仅包含字母数字字符,且不包含空格。 全名包括通过选择解决方案确定的自定义前缀。 |
否 |
| 说明 | 可本地化的描述。 在消息公开供应用调用时使用。 例如,作为 工具提示。 | Yes |
| 装配 | 可选。 选择一个程序集,其中包含定义该自定义 API 的功能的插件类型。 | Yes |
| 插件 | 可选。 在所选程序集中选择插件类型。 稍后可以设置此值。 | Yes |
| 允许的自定义处理步骤类型 | 您允许哪些类型的处理步骤? 详细信息: 选择自定义处理步骤类型 | 否 |
| 绑定类型 | 实体绑定的类型。 详细信息: 选择绑定类型 | 否 |
| 绑定实体逻辑名称 | 如果在绑定类型中选择实体或实体集合,请输入表示该类型的表的逻辑名称。 | 否 |
| 执行权限名称 | 控制某人是否可以使用该 API 的权限的名称。 此名称必须是 Privilege 表中的有效 Name 值。 详细信息: 通过要求特权来保护自定义 API | Yes |
| 职能 | 是否创建函数。 详细信息: 何时创建函数 | 否 |
| 专用 | 自定义 API 是否应为专用 API。 详细信息: 何时将自定义 API 设为专用 | Yes |
注释
- PRT 自定义 API 设计器不会公开 Enabled For Workflow (
WorkflowSdkStepEnabled) 属性。 如果要创建适用于工作流的自定义 API,请使用其他方法。 - PRT 自定义 API 设计器不公开 Is 可自定义 托管属性。 可以在Power Apps中设置此属性。 有关详细信息,请参阅 自定义 API 定制。
可以继续添加 请求参数 和 响应属性,或保存自定义 API,并在以后添加它们。
创建自定义 API 请求参数
自定义 API 不需要请求参数。 创建或编辑自定义 API 时,可以通过选择 “+ 添加请求参数”来添加请求参数。 此选项将打开 “参数” 表单。
使用下表创建请求参数。 有关详细信息,请参阅 CustomAPIRequestParameter 表列。
| 标签 | 说明 | 可以更改 |
|---|---|---|
| 显示名称 | 可本地化的显示名称。 | Yes |
| 姓名 | 自定义 API 请求参数的主要名称。 使用此命名约定将此参数与共享公用 唯一名称的其他参数区分开来: {Custom API Unique Name}.{Parameter UniqueName} |
Yes |
| 唯一名称 | 调用自定义 API 时参数的名称。 | 否 |
| 类型 | 选择参数的类型。 布尔 日期时间 Decimal 实体 实体集合 EntityReference 漂浮 Integer 金钱 选择列表 字符串 StringArray (字符串数组) GUID |
否 |
| 逻辑实体名称 | 选择 Entity、 EntityCollection 或 EntityReference 作为 类型时,请指定表。 | 否 |
| 说明 | 可本地化的描述。 | Yes |
| 可选 | 调用方是否必须为参数提供值。 | 否 |
创建自定义 API 响应属性
操作的自定义 API 不需要任何响应属性。 创建自定义 API 或编辑现有 API 时,可以通过选择“+ 添加响应参数”来创建新的响应属性。 此选项将打开 “参数” 表单。
使用下表创建响应属性。 有关详细信息,请参阅 CustomAPIResponseProperty 表列。
| 标签 | 说明 | 可以更改 |
|---|---|---|
| 显示名称 | 可本地化的显示名称。 | Yes |
| 姓名 | 自定义 API 响应属性的主名称。 使用此命名约定将此参数与共享公用唯一名称的其他参数区分开来: {Custom API Unique Name}.{Property UniqueName} |
Yes |
| 唯一名称 | 此名称是在调用自定义 API 时返回的属性。 | 否 |
| 类型 | 选择属性的类型。 布尔 日期时间 Decimal 实体 实体集合 EntityReference 漂浮 Integer 金钱 选择列表 字符串 StringArray (字符串数组) GUID |
否 |
| 逻辑实体名称 | 选择 Entity 或 EntityReference 作为 “类型” 时,请指定表。 选择实体集合作为类型时,不能指定逻辑实体名称。 | 否 |
| 说明 | 可本地化的描述。 | Yes |
查看自定义 API 列表
若要查看自定义 API 的列表,请从“视图”菜单中选择“按消息显示”命令。
作为自定义 API 创建的任何消息都以 (自定义 API) 为前缀。
删除自定义 API
查看自定义 API 列表时,请选择要取消注册的 API,然后选择“取消注册”。
或者,右键单击该项,然后从上下文菜单中选择“取消注册”。
更新自定义 API 请求参数或响应属性
在 请求参数 或 响应属性列表中,选择要编辑的列:
删除自定义 API 请求参数或响应属性
在 请求参数 或 响应属性列表中,选择要删除的列:
后续步骤
如果未为自定义 API 设置 IsPrivate 属性,可以在创建自定义 API 后检索服务定义。 使用 GET 请求获取 CSDL $metadata 文档,即使在浏览器中也是如此。 如果环境的 URL 为https://yourorg.crm.dynamics.com,请在浏览器地址字段中键入此 URL 以检索$metadata: https://yourorg.crm.dynamics.com/api/data/v9.1/$metadata
搜索结果以查找自定义 API 的名称。 你会发现,为表示返回值而一同创建了操作或函数以及任何相关的 ComplexType。 例如:
<ComplexType Name="sample_CustomAPIExampleResponse">
<Property Name="StringProperty"
Type="Edm.String"
Unicode="false"/>
</ComplexType>
<Action Name="sample_CustomAPIExample">
<Parameter Name="StringParameter"
Type="Edm.String"
Nullable="false"
Unicode="false"/>
<ReturnType Type="mscrm.sample_CustomAPIExampleResponse"
Nullable="false"/>
</Action>
即使未为自定义 API 设置 插件 ,也可以测试它以验证签名。 响应属性返回其默认值,因为没有插件设置这些值。 有关详细信息,请参阅 调用自定义 API。
如果添加插件,则必须编写该插件并注册程序集。 然后更新自定义 API 以设置 程序集 和 插件 ,以指定要在响应自定义 API 时运行的代码。 有关详细信息,请参阅 为自定义 API 编写插件。
另请参阅
创建和使用自定义 API
在 Power Apps 中创建自定义 API
使用代码创建自定义 API
使用解决方案文件创建自定义 API
创建自己的邮件
自定义 API 表列