RESTful接口——java

1  接口详细说明

1.1   接口服务器地址说明

接口参考地址,具体地址和端口需要根据项目实际ip和端口进行配置


地址前缀

组织架构

http://127.0.0.1:8080/Portal/org-api/

流程

http://127.0.0.1:8080/Portal/bpm-api/

单点登陆

http://127.0.0.1:8080/Portal/sso-api/

 

2  Organization RESTful 接口

2.1   增加组织机构单元(OU)

接口地址:/orgunits

HTTP请求方式:POST

输入参数描述:

参数名称

类型

必填

默认值

说明

objectID

字符串



主键

weChatID

整数


-1

微信部门ID

dingTalkID

整数


-1

钉钉ID

workflowCode

字符串



流程模板编码

categoryCode

字符串



组织类型编码

name

字符串


名称

description

字符串



描述

costCenter

字符串



成本中心

parentID

字符串


所属组织

managerID

字符串



主管

createdTime

日期


当前时间

创建时间

modifiedTime

日期


当前时间

修改时间

sortKey

整数


100

排序值

state

整数


1

状态

visibility

整数


5

可见类型

1普通可见

2管理员可见

4本组织范围可见

5 全部可见

sourceID

字符串



身份证号码

calendarID

字符串



工作日历ID

extend1

字符串



扩展1

extend2

字符串



扩展2

modifier

字符串


添加人

输出数据描述:

参数名称

类型

必填

说明

code

整形

0成功 -1失败

msg

字符串


返回错误码

data

字符串


添加成功后返回OUid

 

例子

输入:{"name":"销售部","parentID":"18f923a7-5a5e-426d-94ae-a55ad1a4b240","modifier":"18f923a7-5a5e-426d-94ae-a55ad1a4b269"}

输出:{"code":0,"msg":null,"data":"c482a92e-ff9e-404e-a4fb-24b1ac77f8d0"}

2.2   添加组

接口地址:/groups

HTTP请求方式:POST

输入参数描述:

参数名称

类型

必填

默认值

说明

objectID

字符串



主键(36位)

name

字符串


组名称

description

字符串



描述

costCenter

字符串



成本中心

parentID

字符


所属机构

managerID

字符



主管(36位)

createdTime

日期


当前时间

创建时间

modifiedTime

日期


当前时间

修改时间

sortKey

整数


100

排序值

state

整数


1

状态

0 禁用

1 启用

visibility

整数


5

可见类型

1普通可见

2管理员可见

4本组织范围可见

5 全部可见

sourceID

字符串



数据源ID36位)

calendarID

字符串



工作日历ID36位)

extend1

字符串



扩展1

Extend2

字符串



扩展2

Modifier

字符串


添加人

输出数据描述:

参数名称

类型

必填

说明

code

整形

0成功 -1失败

msg

字符串


返回错误码

data

字符串


添加成功后返回组的id

例子:

例子

输入:{"name":"销售一组","parentID":"c482a92e-ff9e-404e-a4fb-24b1ac77f8d0","modifier":"18f923a7-5a5e-426d-94ae-a55ad1a4b269"}

输出:{"code":0,"msg":null,"data":"21313380-189f-4f79-9f2d-b080744c7e0f"}

2.3   添加用户

接口地址:/users

HTTP请求方式:POST

输入参数描述:

参数名称

类型

必填

默认值

说明

objectID

字符串



主键(用户ID)

code

字符串


用户编码/登录名

password

字符串


系统默认

密码

appellation

字符串



称谓

employeeNumber

字符串



员工编号

employeeRank

整数

0

员工职级

secretaryID

字符串



秘书

entryDate

日期


当前时间

入职日期

departureDate

日期


当前时间

离职日期

serviceState

整数


0

用户服务状态

0在职

1实习

2离职

privacyLevel

整数


0

隐私级别

0对所有成员开放

1对本部门开放

3完全私密仅管理员和自己查看

idNumber

字符串



身份证号

gender

整数


0

性别

0待知

1

2

imageID

字符串



图片ID

imageUrl

字符串



图片URL

birthday

日期


当前时间

生日

bankProvince

字符串



开户行所在省

bankCity

字符串



开户行所在城市

bankName

字符串



开户行名称

bankAccount

字符串



开户账号

email

字符串



邮箱

mobile

字符串



手机

weChatAccount

字符串



微信号

dingTalkAccount

字符串



钉钉账号

officePhone

字符串



办公室电话

rtx

字符串



RTX

qq

字符串



QQ

skype

字符串



Skype

facsimileTelephoneNumber

字符串



传真

postOfficeBox

字符串



联系地址

postalCode

字符串



邮编

isIsAdministrator

整数


false

是否管理员

isIsConsoleUser

整数


false

是否可以登录后台

isIsSystemUser

整数


false

是否系统内置账户

isIsVirtualUser

整数


false

是否虚拟用户

relationUserID

字符串



关联用户

doLock

整数


false

是否锁住

sid

字符串



SID

mobileType

整数


0

手机系统类型

0待指定

1安卓

2 IOS

10 其他

jpushID

字符串



JPushID

mobileToken

字符串



用户单点登录密钥

notifyType

整数


65535

接收通知消息类型

0 不接收

1 邮件

2 短信

4 微信

8 APP

16 钉钉

65535 全部

defaultLanguage

字符串



默认语言

name

字符串


姓名

description

字符串



描述

costCenter

字符串



成本中心

parentID

字符串


所属组织OU

managerID

字符串



主管

createdTime

日期


当前时间

创建时间

modifiedTime

日期


当前时间

修改时间

sortKey

整数



排序值

state

整数


1

状态

0 禁用

1 启用

visibility

整数


5

可见类型

1普通可见

2管理员可见

4本组织范围可见

5 全部可见

sourceID

字符串



SourceID

calendarID

字符串



工作日历ID

extend1

字符串



扩展1

extend2

字符串



扩展2

modifier

字符串


添加人

输出数据描述:

参数名称

类型

必填

说明

code

整形

0成功 -1失败

msg

字符串


返回错误码

data

对象


添加成功后返回用户的id

例子:

例子

输入:{"code":"dddd","name":"销售员1","employeeNumber":"NO.008001","parentID":"c482a92e-ff9e-404e-a4fb-24b1ac77f8d0","modifier":"18f923a7-5a5e-426d-94ae-a55ad1a4b269"}

输出:{"code":0,"msg":null,"data":"9b5d1764-6ce1-4a94-84f3-0b426e05267d"}

2.4   获得OU全名

接口地址:/orgunits/{unitId}/fullname

HTTP请求方式:GET

输入参数描述:

参数名称

类型

必填

默认值

说明

unitId

字符串


组织机构id

输出数据描述:

参数名称

类型

必填

说明

code

整形

0成功 -1失败

msg

字符串


返回错误码

data

对象


成功后返回机构名称

例子:

例子

输入:c482a92e-ff9e-404e-a4fb-24b1ac77f8d0

输出:{"code":0,"msg":null,"data":"销售部"}

2.5   获得OU主管

接口地址:/users/{userId}/managers

HTTP请求方式:GET

输入参数描述:

参数名称

类型

必填

默认值

说明

userId

字符串


组织机构id

输出数据描述:

参数名称

类型

必填

说明

code

整形

0成功 -1失败

msg

字符串


返回错误码

data

对象


成功后返回机构名称

例子:

例子

输入:c482a92e-ff9e-404e-a4fb-24b1ac77f8d0

输出:{"code":0,"msg":null,"data":"4d970a34-502c-449e-8d04-4fb88a50a502"}

2.6   获取OU/组/人员的名称

接口地址:/orgs/{unitId}/names

HTTP请求方式:GET

输入参数描述:

参数名称

类型

必填

默认值

说明

unitId

字符串


ou//人员id

输出数据描述:

参数名称

类型

必填

说明

code

整形

0成功 -1失败

msg

字符串


返回错误码

data

对象


成功后返回机构名称

例子:

例子

输入:9b5d1764-6ce1-4a94-84f3-0b426e05267d

输出:{"code":0,"msg":null,"data":"销售员1"}

2.7   获取上级OU

接口地址:/orgs/{unitId}/parents

HTTP请求方式:GET

输入参数描述:

参数名称

类型

必填

默认值

说明

unitId

字符串


ou//人员id

输出数据描述:

参数名称

类型

必填

说明

code

整形

0成功 -1失败

msg

字符串


返回错误码

data

对象


成功后返回机构名称

例子:

例子

输入:9b5d1764-6ce1-4a94-84f3-0b426e05267d

返回:{"code":0,"msg":null,"data":"c482a92e-ff9e-404e-a4fb-24b1ac77f8d0"}

2.8   判断一个组织是否另一个组织的父级

接口地址:/orgs/{childId}/parents/{ancestorId}

HTTP请求方式:GET

输入参数描述:

参数名称

类型

必填

默认值

说明

childId

字符串


ou//人员id

ancestorId

字符串


ou/id

输出数据描述:

参数名称

类型

必填

说明

code

整形

0成功 -1失败

msg

字符串


返回错误码

data

对象



例子:

例子

输入:9b5d1764-6ce1-4a94-84f3-0b426e05267d, c482a92e-ff9e-404e-a4fb-24b1ac77f8d0

返回:{"code":0,"msg":null,"data":null}

2.9   添加角色

接口地址:/orgposts

HTTP请求方式:POST

输入参数描述:

参数名称

类型

必填

默认值

说明

code

字符串


角色编码(字母开头)

name

字符串


角色名称

modifier

字符串


添加者

输出数据描述:

参数名称

类型

必填

说明

code

整形

0成功 -1失败

msg

字符串


返回错误码

data

对象


成功后返回角色的id

例子:

例子

输入:{"code":"RXS","name":"销售","modifier":"18f923a7-5a5e-426d-94ae-a55ad1a4b269"}

返回:{"code":0,"msg":null,"data":"b0f8ab45-daa5-4471-a941-c2192c4b37b9"}

2.10   更新OU

接口地址:/orgunits/{unitId}

HTTP请求方式:PUT

输入参数描述:

参数名称

类型

必填

默认值

说明

unitId

字符串


主键

weChatID

整数



微信部门ID

dingTalkID

整数



钉钉ID

workflowCode

字符串



流程模板编码

categoryCode

字符串



组织类型编码

name

字符串



名称

description

字符串



描述

costCenter

字符串



成本中心

parentID

字符串



所属组织

managerID

字符串



主管

createdTime

日期



创建时间

modifiedTime

日期



修改时间

sortKey

整数



排序值

state

整数



状态

visibility

整数



可见类型

1普通可见

2管理员可见

4本组织范围可见

5 全部可见

sourceID

字符串



身份证号码

calendarID

字符串



工作日历ID

extend1

字符串



扩展1

extend2

字符串



扩展2

modifier

字符串



添加人

输出数据描述:

参数名称

类型

必填

说明

code

整形

0成功 -1失败

msg

字符串


返回错误码

data

对象


返回对对象的id

例子:

例子

输入:{"unitId":"c482a92e-ff9e-404e-a4fb-24b1ac77f8d0","name":"市场部"}

返回:{"code":0,"msg":null,"data":"c482a92e-ff9e-404e-a4fb-24b1ac77f8d0"}

2.11   更新用户

接口地址:/users/{userId}

HTTP请求方式:PUT

输入参数描述:

参数名称

类型

必填

默认值

说明

userId

字符串


主键(用户ID)

password

字符串



密码

appellation

字符串



称谓

employeeNumber

字符串



员工编号

employeeRank

整数


员工职级

secretaryID

字符串



秘书

entryDate

日期



入职日期

departureDate

日期



离职日期

serviceState

整数



用户服务状态

0在职

1实习

2离职

privacyLevel

整数



隐私级别

0对所有成员开放

1对本部门开放

3完全私密仅管理员和自己查看

idNumber

字符串



身份证号

gender

整数



性别

0待知

1

2

imageID

字符串



图片ID

imageUrl

字符串



图片URL

birthday

日期



生日

bankProvince

字符串



开户行所在省

bankCity

字符串



开户行所在城市

bankName

字符串



开户行名称

bankAccount

字符串



开户账号

email

字符串



邮箱

mobile

字符串



手机

weChatAccount

字符串



微信号

dingTalkAccount

字符串



钉钉账号

officePhone

字符串



办公室电话

rtx

字符串



RTX

qq

字符串



QQ

skype

字符串



Skype

facsimileTelephoneNumber

字符串



传真

postOfficeBox

字符串



联系地址

postalCode

字符串



邮编

isIsAdministrator

整数



是否管理员

isIsConsoleUser

整数



是否可以登录后台

isIsSystemUser

整数



是否系统内置账户

isIsVirtualUser

整数



是否虚拟用户

relationUserID

字符串



关联用户

doLock

整数



是否锁住

sid

字符串



SID

mobileType

整数



手机系统类型

0待指定

1安卓

2 IOS

10 其他

jpushID

字符串



JPushID

mobileToken

字符串



用户单点登录密钥

notifyType

整数



接收通知消息类型

0 不接收

1 邮件

2 短信

4 微信

8 APP

16 钉钉

65535 全部

defaultLanguage

字符串



默认语言

name

字符串



姓名

description

字符串



描述

costCenter

字符串



成本中心

parentID

字符串



所属组织OU

managerID

字符串



主管

createdTime

日期



创建时间

modifiedTime

日期



修改时间

sortKey

整数



排序值

state

整数



状态

0 禁用

1 启用

visibility

整数



可见类型

1普通可见

2管理员可见

4本组织范围可见

5 全部可见

sourceID

字符串



SourceID

calendarID

字符串



工作日历ID

extend1

字符串



扩展1

extend2

字符串



扩展2

modifier

字符串



修改人

输出数据描述:

参数名称

类型

必填

说明

code

整形

0成功 -1失败

msg

字符串


返回错误码

data

对象


添加成功后返回用户的id

例子:

例子

输入:{"userId":"9b5d1764-6ce1-4a94-84f3-0b426e05267d","name":"销售1"}

输出:{"code":0,"msg":null,"data":"9b5d1764-6ce1-4a94-84f3-0b426e05267d"}

 

3  BPM RESTful 接口

3.1   启动H3流程实例,设置主键数据项的值

接口地址:/workflows/{workflowCode}/keys/{keyName}

HTTP请求方式:POST

输入参数描述:

参数名称

类型

必填

默认值

说明

systemCode

字符串


系统编码

secret

字符串


系统秘钥

workflowCode

字符串


流程模板编码

userCode

字符串


启动流程的用户编码

finishStart

罗辑型


是否结束第一个活动

keyName

字符串



数据项

keyValue

字符串



数据项值

输出数据描述:

参数名称

类型

必填

说明

code

整形

0成功 -1失败

msg

字符串


返回错误码

data

对象


成功后返回流程id

例子:

例子

输入:

String systemCode = "H3"; // 系统编码
String secret = "Authine"; // 系统秘钥
String workflowCode = "TD"; // 流程编码
String userCode = "administrator"; // 用户编码
boolean finishStart = true; // 是否结束第一个活动
String keyName = "message"; // 数据项
String keyValue = "hello, world!"; // 数据项值

返回:

{"code":0,"msg":null,"data":{"instanceId":"39167373-ca8f-42e0-9769-e177fba43e6e","workItemID":null}}

3.2   激活指定的活动节点

接口地址:/tokens/activities/{instanceId}/{activityCode}

HTTP请求方式:PUT

输入参数描述:

参数名称

类型

必填

默认值

说明

systemCode

字符串


系统编码

secret

字符串


系统秘钥

instanceId

字符串


流程实例ID

activityCode

字符串


活动节点

participants

字符串



指定参与者(参与者编码以逗号分割),如果为空那么取流程默认配置

输出数据描述:

参数名称

类型

必填

说明

code

整形

0成功 -1失败

msg

字符串


返回错误码

data

对象



例子:

例子

输入:{"systemCode":"H3","secret":"Authine","instatnceId":"0de25b31-0b37-4fc5-9980-284344826770","activityCode":"Activity3","participants":["6aeb0fe0-d616-4521-af7a-09e5e169a1a4"]}

输出:{"code":0,"msg":null,"data":null}

3.3   取消指定的活动节点

接口地址:/tokens/cancel/{instanceId}/{activityCode}

HTTP请求方式:PUT

输入参数描述:

参数名称

类型

必填

默认值

说明

systemCode

字符串


系统编码

secret

字符串


系统秘钥

instanceId

字符串


流程实例ID

activityCode

字符串


活动节点

输出数据描述:

参数名称

类型

必填

说明

code

整形

0成功 -1失败

msg

字符串


返回错误码

data

对象



例子:

例子

输入:{"systemCode":"H3","secret":"Authine","instatnceId":"0de25b31-0b37-4fc5-9980-284344826770","activityCode":"Activity3"}

输出:{"code":0,"msg":null,"data":null}

3.4   获取用户的已办任务总数

接口地址:workitems/finish/counts/{userId}

HTTP请求方式:GET

输入参数描述:

参数名称

类型

必填

默认值

说明

systemCode

字符串


系统编码

secret

字符串


系统秘钥

userId

字符串


用户ID

输出数据描述:

参数名称

类型

必填

说明

code

整形

0成功 -1失败

msg

字符串


返回错误码

data

对象



例子:

例子

输入:18f923a7-5a5e-426d-94ae-a55ad1a4b239?systemCode=H3&secret=Authine

输出:{"code":0,"msg":null,"data":50}

3.5   获取用户的待办任务总数

接口地址:workitems/unfinish/counts/{userId}

HTTP请求方式:GET

输入参数描述:

参数名称

类型

必填

默认值

说明

systemCode

字符串


系统编码

secret

字符串


系统秘钥

userId

字符串


用户ID

输出数据描述:

参数名称

类型

必填

说明

code

整形

0成功 -1失败

msg

字符串


返回错误码

data

对象



例子:

例子

输入:18f923a7-5a5e-426d-94ae-a55ad1a4b239?systemCode=H3&secret=Authine

输出:{"code":0,"msg":null,"data":17}

3.6   获取发起流程模板

接口地址:/workfownodes/{userCode}

HTTP请求方式:GET

输入参数描述:

参数名称

类型

必填

默认值

说明

systemCode

字符串


系统编码

secret

字符串


系统秘钥

userCode

字符串


用户编码

showFavorite

逻辑型


是否常用

isMobile

逻辑型


是否移动端

parentCode

字符串



父流程编码

searchKey

字符串



搜索关键字

输出数据描述:

参数名称

类型

必填

说明

code

整形

0成功 -1失败

msg

字符串


返回错误码

data

对象


成功后返回List<WorkflowNode>

例子:

例子

输入:/workfownodes/administrator?systemCode=H3&secret=Authine&showFavorite=true&isMobile=false
返回:

{"code":0,"msg":null,"data":[{"children":null,"DisplayName":"表单控件","Version":1,"Icon":"icon-liuchengmoxing","Code":"bdkj","ObjectID":"50a74119-490f-4a8e-ac08-b82358e87dac","PublishedTime":"2019/01/07","IconFileName":null,"Frequent":0,"IsLeaf":true}]}

3.7   获取用户待阅任务

接口地址:/workitems/unread/{userId}

HTTP请求方式:GET

输入参数描述:

参数名称

类型

必填

默认值

说明

systemCode

字符串


系统编码

secret

字符串


系统秘钥

userId

字符串


用户ID

startTime

日期


开始时间

endTime

日期


结束时间

startIndex

整型


开始索引 >0 (-1

endIndex

整型


结束索引 >0 (-1

workflowCode

字符串



流程模板编码

instanceName

字符串



流程实例名称

输出数据描述:

参数名称

类型

必填

说明

code

整形

0成功 -1失败

msg

字符串


返回错误码

data

对象


成功后返回List<CirculateItemViewModel>

例子:

例子

输入:18f923a7-5a5e-426d-94ae-a55ad1a4b239?systemCode=H3&secret=Authine&startTime=2019-01-30&endTime=2019-02-03&startIndex=1&endIndex=1
返回:

{"code":0,"msg":null,"data":[{"instanceCreatedTime":"2019-02-03 14:49:00","instanceState":"2","instanceSequenceNo":"2019TD0000000034","Priority":null,"State":0,"DisplayName":"传阅","WorkflowCode":"TD","InstanceId":"0de25b31-0b37-4fc5-9980-284344826770","InstanceName":"测试中文.12","ReceiveTime":"2019-02-03 14:49","Originator":"52b7568a-7ce1-4b5d-8aac-a4b570800489","FinishTime":"1970-01-01 00:00","Participant":"18f923a7-5a5e-426d-94ae-a55ad1a4b239","Consulted":false,"Assisted":false,"Urged":false,"StayTime":{"Days":0,"Ticks":0,"Hours":0,"Minutes":0,"Seconds":0,"Milliseconds":0},"WorkflowName":null,"ItemCount":null,"ParticipantName":"系统管理员","OriginatorName":"开发666","AssistantFinished":false,"ConsultantFinished":false,"PlanFinishTime":null,"CirculateCreator":"52b7568a-7ce1-4b5d-8aac-a4b570800489","DisplayWorkflowCode":false,"OriginatorOUName":"研发1","CirculateCreatorName":"开发666","ObjectID":"f26383fa-e006-4209-bf0e-49637148d431"}]}

3.8   输出日志至引擎服务器

接口地址:logs

HTTP请求方式:POST

输入参数描述:

参数名称

类型

必填

默认值

说明

systemCode

字符串


系统编码

secret

字符串


系统秘钥

message

字符串


日志信息

输出数据描述:

参数名称

类型

必填

说明

code

整形

0成功 -1失败

msg

字符串


返回错误码

data

对象



例子:

例子

输入:{"systemCode":"H3","secret":"Authine","message":"接口消息"}

输出:{"code":0,"msg":null,"data":null}

3.9   激活流程

接口地址:/instances/activities/{instanceId}

HTTP请求方式:PUT

输入参数描述:

参数名称

类型

必填

默认值

说明

systemCode

字符串


系统编码

secret

字符串


系统秘钥

instanceId

字符串


流程实例id

输出数据描述:

参数名称

类型

必填

说明

code

整形

0成功 -1失败

msg

字符串


返回错误码

data

对象



例子:

例子

输入:{"systemCode":"H3","secret":"Authine","instatnceId":"a440806a-3ea7-4d2f-b8e1-22551d25e1df"}

输出:{"code":0,"msg":null,"data":null}

3.10   获取用户已阅任务总数

接口地址:/workitems/read/counts/{userId}

HTTP请求方式:GET

输入参数描述:

参数名称

类型

必填

默认值

说明

systemCode

字符串


系统编码

secret

字符串


系统秘钥

userId

字符串


流程实例id

输出数据描述:

参数名称

类型

必填

说明

code

整形

0成功 -1失败

msg

字符串


返回错误码

data

对象


成功后返回已阅任务总数

例子:

例子

输入:18f923a7-5a5e-426d-94ae-a55ad1a4b239?systemCode=H3&secret=Authine

输出:{"code":0,"msg":null,"data":1}

3.11   获取用户待阅任务总数

接口地址:/workitems/unread/counts/{userId}

HTTP请求方式:GET

输入参数描述:

参数名称

类型

必填

默认值

说明

systemCode

字符串


系统编码

secret

字符串


系统秘钥

userId

字符串


流程实例id

输出数据描述:

参数名称

类型

必填

说明

code

整形

0成功 -1失败

msg

字符串


返回错误码

data

对象


成功后返回待阅任务总数

例子:

例子

输入:18f923a7-5a5e-426d-94ae-a55ad1a4b239?systemCode=H3&secret=Authine

输出:{"code":0,"msg":null,"data":13}

3.12   查询用户已阅任务

接口地址:/workitems/read/{userId}

HTTP请求方式:GET

输入参数描述:

参数名称

类型

必填

默认值

说明

systemCode

字符串


系统编码

secret

字符串


系统秘钥

userId

字符串


用户ID

startTime

日期


开始时间

endTime

日期


结束时间

startIndex

整型


开始索引 >0 (-1

endIndex

整型


结束索引 >0 (-1

workflowCode

字符串



流程模板编码

instanceName

字符串



流程实例名称

输出数据描述:

参数名称

类型

必填

说明

code

整形

0成功 -1失败

msg

字符串


返回错误码

data

对象


成功后返回List<CirculateItemViewModel>

例子:

例子(java

输入:18f923a7-5a5e-426d-94ae-a55ad1a4b239?systemCode=H3&secret=Authine&startTime=2019-01-01&endTime=2019-02-03&startIndex=1&endIndex=1

输出:{"code":0,"msg":null,"data":[{"instanceCreatedTime":"2019-01-04 10:46:12","instanceState":"2","instanceSequenceNo":"2019test010000000001","DisplayName":"审批","Priority":null,"State":0,"Consulted":false,"Assisted":false,"Urged":false,"ReceiveTime":"2019-01-04 10:50","FinishTime":"2019-01-04 10:51","StayTime":{"Days":0,"Ticks":0,"Hours":0,"Minutes":0,"Seconds":0,"Milliseconds":0},"InstanceId":"c6dfb9e3-2e46-4023-9b76-d380da54cece","ParticipantName":"系统管理员","OriginatorName":"员工B","OriginatorOUName":"我的公司","DisplayWorkflowCode":false,"CirculateCreator":"7a6d4da8-d22f-439d-9f71-0572c365eacd","CirculateCreatorName":"员工B","ConsultantFinished":false,"AssistantFinished":false,"PlanFinishTime":null,"InstanceName":"流程显示.3","Originator":"7a6d4da8-d22f-439d-9f71-0572c365eacd","WorkflowCode":"test01","Participant":"18f923a7-5a5e-426d-94ae-a55ad1a4b239","ItemCount":null,"WorkflowName":null,"ObjectID":"49ab125c-7009-4699-af2e-a9a8b5be0af4"}]}

3.13   获取两个日期之间的总天数

接口地址:/days/{startDate}/{endDate}

HTTP请求方式:GET

输入参数描述:

参数名称

类型

必填

默认值

说明

startDate

日期


开始日期

endDate

日期


结束日期

输出数据描述:

参数名称

类型

必填

说明

code

整形

0成功 -1失败

msg

字符串


返回错误码

data

对象


成功后返回比较的天数

例子:

例子

输入:days/2019-01-30/2019-02-03

输出:{"code":0,"msg":null,"data":4.0}

3.14   查询用户已办任务

接口地址:/workitems/finish/{userId}

HTTP请求方式:GET

输入参数描述:

参数名称

类型

必填

默认值

说明

systemCode

字符串


系统编码

secret

字符串


系统秘钥

userId

字符串


用户ID

startTime

日期


开始时间

endTime

日期


结束时间

startIndex

整型


开始索引 >0 (-1

endIndex

整型


结束索引 >0 (-1

workflowCode

字符串



流程模板编码

instanceName

字符串



流程实例名称

输出数据描述:

参数名称

类型

必填

说明

code

整形

0成功 -1失败

msg

字符串


返回错误码

data

对象


成功后返回List<WorkItemViewModel>

例子:

例子(java

输入:18f923a7-5a5e-426d-94ae-a55ad1a4b239?systemCode=H3&secret=Authine&startTime=2019-01-01&endTime=2019-02-03&startIndex=1&endIndex=1

输出:{"code":0,"msg":null,"data":[{"instanceCreatedTime":"2019-02-01 21:11:45","instanceState":"2","instanceSequenceNo":"2019test010000000013","DisplayName":"审批","Priority":"1","State":0,"Assisted":false,"Consulted":false,"Urged":false,"ReceiveTime":"2019-02-01 21:11","ItemSummary":"","CirculateCreator":"","OriginatorOUName":"研发1部第一小组","CirculateCreatorName":"","DisplayWorkflowCode":false,"ParticipantName":"系统管理员","OriginatorName":"c","Originator":"6aeb0fe0-d616-4521-af7a-09e5e169a1a4","InstanceName":"流程显示.5","FinishTime":"2019-02-01 21:18:11","WorkflowCode":"test01","WorkflowName":"流程显示","StayTime":{"Days":2914597,"Ticks":2518212081460000000,"Hours":7,"Minutes":35,"Seconds":46,"Milliseconds":0},"ItemCount":null,"ConsultantFinished":false,"AssistantFinished":false,"PlanFinishTime":"9998-12-31 00:00:00","Participant":"18f923a7-5a5e-426d-94ae-a55ad1a4b239","InstanceId":"020b00d8-281c-4d7a-8c1c-892efcf938c1","ActivityCode":"Activity3","ObjectID":"cac1a36d-103e-4633-9164-ac357fe86a01"}]}

3.15   发起流程

接口地址:/workflows/{workflowCode}

HTTP请求方式:POST

输入参数描述:

参数名称

类型

必填

默认值

说明

systemCode

字符串


系统编码

secret

字符串


系统秘钥

workflowCode

字符串


流程模板编码

userCode

字符串


启动流程的用户编码

finishStart

罗辑型


是否结束第一个活动

paramValues

字符串



流程实例启动初始化数据项集合(JSON格式)

输出数据描述:

参数名称

类型

必填

说明

code

整形

0成功 -1失败

msg

字符串


返回错误码

data

对象


成功后返回流程id

例子:

例子

输入:{"systemCode":"H3","secret":"Authine","workflowCode":"TD","userCode":"ep006","finishStart":"true","paramValues":[{"itemName":"message","itemValue":"发新流程"}]}

返回:{"code":0,"msg":null,"data":{"instanceId":"74c8b2d3-75a9-4072-b745-ffcf85e0e0be","workItemID":null}}

3.16   结束流程

接口地址:/instances/finish/{instanceId}

HTTP请求方式:PUT

输入参数描述:

参数名称

类型

必填

默认值

说明

systemCode

字符串


系统编码

secret

字符串


系统秘钥

instanceId

字符串


流程实例id

输出数据描述:

参数名称

类型

必填

说明

code

整形

0成功 -1失败

msg

字符串


返回错误码

data

对象



例子:

例子

输入:{"systemCode":"H3","secret":"Authine","instatnceId":"74c8b2d3-75a9-4072-b745-ffcf85e0e0be"}

输出:{"code":0,"msg":null,"data":true}

3.17   提交工作任务

接口地址:/workitems/submit/{workItemId}

HTTP请求方式:PUT

输入参数描述:

参数名称

类型

必填

默认值

说明

systemCode

字符串


系统编码

secret

字符串


系统秘钥

userId

字符串


用户id

workItemId

字符串


工作任务节点的id

commentText

字符串



提交的内容

输出数据描述:

参数名称

类型

必填

说明

code

整形

0成功 -1失败

msg

字符串


返回错误码

data

对象



例子:

例子

输入:{"systemCode":"H3","secret":"Authine","userId":"18f923a7-5a5e-426d-94ae-a55ad1a4b239","workItemId":"0f129e1e-111b-490d-a281-92a978e53362","commentText":"同意"}

输出:{"code":0,"msg":null,"data":null}

3.18   获取待办任务

接口地址:/workitems/unfinish/{userId}

HTTP请求方式:GET

输入参数描述:

参数名称

类型

必填

默认值

说明

systemCode

字符串


系统编码

secret

字符串


系统秘钥

userId

字符串


用户ID

startTime

日期


开始时间

endTime

日期


结束时间

startIndex

整型


开始索引 >0 (-1

endIndex

整型


结束索引 >0 (-1

workflowCode

字符串



流程模板编码

instanceName

字符串



流程实例名称

输出数据描述:

参数名称

类型

必填

说明

code

整形

0成功 -1失败

msg

字符串


返回错误码

data

对象


返回待办任务列表List<WorkItemViewModel>

例子:

例子(java)

输入:

18f923a7-5a5e-426d-94ae-a55ad1a4b239?systemCode=H3&secret=Authine&startTime=2019-01-21&endTime=2019-02-01&startIndex=1&endIndex=1

输出:

{"code":0,"msg":null,"data":[{"instanceCreatedTime":"2019-01-24 09:04:33","instanceState":"2","instanceSequenceNo":"2019TD0000000025","Priority":"1","State":0,"DisplayName":"手工","PlanFinishTime":"9998-12-31 00:00:00","OriginatorName":"系统管理员","WorkflowName":"测试中文","ItemCount":null,"StayTime":{"Days":2914597,"Ticks":2518212039960000000,"Hours":6,"Minutes":26,"Seconds":36,"Milliseconds":0},"InstanceId":"d4509a6a-8fa0-4cfb-94f2-39500abf4e15","ReceiveTime":"2019-01-24 09:04","ItemSummary":"","FinishTime":"1970-01-01 00:00:00","ParticipantName":"系统管理员","CirculateCreatorName":"","OriginatorOUName":"我的公司","DisplayWorkflowCode":false,"CirculateCreator":"","AssistantFinished":false,"ConsultantFinished":false,"InstanceName":"测试中文.10","Originator":"18f923a7-5a5e-426d-94ae-a55ad1a4b239","WorkflowCode":"TD","ActivityCode":"Activity2","Participant":"18f923a7-5a5e-426d-94ae-a55ad1a4b239","Urged":false,"Consulted":false,"Assisted":false,"ObjectID":"7593037f-d94a-4c54-b197-8eefa725d160"}]}

 3.19  设置单个流程数据项的值

接口地址:/itemvalues/{keyName}

HTTP请求方式:PUT

输入参数描述:

参数名称

类型

必填

默认值

说明

systemCode

字符串


系统编码

secret

字符串


系统秘钥

userId

字符串


用户id36位)

bizObjectSchemaCode

字符串


业务编码

bizObjectId

字符串


业务实例id

keyName

字符串


数据项

keyValue

字符串


数据项的值

输出数据描述:

参数名称

类型

必填

说明

code

整形

0成功 -1失败

msg

字符串


返回错误码

data

对象



例子:

例子(java)

输入:{"systemCode":"H3","secret":"Authine","userId":"18f923a7-5a5e-426d-94ae-a55ad1a4b239","bizObjectSchemaCode":"TD","bizObjectId":"52491396-d2cc-423e-8526-62df1ad1eae6","keyName":"message","keyValue":"Hello, H3 BPM!"}

输出:{"code":0,"msg":null,"data":null}

 3.20   设置批量流程数据项的值

接口地址:/itemvalues

HTTP请求方式:PUT

输入参数描述:

参数名称

类型

必填

默认值

说明

systemCode

字符串


系统编码

secret

字符串


系统秘钥

userId

字符串


用户id36位)

bizObjectSchemaCode

字符串


业务编码

bizObjectId

字符串


业务实例id

keyValues

集合


数据项,List<DataItemParam>对象

输出数据描述:

参数名称

类型

必填

说明

code

整形

0成功 -1失败

msg

字符串


返回错误码

data

对象



例子:

例子(java)

输入:{"systemCode":"H3","secret":"Authine","userId":"18f923a7-5a5e-426d-94ae-a55ad1a4b239","bizObjectSchemaCode":"TD","bizObjectId":"52491396-d2cc-423e-8526-62df1ad1eae6","keyValues":[{"itemName":"type","itemValue":"事假"},{"itemName":"reason","itemValue":"调休"},{"itemName":"days","itemValue":2}]}

输出:{"code":0,"msg":null,"data":null}

 3.21   取回工作任务

接口地址:/workitems/retrieve/{workItemId}

HTTP请求方式:PUT

输入参数描述:

参数名称

类型

必填

默认值

说明

systemCode

字符串


系统编码

secret

字符串


系统秘钥

userId

字符串


用户id

workItemId

字符串


工作任务节点的id

输出数据描述:

参数名称

类型

必填

说明

code

整形

0成功 -1失败

msg

字符串


返回错误码

data

对象



例子:

例子

输入:{"systemCode":"H3","secret":"Authine","userId":"18f923a7-5a5e-426d-94ae-a55ad1a4b239","workItemId":"06504a58-2a9a-4728-b7dd-0ed9a14c796f"}

输出:{"code":0,"msg":null,"data":null}

 

3.22   驳回工作任务

接口地址:/workitems/returns/{workItemId}

HTTP请求方式:PUT

输入参数描述:

参数名称

类型

必填

默认值

说明

systemCode

字符串


系统编码

secret

字符串


系统秘钥

userId

字符串


用户id

workItemId

字符串


工作任务节点的id

commentText

字符串



提交的内容

输出数据描述:

参数名称

类型

必填

说明

code

整形

0成功 -1失败

msg

字符串


返回错误码

data

对象



例子:

例子

输入:{"systemCode":"H3","secret":"Authine","userId":"18f923a7-5a5e-426d-94ae-a55ad1a4b239","workItemId":"983c8a68-b302-42a1-bfeb-69dea8e5324b"}

输出:{"code":0,"msg":null,"data":null}

4  SSO RESTful接口

4.1   用户登陆验证

接口地址:/ssosystems/{systemCode}/validations

HTTP请求方式:GET

输入参数描述:

参数名称

类型

必填

默认值

说明

systemCode

字符串


系统编码(SSO服务提供)

secret

字符串


系统秘钥

userName

字符串


登陆账号

password

字符串


登陆密码

输出数据描述:

参数名称

类型

必填

说明

code

整形

0成功 -1失败

msg

字符串


返回错误码

data

对象



 4.2    根据Token获取用户信息

接口地址:/ssosystems/{systemCode}/usercodes

HTTP请求方式:GET

输入参数描述:

参数名称

类型

必填

默认值

说明

systemCode

字符串


系统编码(SSO服务提供)

secret

字符串


系统秘钥

token

字符串


单点登录信息

输出数据描述:

参数名称

类型

必填

说明

code

整形

0成功 -1失败

msg

字符串


返回错误码

data

对象


成功后返回用户userCode

 4.3   更新密钥

接口地址:/secrets/{systemCode}

HTTP请求方式:PUT

输入参数描述:

参数名称

类型

必填

默认值

说明

systemCode

字符串


系统编码(SSO服务提供)

secret

字符串


系统秘钥

newSecret

字符串


新密钥

输出数据描述:

参数名称

类型

必填

说明

code

整形

0成功 -1失败

msg

字符串


返回错误码

data

对象


成功后返回用户userCode

 4.4   获取可以单点登陆到其他系统的URL

接口地址:/ssosystems/{targetSystemCode}/systemurl

HTTP请求方式:GET

输入参数描述:

参数名称

类型

必填

默认值

说明

systemCode

字符串


系统编码(SSO服务提供)

secret

字符串


系统秘钥

userCode

字符串


当前已认证的系统用户帐号

targetsystemCode 

字符串


目标系统编码

targetUrl

字符串


目标url

输出数据描述:

参数名称

类型

必填

说明

code

整形

0成功 -1失败

msg

字符串


返回错误码

data

对象


成功后返回URL

5  错误码和对应消息

返回Code说明

序号

错误码

说明

1

0

成功

2

-1

错误

 

返回msg说明

序号

消息码

说明

1

SUCCESS

成功

2

PARAM_IS_NULL

参数为空

3

CODE_INVALID

编码字段不合法

4

ID_REDUPLICATE

ID重复

5

ID_INVALIDATE

ID不合法

6

GUID_REDUPLICATE

Guid重复

7

EXTERNAL_ID_REDUPLICATE

ExternalID重复

8

MANAGER_INVALIDATE

管理员属性不合法

9

VICE_MANAGER_INVALIDATE

副管理员不合法

10

SECRETARY_INVALIDATE

秘书不合法

11

PARENT_NULL

父属性不合法,为空或者不存在

12

COMPANY_INVALIDATE

公司属性不合法,为空或者不存在

13

GROUP_CHILD_INVALIDATE

GROUP中包含的子单元不合法

14

UNIT_ID_INVALIDATE

UnitID不合法

15

ORGANIZATION_UNIT_CYCLE_INVALIDATE

组织单元形成了环,不合法

16

CANNT_ITERATE_TO_COMPANY

无法路由的根

17

COMPANY_INCONSISTENT

公司不一致

18

COMPANY_NOT_EXIST

公司不存在

19

TITLE_NAME_NULL

头衔的名称为空

20

UNIT_NOT_EXIST

组织不存在

21

TITLE_NAME_DUPLICATE

头衔名称重复

22

NOT_SUPPORT_UNIT

不支持的类型

23

ACTIVE_DIRECTORY_NOT_CONNECTED

无法连接活动目录

24

ACTIVE_DIRECTORY_ROOT_SHOULD_BE_DNS_OR_OU

要导入的AD根节点必须是DNS或者OU

25

LOGIN_ACTIVE_DIRECTORY_FAILED

登录活动目录失败

26

UNKNOWN_ERROR

未知的错误

27

SYNCHRONING

正在同步

28

CYCLE_INVALIDATE

存在环

29

CHILD_NOT_ALLOW_BELONG_TO_MULTI_GROUP

子元素不允许同时存在多个组中

30

USER_ALIAS_NOT_EXIST_IN_AD

用户在AD中不存在

31

NAME_INVALID

名称不合法

32

NAME_REDUPLICATE

名称重复

33

PARENT_MUST_BE_OU_OR_COMPANY

父对象必须为OU或公司

34

CODE_DUPLICATE

组织的编码存在重复

35

CODE_IS_NULL

组织的编码为空

36

EMPLOYEE_NUMBER_DUPLICATE

员工编号存在重复

37

POST_NOT_EXIST

岗位不存在

38

POST_TEMPLATE_NOT_EXIST

职位不存在

39

POST_TEMPLATE_DUPLICATED

职位定义重复

40