搭贝全流程揭秘:应用开发核心接口与数据操作指南

认证接口

搭贝认证用户信息

场景

用户服务可通过本接口

接口地址

/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
}
原文链接:,转发请注明来源!