REST API



 

关于 REST API

 

application 编程接口(API)用于集成各种application,并促进它们之间的数据共享。集成可通过任何能够通过 HTTP 协议发送数据的第三方(外部)application或 Web 服务来实现。

借助 API,可以从其他application或 Web 服务访问 ServiceDesk Plus 的操作。对于请求操作,它提供了一种便捷的方法,可将请求(除默认的电子邮件或 Web 表单之外)直接提交到 ServiceDesk Plus,而无需登录到该application。如果需要,您还可以选择创建自己的 Web 表单来使用 API。 

REST API 的用途可以通过一个场景来说明。

 

场景:

假设您的网络中安装了一个网络监控工具(外部application)。通常,当网络监控工具发出警报时,会通过电子邮件通知的方式将工单发送到 ServiceDesk Plus application中。字段值(优先级、级别、影响、类别等)需要技术人员在 ServiceDesk Plus 中手动填写。这种机制比较耗时,最终会导致您的服务台生产力下降。

使用 REST API,您可以自动化这一工单流程。当警报被触发时,网络监控工具会提供字段详细信息,并通过 HTTP 协议在 ServiceDesk Plus 中自动创建工单。随后,工单 ID 会返回给网络监控工具,以便对该请求执行进一步操作。

当警报原因被解决后,ServiceDesk Plus 将调用由监控工具提供的 URL(回调 URL)。该 URL 充当通知外部application的机制,表明工单已解决。如果未提供此 URL(回调 URL),ServiceDesk Plus 将不会对工单执行任何附加操作。当 ServiceDesk Plus 调用回调 URL 时,网络监控工具可以根据该 URL 的调用执行“任何”内部操作。不过,通常期望该application在其端清除警报(即作为工单提出的警报)。

 

注意:请注意,回调 URL 仅适用于创建和编辑请求时。

 

通过 REST API 执行的操作基于“operation”参数,并通过 HTTP POST 方法发送到 URL。URL 格式如下所示,

http://<servername>:<port number>/api/v3/<module>

 

对 ServiceDesk Plus application的身份验证基于密钥,也就是说,每次操作都会随 URL 一起发送一个 API 密钥。该密钥基于技术人员生成,并且可为具有登录权限的技术人员生成。分配给技术人员的角色也会被纳入考虑,因此该密钥仅对分配给该技术人员的角色有效。密钥生成后,需要手动传输到已集成的application中,以便该application可在后续 API 操作中使用该密钥。如果密钥无效(密钥已过期或技术人员登录被禁用),操作将失败,并会向已集成的application返回错误。

 

 注意

1. 请注意,只有管理员才有权限为具有登录权限的技术人员生成身份验证密钥。

2. 如果技术人员的登录被禁用,则 API 密钥将被删除。

3. 可执行的操作取决于为技术人员分配的角色。

 

 

生成 API 密钥

ServiceDesk Plus 与已集成application之间的身份验证通过 API 密钥进行。在 ServiceDesk Plus application中,会为具有登录权限的技术人员生成一个唯一密钥。

  1. 转到“用户配置文件”,然后选择 生成 Authtoken

  2. 在弹出窗口中,选择“永不过期”选项,然后单击 生成
  3. 如果您希望为 Authtoken 设置过期日期,可以使用日历图标 选择密钥的过期时间范围,或者保留同一个密钥永久使用。如果该技术人员已经生成过密钥,则会显示“重新生成”链接。

                     

上图中的密钥是为现有技术人员生成的。已为该密钥选择了一个时间范围,因此会显示该密钥的到期日期、月份、年份以及具体时间(小时和分钟)。

 

REST API 支持的操作

REST API 支持以下操作,可分为:

  • 请求相关操作:添加新请求、领取请求、分配请求、获取请求、获取会话、添加附件、获取请求通知,以及添加/编辑/获取解决方案。
  • 特定请求相关操作:
    • 编辑、关闭、删除和查看现有请求。
    • 为请求添加新备注,以及编辑、删除和查看现有备注。
    • 为请求添加工作日志,以及编辑、删除和查看现有工作日志。
    • 获取与请求相关的会话
    • 为请求添加附件
    • 添加、编辑和获取请求的解决方案。
    • 领取 / 分配请求。
    • 回复请求
    • 获取与请求相关的通知
  • 技术人员相关操作:导入技术人员配置文件(所有技术人员)并为其分配操作。
  • 请求者相关操作:导入请求者配置文件(所有请求者)并处理其请求。
  • 管理员相关操作:导入特定类别/所有类别、特定子类别/所有子类别、特定项目/所有项目、特定状态/所有状态、特定级别/所有级别、特定模式/所有模式、特定紧急程度(所有紧急程度)、特定优先级/所有优先级、特定请求模板/所有请求模板,以及所有支持组

Servlet API 已不再受支持。