如何调用服务端API
开发前须知
- 在调用服务端 API 之前,需要先创建应用,才可以获取权限和凭证。了解应用类型和开发流程。
- 在调用服务端 API 之前,确保已设置 API 所需要的权限。权限可在
开发者后台-权限申请处申请。 - 在调用服务端 API 之前,确保已获取 API 所需要的凭证(token),并加入到请求中。凭证获取流程可见API凭证。
- 在调用服务端 API 之前,请在
开发者后台-安全设置设置IP白名单(服务端接口限制了指定IP的请求才可调用)。 - API调用时,需要通过WPS-4算法进行签名鉴权,了解签名说明。
- 了解常用术语概念定义将有助于你正确调用接口,了解概念说明。
- API调用报错时将返回错误状态码,不同状态码含义不同。状态码含义可见状态码说明。
- 应用也可通过订阅协作提供的事件,获取应用消息通知,了解事件订阅。
API文档约定格式
json
请求:
请求说明 //接口调用地址、方式、签名、支持调用的应用类型、所需权限
请求头 //HTTP请求中的header参数,要求使用WPS-4签名
路径参数 //这部分参数需要放置在URL中,文档中一般以:开头
查询参数 //这部分参数需要在URL后使用?进行拼接,多个查询参数间用 & 分隔
请求地址示例 //一般以{请求方式}+{请求地址}+{路径参数}+{查询参数}形式呈现
请求体 //这部分参数需要放置在body中,一般为json格式
请求体示例 //对应API成功请求参数的样例
响应:
响应体 //一次API调用后,HTTP响应中body部分的内容
响应体示例 //API成功请求结果的样例API调用流程
1. 申请API调用所需权限
登录开发者后台,选择进入具体应用,在权限申请模块添加所需权限,并申请权限开通:
- 企业自建应用:添加申请权限后,页面提示敏感项修改,可提交审核到本企业管理后台,由超管审核开通并授权。
目前协作需要申请的权限如下表所示:
| scope | 权限名称 | 说明 |
|---|---|---|
| kso.contacts.read | 通讯录查询 | 以管理员身份读取通讯录 |
| kso.im.message.send | 发送消息 | 以应用身份发送协作消息 |
| kso.im.websocket.write | 使用websocket推送 | 以应用身份使用协作websocket能力 |
| kso.im.chat.manage | 管理会话及会话成员信息 | 以应用身份管理协作单聊、群聊会话及其成员信息 |
| kso.im.chat.read | 查询会话及会话成员信息 | 以应用身份查询协作单聊、群聊会话及其成员信息 |
| kso.app.manage | 管理应用 | 查询和管理应用及应用在企业内的使用信息 |
| kso.im.file.manage | 管理协作文件 | 管理协作内的文件资源 |
| kso.im.jsapi.authorized | 授权协作JSAPI | 使用协作JSAPI |
| kso.im.user2bot.notification | 获取用户发给机器人的单聊消息 | 以应用身份接收单聊中用户向机器人发送的消息 |
| kso.im.chat2bot.notification | 获取用户在群聊中@机器人的群聊消息 | 以应用身份接收群聊中用户@机器人的消息 |
| kso.im.chat.read.notification | 订阅群组变更通知 | 接收群组设置、成员数据变更的订阅通知 |
| kso.task.read | 查询待办信息 | 查询用户的待办信息 |
| kso.task.write | 更新待办信息 | 查询和更新用户的待办信息 |
| kso.task.category.write | 更新待办分类 | 查询和更新待办的分类 |
| kso.calendar.event.write | 更新日程信息 | 查询和更新用户的日程信息 |
| kso.calendar.event.read | 查询日程信息 | 查询用户的日程信息 |
| kso.workflow.template.write | 更新审批模版信息 | 查询和更新审批模版及模版组信息 |
| kso.workflow.template.read | 查询审批模版信息 | 查询审批模版及模版组信息 |
| kso.workflow.approval.write | 更新审批单信息 | 查询和更新审批单信息 |
| kso.workflow.approval.read | 查询审批单信息 | 查询审批单信息 |
| kso.announce_role.readwrite | 查询和管理公告角色 | 允许应用创建、修改和查询公告的角色信息 |
| kso.attendance_punch.read | 查询打卡记录信息 | 允许应用查询用户打卡信息 |
| kso.attendance_approval_record.write | 管理假勤审批记录 | 查询和修改假勤审批记录 |
2. 获取API调用所需凭证
接口访问凭证分为用户授权凭证、应用授权凭证、企业授权凭证。具体获取流程请参考使用方接入流程。