开发前必读
概述
开发者使用指南
开发者使用流程
通信说明
开发者工具
更新日志
基础能力接口
获取token接口
外部系统单点登录
单点登录使用说明
获取单点登录用户信息
通讯录管理
获取部门列表
新增部门
修改部门
删除部门
新增用户
修改用户
删除用户
获取用户列表
通讯录变更同步
获取标签信息
新增标签
修改标签
删除标签
获取标签成员列表
添加标签成员
删除标签成员
按部门查询标签
按用户查询标签
离职用户
获取离职信息
用户复职
获取自定列表信息
第三方消息推送
推送文本消息
推送图文消息
推送消息附录
统一消息推送(回调)
图片附件上传
图片附件下载
图片附件单个下载
图片附件批量下载
应用数据接口
表单流程/七巧
新增表单
获取表单模板信息
推送数据
修改表单数据
删除表单数据
数据源
数据回调
导出表单流程数据
获取填写情况详细数据(新)
通过ID获取填写详细数据(新)
流程干预
获取填写情况详细数据(旧)
通过ID获取填写详细数据(旧)
获取应用填写详细数据(待办、已办等)
发票识别接口
发票验真接口
附录
考勤打卡
获取考勤规则列表
获取考勤详细信息
获取考勤日报信息
注册考勤服务
新增虚拟考勤机
删除虚拟考勤机
考勤机打卡
获取考勤排班明细
获取考勤异常申诉记录
请假出差
获取请假信息列表
获取请假类型列表
假期管理
获取请假详情信息
新闻公告
获取新闻动态类型
新增新闻动态
获取新闻列表
获取新闻详情
获取个人新闻列表
费控报销
获取报销信息列表
获取成本中心信息列表
导入成本中心
获取预算明细
获取发票信息列表
获取借款信息列表
获取用户可见范围内成本中心
获取用户可见范围内科目
获取超额预算
费控预算操作
企业用车
获取车辆申请列表
任务分派
获取任务分派信息列表
获取任务类型信息接口
新建任务接口
移动CRM
获取客户信息列表
获取客户字段
新增客户
更新客户
获取客户详情
获取客户类别
获取所有公海池
获取所有行业信息
获取联系人信息列表
获取联系人字段
新增联系人
更新联系人
获取联系人详情
获取商机信息列表
获取商机字段
新增商机
更新商机
获取商机详情
获取商机阶段或商机类型
修改商机阶段
获取拜访信息列表
获取合同信息列表
获取合同字段
新增合同
更新合同
获取合同详情
获取公海池客户信息列表
获取公海池客户详情
培训考试
获取考试成绩列表
获取考试统计信息列表
获取考试人员明细
获取学习统计信息列表
获取个人学习档案信息列表
获取课程统计信息列表
获取课程人员明细
获取个人学分明细
获取讲师信息列表
获取题库试题明细
新增题库试题
删除题库试题
移动外勤
获取签到信息列表
会议管家
获取会议详情
获取会议纪要详情
获取会议室详情
获取区域列表
获取会议室列表
获取会议详情列表

推送数据

开发说明

功能说明:表单流程数据推送接口,根据参数不同可以发起流程/任务或者直接归档。

直接归档: 明细导入成功后通知提单人,提单人需从待办列表打开表单,确认后操作提交
提单人操作提交: 明细导入成功后通知提单人,提单人需从待办列表打开表单,确认后操作提交
自动提交: 明细导入成功后通知提单人,并自动提交表单进行流转
(导入的数据在视图“所有明细"中查看)
以下场景系统无法自动转为内部流程,需要手动流转:
① 提单节点符合多个流转条件,且需提单人选择下一节点时
② 第一节点处理人为“部门负责人”,且提单人属于多部门时
③ 第一节点允许被上一节点指定处理人,且需提单人选择时
④ 第一节点处理人为“上一节点选择”时
⑤ 任一节点处理人为“提单人选择”时
⑥ 设置了多个固定流程,需提单人选择时
(导入的数据在视图“待提交明细"中查看)

请求方式:POST(HTTPS)multipart/form-data
请求地址:http://qwif.hbrhdl.com/qwcgi/api/apiForm/pushFormData.do?token=token&corpId=corpId&id=id&isFlow=1

请求包体:

{
	"ccList":
	[
		"相关人账号"
	],
	"creator":"提单人通讯录账号",
	"fieldMap":
	{
		"fo下拉框字段id":"其他:其他选项说明",
		"fo两级下拉框字段id":"选项1:二级选项1",
		"fo单行文字字段id":"单行文字",
		"fo单项选择字段id":"选项1",
		"fo图片字段id":
		[
			"图片相对路径"
		],
		"fo地理位置字段id":
		{
			"latitude":23.127874,
			"longitude":113.359924,
			"value":"地理位置名称"
		},
		"fo多行文字id":"多行文字\n多行文字",
		"fo多项选择字段id":
		[
			"选项1",
			"选项2"
		],
		"fo子表单字段id":
		[
			{
				"fo子字段单行文字字段id":"子字段单行文字",
				"fo子字段图片字段id":
				[
					"图片相对路径"
				],
				"fo子字段数字2字段id":"2",
				"fo子字段数字字段id":"998.00",
				"fo子字段计算式字段id":"1996.00"
			},
			{
				"fo子字段单行文字字段id":"子字段单行文字",
				"fo子字段数字2字段id":"1",
				"fo子字段数字字段id":"8999.00",
				"fo子字段计算式字段id":"8999.00"
			}

		],
		"fo手机号码字段id":"13700000000",
		"fo数字字段id":"8.00",
		"fo数据源字段id":
		[
			{
				"id":"编号",
				"name":"名称",
				"parentid":"关联编号"
			}

		],
		"fo日期字段id":"2022-06-07",
		"fo日期时间字段id":"2022-06-12 12:13",
		"fo时间字段id":"18:30",
		"fo电话字段id":"021-00000000",
		"fo省市区字段id":"上海省:上海市:天河区",
		"fo统计字段id":"10995.00",
		"fo表单关联字段id":
		[
			{
				"fo表单关联子字段id":"表单关联子字段",
				"id":"work底单明细id"
			}

		],
		"fo计算式字段id":"11003.00",
		"fo评分字段id":"9",
		"fo通讯录成员字段id":
		[
			"账号1",
			"账号2"
		],
		"fo邮箱字段id":"xxx@your-domain.com"
	},
	"instanceTitle":"工单明细标题",
	"isAnonymous":1,
	"toList":
	[
		"负责人账号"
	]

}

请求参数说明:


参数名 释义 类型 是否必须 描述

token

用于验证

String

参考获取token接口

corpId

公司唯一标识

String

id

表单id

String

isFlow

是否发起流程/任务

String

0:直接归档,1:提单人操作提交,2:自动提交

data 明细数据json(数组) FormDataPushVO[]


FormDataPushVO类型说明:
参数名 释义 类型 是否必须 描述

instanceTitle

表单数据标题

String

createTime

创建时间

String

yyyy-MM-dd hh:mm:ss,为空时使用系统当前时间

toList

负责人(账号)列表

Array

[admin1,admin2]

表单不支持负责人或需要发起流程/任务,此参数无效

ccList

相关人(账号)列表

Array

[admin1,admin2]

表单不支持相关人,此参数无效

creator

提单人或流程/任务发起人(账号)

String

fieldMap

数据json

JSON


{

字段id1:,

字段id2:,

.

子表单:[{

      子表单子段1:,

      子表单子段2:

}]

}

值格式参考附录4和示例

isAnonymous 是否匿名提交 Integer 开启匿名提交时生效,0:否,1:是

SDK调用示例:

		FormDataPushVO vo = new FormDataPushVO();
		// 提单时间,不填则用系统当前时间
		SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//		vo.setCreateTime(simpleDateFormat.format(new Date()));
		// 提单人账号
		vo.setCreator("提单人通讯录账号");
		// 工单标题
		vo.setInstanceTitle("工单明细标题");
		// 相关人账号
		vo.setCcList(new String[]{"相关人账号"});
		// 负责人账号
		vo.setToList(new String[]{"负责人账号"});
		// 匿名提交
		vo.setIsAnonymous(1);

		// 字段数据
		Map<String,Object> fieldMap = new HashMap<String,Object>();
		fieldMap.put("fo单行文字字段id", "单行文字");
		fieldMap.put("fo手机号码字段id", "13700000000");
		fieldMap.put("fo电话字段id", "021-00000000");
		fieldMap.put("fo邮箱字段id", "xxx@your-domain.com");

		fieldMap.put("fo单项选择字段id", "选项1");
		fieldMap.put("fo多项选择字段id", new String[]{"选项1","选项2"});
		fieldMap.put("fo下拉框字段id", "其他:其他选项说明");
		fieldMap.put("fo两级下拉框字段id", "选项1:二级选项1");

		GeoFieldVO gf = new GeoFieldVO();
		gf.setLatitude(23.127874);
		gf.setLongitude(113.359926);
		gf.setValue("地理位置名称");
		fieldMap.put("fo地理位置字段id", gf);

		fieldMap.put("fo省市区字段id", "上海省:上海市:天河区");
		fieldMap.put("fo多行文字id", "多行文字\n多行文字");
		fieldMap.put("fo日期字段id", "2022-06-07");
		fieldMap.put("fo时间字段id", "18:30");
		fieldMap.put("fo日期时间字段id", "2022-06-12 12:13");
		fieldMap.put("fo评分字段id", "9");
		fieldMap.put("fo图片字段id",new String[]{"/"});




		Map<String,Object> item = new HashMap<String,Object>();
		item.put("fo子字段图片字段id", new String[]{"图片相对路径"});
		item.put("fo子字段单行文字字段id", "子字段单行文字");
		item.put("fo子字段数字字段id", "998.00");
		item.put("fo子字段数字2字段id", "2");
		item.put("fo子字段计算式字段id", "1996.00");

		Map<String,Object> item2 = new HashMap<String,Object>();
		item.put("fo子字段图片字段id", new String[]{"图片相对路径"});
		item2.put("fo子字段单行文字字段id", "子字段单行文字");
		item2.put("fo子字段数字字段id", "8999.00");
		item2.put("fo子字段数字2字段id", "1");
		item2.put("fo子字段计算式字段id", "8999.00");
		fieldMap.put("fo子表单字段id", new Map[]{item,item2} );

		fieldMap.put("fo统计字段id", "10995.00");
		fieldMap.put("fo数字字段id", "8.00");
		fieldMap.put("fo计算式字段id", "11003.00");


		Map<String,Object> formRef = new HashMap<String,Object>();
		formRef.put("id", "work底单明细id");
		formRef.put("fo表单关联子字段id", "表单关联子字段");
		fieldMap.put("fo表单关联字段id", new Map[]{formRef} );

		Map<String,Object> dsMap = new HashMap<String,Object>();
		dsMap.put("id", "编号");
		dsMap.put("name", "名称");
		dsMap.put("parentid", "关联编号");
		fieldMap.put("fo数据源字段id", new Map[]{dsMap} );

		fieldMap.put("fo通讯录成员字段id", new String[]{"账号1","账号2"} );

		// 字段数据
		vo.setFieldMap(fieldMap);

		System.out.println(JSONUtil.objectToString(vo));
		FormApi api = QwSdkUtil.getInter(FormApi.class);
		// 调用接口
		ApiFormPushResult re = api.pushFormData(QwSdkUtil.getCacheToken(),
				"form表单id",1, new FormDataPushVO[]{vo});

		System.out.println(JSONUtil.objectToString(re));
		

返回结果:

{
	"code":"0",
	"data":
	{
		"errorMsgList":
		[
			"提单人账号不存在于通讯录中",
			""
		],
		"ids":
		[
			"",
			"6de49977f9514e8c9ddbf527a2de130d"
		]

	},
	"desc":"成功"
}

返回参数说明:

          参数

                说明

errorMsgList

该行数据导入失败的原因,空白表示导入成功。

ids

该行数据导入成功后分配的id,空白表示导入失败。