1、概述
COP平台开放写入OpenAPI,由三方异构系统定时增量推送,完成事项同步模式。
2、核心字段定义
术语 | 定义 | 来源 | 测试数据 |
---|---|---|---|
appKey | V8统一认证中心分配给每个接入应用的唯一标识Id,别名应用Id | 致远COP | 3e4a140e2509477396fa04ddcd70c3d2 |
AppSecret | V8统一认证中心分配给每个接入应用的加密解密秘钥,别名应用秘钥 | 致远COP | 5bad0b6618934c62bffefe4cc0d8c03d |
url前缀 | 文档中所有接口的请求前缀 | 致远COP | http://openapi-bpm.CC.com.cn |
capabilityId | 同步能力编码,针对事项同步场景:新增待办、新增我的已发、已发更新为已办 | 致远COP | 1531486151775358223 |
capabilityId | 同步能力编码,针对消息同步场景 | 致远COP | 1457957992996539915 |
3. 集成导图
4、接口签名
4.1、请求头(Header)
参数名称 | 是否必填 | 参数说明 |
---|---|---|
app-key | true | 应用的唯一标识,创建接入应用后生成,可在应用基础信息页面获得。 示例:d43b0b442cf34076a2c4af6bb8928afb |
sign-type | true | 固定值:MD5 |
sign | true | 签名,字符串“AppSecret+请求体的JSON字符串+AppSecret”的MD5值(MD5值忽略大小写) AppSecret,为应用的秘钥,创建接入应用后生成,可在应用基础信息页面获得。 示例:154fa5bc7e294deda68a15559b07c845请求体的JSON字符串, 需要将请求体中的请求参数转换为JSON字符串。 |
Accept-Language | false | 语种:用以设置开放平台OpenAPI运行时上下文的语种参数。 枚举项可选值列表:zh-CN(简体中文), zh-TW(繁体中文), en(英文), 其他枚举项请参照平台语种列表。 |
4.2、签名示例(sign)
String secret = "154fa5bc7e294deda68a15559b07c845";
String body = "{"name": "张三", "age": 35, "company": {"name": "致远", "address": "北京"}";
String sign = Md5(secret + body + secret); // 结果是 01a8795a7fe6dda23aaec40de3d301b7;
5、集成配置
目的:生成APPKey、APPSecret和同步能力编码三个核心参数
5.1. 新建集成应用
5.2. 配置单点登录
5.3、新建事项同步,获取事项同步能力编码
5.4、发布应用
5.5、启用API
5.6、新建接入应用
5.7、启用接入应用
5.8、分配APPKey和AppSecret
5.9、应用级别API授权
5.10、按需开启IP白名单
5.11、按需开启限流控制
5.12、API调用日志
6、接口清单
请求地址:
【url前缀】/cip-manager/plugin-affair/create-update
请求参数
参数名称 | 父节点 | 是否必填 | 参数类型 | 参数描述 |
---|---|---|---|---|
requestId | true | string | 请求流水号。同一接入应用下的流水号不要重复 | |
timestamp | true | int64 | 请求时间戳。请求时间和服务器时间不能相差过大, 默认5分钟以内。 |
|
notifyUrl | false | string | 异步回调URL。 如果此参数非空,表示使用异步方式调用开放API, 执行结果将通过此URL异步通知调用者。 |
|
data | true | PluginAffairBatchDto | 请求参数数据 | |
capabilityId | data | true | int64 | 待办同步能力编号 |
affairAction | data | true | enum[START:START; OTHER:OTHER; ] |
产生事项变更的动作 |
idType | data | true | enum[OUTER_ID; V8_ID; V8_CODE; V8_LOGIN_NAME; V8_PHONE;] |
发起人/处理人标识类型, 不传递默认OUTER_ID(三方系统ID)。 枚举项可选值列表:OUTER_ID(三方系统ID), V8_ID(V8内部ID), V8_CODE(V8系统编号), V8_LOGIN_NAME(V8登录名), V8_PHONE(V8手机号) |
affairList | data | true | array[PluginAffairDetailDto] | 待办详情列表 |
externalAffairId | affairList | true | string | 事项标识 |
startMemberId | affairList | true | string | 发起人标识 |
startTime | affairList | true | string | 发起时间。毫秒时间戳或者yyyy-MM-dd HH:mm:ss格式 |
ownerId | affairList | true | string | 处理人标识 |
title | affairList | true | string | 待办标题 |
importance | affairList | true | int32 | 重要程度,0=普通,1=重要 |
receiveTime | affairList | true | string | 接收时间。毫秒时间戳或者yyyy-MM-dd HH:mm:ss格式 |
todoWebUrl | affairList | true | string | PC端查看地址 |
todoMobileUrl | affairList | true | string | 移动端查看地址 |
objectId | affairList | true | string | 组ID,比如流程id |
dealTime | affairList | true | string | 处理时间。毫秒时间戳或者yyyy-MM-dd HH:mm:ss格式 |
newStatus | affairList | true | string | 目标状态,仅更新时使用enum[ NONE:默认值:空; READY:待发; SENT:已发; PENDING:待办; DONE:已办; REVOKE:撤销; ] |
subStatus | affairList | true | string | 目标子状态,仅更新时使用 pending=正常待办 ready=草稿待发 sent=正常已发 done=正常已办 temporary=暂存 backed=被退回 retrieve=取回s top=终止 terminated=被终止 transfer=移交 return=退回 specifyFallback=指定退回 revoke=撤销 revoked=被撤销 beCompetitive=被竞争 abandoned=废弃 sender=回退到开始节点子状态 pause=挂起状态 |
objectState | affairList | true | int32 | -1=空 0=运行中 1=终止 2=完成 4=挂起 5=撤销 6=草稿 7=删除 |
compareKey | affairList | true | string | 数据更新标识。传递时间戳即可 |
openType | affairList | false | string | 详情打开方式:WORKSPACE(工作区), NEWWINDOW(新窗口,默认值) |
请求示例
{
"data": {
"affairList": [
{
"newStatus": "DONE",/*枚举值*/
"externalAffairId": "123321128",/*业务系统事项Id,唯一*/
"importance": 1,/*枚举值*/
"startMemberId": "MB202305060001",/*根据idType定义,示例中idType=V8_CODE时,传值致远V8用户Code*/
"ownerId": "MB202305060001",/*根据idType定义,示例中idType=V8_CODE时,传值致远V8用户Code*/
"title": "待办同步测试123",/*待办事项标题*/
"todoWebUrl": "PC详情url",/*待办事项PC端待处理页URL地址*/
"subStatus": "pengding",/*枚举值*/
"receiveTime": "2023-04-24 19:25:30",/*接受时间*/
"compareKey": "1688033651186",/*数据更新标识。传递时间戳*/
"dealTime": "2023-04-24 19:25:30",/*处理时间*/
"startTime": "2023-04-24 19:25:30",/*发起时间*/
"todoMobileUrl": "移动端详情url123",/*待办事项移动端待处理页URL地址*/
"openType":"NEWWINDOW",/*枚举值,详情页打开方式*/
"objectId": "1008"/*流程Id,与待办objectId参数一致*/
}
],
"capabilityId": "1531486151775358223",/*固定值,事项同步能力编码*/
"affairAction": "OTHER",/*固定值*/
"idType":"V8_CODE"/*枚举值*/
},
"requestId": "1395151404498159078",/*请求流水号,每次请求唯一*/
"timestamp": 1688033651186/*请求时间戳,毫秒级*/
}
返回参数
参数名称 | 父节点 | 参数类型 | 参数描述 |
---|---|---|---|
data | SingleData | 返回值数据 | |
content | data | void | 数据对象 |
details | content | array | |
externalAffairId | details | string | 事项ID |
result | details | string | 操作结果,ADD=新增,MODIFY=更新 |
status | int32 | 状态 | |
code | string | 错误码 | |
message | string | 返回信息 |
返回示例
{
"status": 0,/*成功标识*/
"code": "BOOT_0000",/*错误码*/
"message": "SUCCESS",/*返回信息*/
"data": {
"content": {
"details": [
{
"externalAffairId": "1693299012298",
"result": "ADD"
}
]
}
}
}