认证接口
搭贝认证用户信息
场景
用户服务可通过本接口
接口地址
/oauth2/users/user_info
请求方式
GET
请求参数
参数名 | 类型 | 必填 | 说明 |
client_id | string | 是 | 客户端身份标识,由搭贝提供 |
client_secret | string | 是 | 客户端密钥,由搭贝提供 |
grant_type | string | 是 | 固定值 authorization_code |
code | string | 是 | oauth的code,根据code获取token |
响应参数
参数名 | 类型 | 说明 |
id | string | 用户id |
departmentId | string | 主部门 |
departmentIds | array->string | 兼职部门 |
name | string | 用户姓名 |
username | string | 用户姓名 |
phone | string | 手机号,注意:只有用户配置此值有效,主要用于私有化部署 |
样例:
{
"errcode": 0,
"errmsg": "success",
"data": {
"departmentId": "3f9366618cb843c287b3290ec3b8e2a1",
"departmentIds": [
"3f9366618cb843c287b3290ec3b8e2a1"
],
"id": "46e9258b7205453697e381c9b4b5477c",
"phone": "18912341234",
"username": "user001",
"name": "李易峰"
},
"success": true
}
自有认证中心接口
此模式下,以用户自有认证中心为主,搭贝提供接口以实现sso对接。 注意:使用此模式,phone和username必有值
获取搭贝authority_code
场景
三方自有认证中心通过本接口向搭贝发起请求获取搭贝为某个用户分配的授权code,获取该code后可以带着code redirect至搭贝原页面,搭贝前后端将根据本code自动实现认证,也可以通过该code通过服务端获取用户信息
接口地址
/oauth2/authority_code
请求方式
GET
请求参数
参数名 | 类型 | 必填 | 说明 |
client_id | string | 是 | 客户端身份标识,由搭贝提供 |
client_secret | string | 是 | 客户端密钥,由搭贝提供 |
username | string | 选择性必填 | 与phone二选一,优先本选项 |
phone | string | 选择性必填 | 与username二选一,优先按username获取 |
响应参数
参数名 | 类型 | 说明 |
code | string | 授权code,此code与搭贝oauth2 code完全相同,可以: |
1.在浏览器跳转至搭贝应用的url拼接code=$authority_code以实现页前端用户免登录。 | ||
2.服务端可以根据本code获取搭贝的用户信息以实现自定义业务扩展 |
样例:
{
"errcode": 0,
"errmsg": "success",
"data": {
"code":"cc58f62261ed4a5099bcea41d6fdcbaa"
},
"success": true
}
开放应用
1、查询当前租户下的应用
接口地址:/apps 请求方式:GET
请求参数
参数 | 类型 | 必输 | 说明 |
name | string | 否 | 名称 |
响应参数
参数 | 类型 | 说明 |
name | string | 名称 |
id | string | 应用id |
样例:
{
"errcode": 0,
"errmsg": "success",
"data": [
{
"id": "684ad97c537b47df824a8b602411b2d2",
"name": "应用"
},
{
"id": "5f2fda02ea674ee0a5143b87b81af5e2",
"name": "我的应用"
}
]
}
2、查询应用下的表单
接口地址:apps/{app_id}/forms 请求方式:GET
请求参数
参数 | 类型 | 必输 | 说明 |
name | string | 否 | 名称 |
page_no | int | 否 | 页号(默认1) |
page_size | int | 否 | 查询的数据条数 |
app_id | string | 是 | 应用id |
响应参数
参数 | 类型 | 说明 |
name | string | 名称 |
id | string | id |
样例:
{
"errcode": 0,
"errmsg": "success",
"data": [
{
"id": "684ad97c537b47df824a8b602411b2d2",
"name": "流程表单"
},
{
"id": "5f2fda02ea674ee0a5143b87b81af5e2",
"name": "普通表单"
}
]
}
3、查询表单字段
接口地址:/apps/{app_id}/forms/{form_id}/fields 请求方式:GET
请求参数
参数 | 类型 | 必输 | 说明 |
form_id | string | 是 | 表单id |
app_id | string | 是 | 应用id |
响应参数
参数 | 类型 | 说明 |
name | string | 名称 |
fieldId | string | 字段id |
样例:
{
"errcode": 0,
"errmsg": "success",
"data": [
{
"fieldId": "684ad97c537b47df824a8b602411b2d2",
"name": "单行文本"
},
{
"fieldId": "5f2fda02ea674ee0a5143b87b81af5e2",
"name": "数字"
}
]
}
4、新增数据
接口地址:/apps/{app_id}/forms/{form_id}/record_create 请求方式:POST
请求参数
参数 | 类型 | 必输 | 协议 | 说明 |
form_id | string | 是 | path variable | 表单id |
app_id | string | 是 | path variable | 应用id |
start_flow | bool | 否 | paramerter | 是否发起流程 |
flow_code | string | 可选性必填 | paramerter | 当start_flow为true,该值必填 |
请求体参
参数 | 说明 | 必输 | 类型 |
user_id | 用户id | 是 | string |
样例:
{
"form_id":"684ad97c537b47df824a8b602411b2d2",
"app_id": "5f2fda02ea674ee0a5143b87b81af5e2",
"user_id": "5f2fda02ea674ee0a5143b87b81af5e2",
"其他表单字段":"对应"
}
5.1、修改数据
接口地址:/apps/{app_id}/forms/{form_id}/record_update 请求方式:POST
请求参数
参数 | 类型 | 必输 | 说明 |
form_id | string | 是 | 表单id |
app_id | string | 是 | 应用id |
user_id | string | 是 | 用户id |
record_id | string | 是 | 记录id(查询列表里返回值的id) |
样例:
{
"form_id":"684ad97c537b47df824a8b602411b2d2",
"app_id": "5f2fda02ea674ee0a5143b87b81af5e2",
"user_id":"5f2fda02ea674ee0a5143b87b81af5e2",
"record_id":"fdfdfda02ea674ee0a5143b87b81af5e2",
"其他表单字段":"对应"
}
}
5.2、流程提交
接口地址:/apps/{app_id}/forms/{form_id}/records/{record_id}/tasks/{task_id}/submit 请求方式:POST
请求参数
参数 | 类型 | 必输 | 说明 |
form_id | string | 是 | 表单id |
app_id | string | 是 | 应用id |
record_id | string | 是 | 记录id(查询列表里返回值的id) |
task_id | string | 是 | 任务id(查询待办列表里返回值的taskId) |
submitReq | object | 是 | 要提交的任务,requestBody |
submitReq.userId | string | 是 | 提交人的id |
submitReq.approve.content | string | 否 | 提交的审批信息 |
submitReq.approve.variables | string | 是 | 当前表单的变量值 |
样例:
{
"form_id":"684ad97c537b47df824a8b602411b2d2",
"app_id": "35af7f00c69e44198f894378c68b2a58",
"task_id":"5f2fda02ea674ee0a5143b87b81af5e2",
"record_id":"8d50102b87634d41b2614c35229dd4b5",
"submitReq":" {
"userId":"b76d5c1f9c36449f8f3f08ab0207765b",
"approve":{
"content":"同意",
"attachments":["https://xxxxxxx/附件.pdf"],
"images":["https://xxxxxxx/图片.png"],
},
"variables":{
"组件key":"组件value"
}
}
}
5.3、流程拒绝
接口地址:/apps/{app_id}/forms/{form_id}/records/{record_id}/tasks/{task_id}/deny 请求方式:POST
请求参数
- 注:除了uri外,这个参与与流程是完全一样的
参数 | 类型 | 必输 | 说明 |
form_id | string | 是 | 表单id |
app_id | string | 是 | 应用id |
record_id | string | 是 | 记录id(查询列表里返回值的id) |
task_id | string | 是 | 任务id(查询待办列表里返回值的taskId) |
denyReq | object | 是 | 要提交的任务,requestBody |
denyReq.userId | string | 是 | 提交人的id |
denyReq.approve.content | string | 否 | 拒绝的审批信息 |
denyReq.approve.variables | string | 是 | 当前表单的变量值 |
样例:
{
"form_id":"684ad97c537b47df824a8b602411b2d2",
"app_id": "35af7f00c69e44198f894378c68b2a58",
"task_id":"5f2fda02ea674ee0a5143b87b81af5e2",
"record_id":"8d50102b87634d41b2614c35229dd4b5",
"submitReq":" {
"userId":"b76d5c1f9c36449f8f3f08ab0207765b",
"approve":{
"content":"同意",
"attachments":["https://xxxxxxx/附件.pdf"],
"images":["https://xxxxxxx/图片.png"],
},
"variables":{
"组件key":"组件value"
}
}
}
5.4、流程转办
接口地址:/apps/{app_id}/forms/{form_id}/records/{record_id}/tasks/{task_id}/transfer 请求方式:POST
请求参数
参数 | 类型 | 必输 | 说明 |
form_id | string | 是 | 表单id |
app_id | string | 是 | 应用id |
record_id | string | 是 | 记录id(查询列表里返回值的id) |
task_id | string | 是 | 任务id(查询待办列表里返回值的taskId) |
transferReq | object | 是 | 要提交的任务,requestBody |
transferReq.userId | string | 是 | 提交人的id |
transferReq.approve.content | string | 否 | 转换的审批信息 |
transferReq.transferIds | array | 是 | 要转换给的人员id集合 |
样例:
{
"form_id":"684ad97c537b47df824a8b602411b2d2",
"app_id": "35af7f00c69e44198f894378c68b2a58",
"task_id":"5f2fda02ea674ee0a5143b87b81af5e2",
"record_id":"8d50102b87634d41b2614c35229dd4b5",
"submitReq":" {
"userId":"b76d5c1f9c36449f8f3f08ab0207765b",
"approve":{
"content":"请协助审批",
"attachments":["https://xxxxxxx/附件.pdf"],
"images":["https://xxxxxxx/图片.png"],
},
"transferIds":["6c039a0c1da74ea4bba3066683735b49"]
}
}
5.4、流程撤销
接口地址:/apps/{app_id}/forms/{form_id}/records/{record_id}/tasks/{task_id}/transfer 请求方式:POST
请求参数
参数 | 类型 | 必输 | 说明 |
form_id | string | 是 | 表单id |
app_id | string | 是 | 应用id |
record_id | string | 是 | 记录id(查询列表里返回值的id) |
task_id | string | 是 | 任务id(查询待办列表里返回值的taskId) |
user_id | string | 是 | 操作人信息,只有操作人为发起人才可以撤销成功 |
样例:
{
"form_id":"684ad97c537b47df824a8b602411b2d2",
"app_id": "35af7f00c69e44198f894378c68b2a58",
"task_id":"5f2fda02ea674ee0a5143b87b81af5e2",
"record_id":"8d50102b87634d41b2614c35229dd4b5",
"user_id":"string"
}
6、删除数据
接口地址:/apps/{app_id}/forms/{form_id}/record_delete 请求方式:POST
请求参数
参数 | 类型 | 必输 | 说明 |
form_id | string | 是 | 表单id |
app_id | string | 是 | 应用id |
params | JSON | 是 | 表单数据 |
params.user_id | string | 是 | 用户id |
params.record_id | string | 是 | 记录id |
样例:
{
"form_id":"684ad97c537b47df824a8b602411b2d2",
"app_id": "5f2fda02ea674ee0a5143b87b81af5e2",
"user_id":"5f2fda02ea674ee0a5143b87b81af5e2",
"record_id":"fdfdfda02ea674ee0a5143b87b81af5e2"
}
7.1、查询列表数据
接口地址:/apps/{app_id}/forms/{form_id}/records 请求方式:POST
请求参数
参数 | 类型 | 必输 | 说明 |
form_id | string | 是 | 表单id |
app_id | string | 是 | 应用id |
filter | JSON | 否 | 过滤条件 |
user_id | string | 是 | 用户id |
page_no | int | 否 | 页码(默认1) |
page_size | int | 否 | 数据条数(默认10) |
样例:
{
"user_id":"5f2fda02ea674ee0a5143b87b81af5e2",
"page_no":1,
"page_size":10,
"filter":{
"字段名":"要查询的值"
}
}
7.2、查询单条数据
接口地址:/apps/{app_id}/forms/{form_id}/records/{record_id} 请求方式:GET
请求参数
参数 | 类型 | 必输 | 说明 |
form_id | string | 是 | 表单id |
app_id | string | 是 | 应用id |
record_id | string | 是 | 记录id |
user_id | string | 是 | 用户id |
样例:
/apps/{app_id}/forms/{form_id}/records/{record_id}?user_id=xxx
7.3、查询流程待办
接口地址:/apps/{app_id}/forms/{form_id}/records/{record_id}/tasks 请求方式:GET
请求参数
参数 | 类型 | 必输 | 说明 |
form_id | string | 是 | 表单id |
app_id | string | 是 | 应用id |
record_id | string | 是 | 记录id |
user_id | string | 是 | 用户id |
样例:
/apps/{app_id}/forms/{form_id}/records/{record_id}/tasks?user_id=xxx
样例:
[
{
"taskId":"0000001111111",
"taskName":"行政审批",
"process":{
"id":"与record_id相同",
"definitionName":"流程定义"
}
}
]
1、组织查询
接口地址:/orgs 请求方式:GET
请求参数
参数 | 类型 | 必输 | 说明 |
parentId | string | 否 | 组织id,可以为空 |
recursion | bool | 否 | 是否查询组织下级 |
响应参数
参数 | 类型 | 说明 |
name | string | 名称 |
id | string | 应用id |
pid | string | 父级id |
children | array | 子级 |
样例:
{
"errcode": 0,
"errmsg": "success",
"data": "[{\"children\":[{\"children\":[{\"id\":\"953cbb6d836f48e3a9f8baad9f310404\",\"name\":\"部门1\",\"pid\":\"2b1ec07234c74e369fbe705e6b400787\"},{\"id\":\"9bb08a408a0b4d19b4588d5ecaadca58\",\"name\":\"部门2\",\"pid\":\"2b1ec07234c74e369fbe705e6b400787\"},{\"id\":\"b7c27aa1cc904af08f88718a1c58911f\",\"name\":\"部门3\",\"pid\":\"2b1ec07234c74e369fbe705e6b400787\"}],\"id\":\"2b1ec07234c74e369fbe705e6b400787\",\"name\":\"部门4\",\"pid\":\"d990d4bf1a494c0aba7c4d5d8625c20d\"},{\"id\":\"2bf475b9efa4404e939afffa096d5f70\",\"name\":\"产品部\",\"pid\":\"d990d4bf1a494c0aba7c4d5d8625c20d\"},{\"children\":[{\"id\":\"256ee934004b4424a916779152b7576a\",\"name\":\"研发组\",\"pid\":\"b1f1bdfe0ee04b1da93d6677c936313e\"},{\"children\":[{\"id\":\"2f9c9258e79c4e91b82907ab04e76f90\",\"name\":\"三组\",\"pid\":\"fcf86e869c124f759f0baef4b98cef88\"},{\"id\":\"3f9366618cb843c287b3290ec3b8e2a1\",\"name\":\"二组\",\"pid\":\"fcf86e869c124f759f0baef4b98cef88\"},{\"id\":\"97e667610042472d8bad3c3ebd468c98\",\"name\":\"四组\",\"pid\":\"fcf86e869c124f759f0baef4b98cef88\"},{\"id\":\"aa2dd0b0b94c4dcbab3923efc437cf75\",\"name\":\"一组\",\"pid\":\"fcf86e869c124f759f0baef4b98cef88\"}],\"id\":\"fcf86e869c124f759f0baef4b98cef88\",\"name\":\"前端组\",\"pid\":\"b1f1bdfe0ee04b1da93d6677c936313e\"}],\"id\":\"b1f1bdfe0ee04b1da93d6677c936313e\",\"name\":\"研发部\",\"pid\":\"d990d4bf1a494c0aba7c4d5d8625c20d\"},{\"id\":\"eafe3106e13a4496ab3b30dd994d04d8\",\"name\":\"测试部\",\"pid\":\"d990d4bf1a494c0aba7c4d5d8625c20d\"},{\"id\":\"f158ba6076af418e97c86e15c21fd5e2\",\"name\":\"运维部\",\"pid\":\"d990d4bf1a494c0aba7c4d5d8625c20d\"}],\"id\":\"d990d4bf1a494c0aba7c4d5d8625c20d\",\"name\":\"平头兄弟科技有限公司\",\"pid\":\"a4dc85c6f760413181c994a65af095a5\"}]",
"success": true
}
2、组织详情
接口地址:/orgs/{org_id} 请求方式:GET
请求参数
参数 | 类型 | 必输 | 说明 |
org_id | string | 是 | 组织id |
响应参数
参数 | 类型 | 说明 |
name | string | 名称 |
id | string | id |
样例:
{
"errcode": 0,
"errmsg": "success",
"data": "{\"id\":\"b1f1bdfe0ee04b1da93d6677c936313e\",\"name\":\"研发部\",\"pid\":\"d990d4bf1a494c0aba7c4d5d8625c20d\"}"
}
3、组织下用户
接口地址:/users 请求方式:GET
请求参数
参数 | 类型 | 必输 | 说明 |
org_id | string | 是 | 组织idid |
recursion | bool | 否 | 是否查询组织下级用户 |
响应参数
参数 | 类型 | 说明 |
name | string | 名称 |
fieldId | string | 字段id |
样例:
{
"errcode": 0,
"errmsg": "success",
"data": "[{\"departmentId\":\"3f9366618cb843c287b3290ec3b8e2a1\",\"departmentIds\":[\"3f9366618cb843c287b3290ec3b8e2a1\"],\"id\":\"572517a1940941debc51f6515fe9342d\",\"name\":\"梅兰芳\"},{\"departmentId\":\"3f9366618cb843c287b3290ec3b8e2a1\",\"departmentIds\":[\"3f9366618cb843c287b3290ec3b8e2a1\"],\"id\":\"46e9258b7205453697e381c9b4b5477c\",\"name\":\"李易峰\"},{\"departmentId\":\"3f9366618cb843c287b3290ec3b8e2a1\",\"departmentIds\":[\"3f9366618cb843c287b3290ec3b8e2a1\"],\"id\":\"5f2a58f31bc344fea5c8393545019f5f\",\"name\":\"魏海\"}]",
"success": true
}
4、用户信息
接口地址:/users/user_id 请求方式:POST
请求参数
参数 | 类型 | 必输 | 说明 |
user_id | string | 是 | 用户id |
样例:
{
"errcode": 0,
"errmsg": "success",
"data": "{\"departmentId\":\"3f9366618cb843c287b3290ec3b8e2a1\",\"departmentIds\":[\"3f9366618cb843c287b3290ec3b8e2a1\"],\"id\":\"46e9258b7205453697e381c9b4b5477c\",\"name\":\"李易峰\"}",
"success": true
}