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