6. 工单中台API
API列表
编号 | API名称 | 路径 | 版本 |
---|---|---|---|
6.1 | 获取工单模板类型列表 | /mid/workorder/business/template/category/query/list | 1.0 |
6.2 | 获取工单模板列表 | /mid/workorder/business/template/query/list | 1.0 |
6.3 | 获取工单模板属性 | /mid/workorder/business/template/attribute/query/list | 1.0 |
6.4 | 创建工单 | /mid/workorder/business/order/create | 1.0 |
6.5 | 文件上传 | /mid/workorder/business/upload/file | 1.0 |
6.6 | 工单详情 | /mid/workorder/business/order/detail | 1.0 |
6.7 | 工单轨迹信息 | /mid/workorder/business/order/track/list | 1.0 |
6.8 | 工单表单详情 | /mid/workorder/business/order/detail/list | 1.0 |
API调用
6.1: 获取工单模板类型列表
描述
请求信息 .
HTTP协议:HTTP,HTTPS
uri:/mid/workorder/business/template/category/query/list
方法:POST
请求参数
名称 | 位置 | 类型 | 必填 | 描述 |
---|---|---|---|---|
communityId | BODY | STRING | 否 | 项目ID |
请求Body描述(非Form表单数据)
{
"communityId": "123456"
}
返回信息
返回参数类型
JSON
返回参数
名称 | 位置 | 类型 | 必填 | 描述 |
---|---|---|---|---|
code | 顶层 | STRING | 是 | 响应码标识 |
message | 顶层 | STRING | 是 | 响应消息文本 |
data | 顶层 | JSONObject | 是 | 响应数据对象 |
categorys | data | JSONArray | 是 | 模板类型列表 |
templateCode | categorys | STRING | 是 | 模板类型code |
templateName | categorys | STRING | 是 | 模板类型名称 |
返回结果示例
{
"code": "200",
"message": "success",
"data": {
"categorys":[{
"templateCode": "Equiment",
"templateName":"xxx"
}]
}
}
异常返回示例
{"code":"1601","message":""}
6.2: 获取工单模板列表
描述
请求信息 .
HTTP协议:HTTP,HTTPS
uri:/mid/workorder/business/template/query/list
方法:POST
请求参数
名称 | 位置 | 类型 | 必填 | 描述 |
---|---|---|---|---|
communityId | BODY | STRING | 否 | 项目ID(如不传或传0,则取默认模板列表) |
templateCode | BODY | STRING | 否 | 模板类型 |
请求Body描述(非Form表单数据)
{
"communityId": "123456",
"templateCode": "01"
}
返回信息
返回参数类型
JSON
返回参数
名称 | 位置 | 类型 | 必填 | 描述 |
---|---|---|---|---|
code | 顶层 | STRING | 是 | 响应码标识 |
message | 顶层 | STRING | 是 | 响应消息文本 |
data | 顶层 | JSONObject | 是 | 响应数据对象 |
templates | data | JSONArray | 是 | 模板列表 |
templateDifId | templates | LONG | 是 | 模板类型Id |
templateName | templates | STRING | 是 | 模板类型名称 |
busiTypeId | templates | LONG | 是 | 模板分类ID |
busiName | templates | STRING | 是 | 模板分类名称 |
busiCode | templates | STRING | 是 | 模板分类Code |
templateInstName | templates | STRING | 是 | 模板实例名称 |
返回结果示例
{
"code": "200",
"message": "success",
"data": {
"templates":[{
"templateDifId": 123456,
"templateName":"xxx",
"busiTypeId":123456,
"busiName":"xxx",
"busiCode":"xxx",
"templateInstName":"xxxx"
}]
}
}
异常返回示例
{"code":"1601","message":""}
6.3: 获取工单模板属性
描述
请求信息
HTTP协议:HTTP,HTTPS
uri:/mid/workorder/business/template/attribute/query/list
方法:POST
请求参数
名称 | 位置 | 类型 | 必填 | 描述 |
---|---|---|---|---|
communityId | BODY | STRING | 是 | 项目ID |
templateDifId | BODY | LONG | 是 | 模板ID |
请求Body描述(非Form表单数据)
{
"communityId": "123456",
"templateDifId": 12345678
}
返回信息
返回参数类型
JSON
返回参数
名称 | 位置 | 类型 | 必填 | 描述 |
---|---|---|---|---|
code | 顶层 | STRING | 是 | 响应码标识 |
message | 顶层 | STRING | 是 | 响应消息文本 |
data | 顶层 | JSONObject | 是 | 响应数据对象 |
attrs | data | JSONArray | 是 | 模板列表 |
attrInstId | attrs | STRING | 是 | 属性Id |
attrName | attrs | STRING | 是 | 属性名称 |
attrCode | attrs | STRING | 是 | 属性编码 |
required | attrs | STRING | 是 | 是否必传1必传,0非必传 |
widgetType | attrs | STRING | 是 | 属性类型 |
返回结果示例
{
"code": "200",
"message": "success",
"data": {
"attrs":[{
"attrInstId": "xxxx",
"attrName":"xxx",
"attrCode":"xxx",
"required":"xxx",
"widgetType":"xxx"
}]
}
}
异常返回示例
{"code":"1601","message":""}
6.4: 创建工单
描述
请求信息
HTTP协议:HTTP,HTTPS
uri:/mid/workorder/business/order/create
方法:POST
请求参数
名称 | 位置 | 类型 | 必填 | 描述 |
---|---|---|---|---|
communityId | BODY | STRING | 是 | 项目ID |
templateDifId | BODY | STRING | 是 | 模板ID |
busiTypeCode | BODY | STRING | 是 | 服务子类code |
userAccount | BODY | STRING | 否 | 提单人账户(美的方的员工账号:zhangs1) |
application | BODY | STRING | 是 | 事件来源(如VideoSecurity) |
eventId | BODY | STRING | 是 | 事件实例Id |
eventType | BODY | STRING | 是 | 事件分类 |
eventTag | BODY | STRING | 否 | 事件标签 |
eventClassId | BODY | STRING | 否 | 事件类型ID |
eventClassName | BODY | STRING | 否 | 事件类型名称 |
deviceId | BODY | STRING | 否 | 设备Id(区分是否设备工单) |
variables | BODY | JSONArray | 是 | 属性列表 |
attrCode | variables | STRING | 是 | 属性编码 |
attrInstId | variables | STRING | 是 | 属性ID |
attrValue | variables | STRING | 是 | 属性值 |
widgetType | variables | STRING | 是 | 属性类型 |
请求Body描述(非Form表单数据)
{
"communityId": "123456",
"templateDifId": 12345678,
"busiTypeCode": "xxx",
"application": "VideoSecurity",
"eventId": "xxxxx",
"eventType": "xxxxx",
"eventTag": "xxxxx",
"eventClassId": "xxxxx",
"eventClassName": "xxxxx",
"deviceId": "xxxxx",
"variables":[
{
"attrCode":"xxx",
"attrInstId":"123",
"attrValue":"xxxx",
"widgetType":"xxxx"
}
]
}
返回信息
返回参数类型
JSON
返回参数
名称 | 位置 | 类型 | 必填 | 描述 |
---|---|---|---|---|
code | 顶层 | STRING | 是 | 响应码标识 |
message | 顶层 | STRING | 是 | 响应消息文本 |
data | 顶层 | JSONObject | 是 | 响应数据对象 |
workorderId | data | STRING | 是 | 工单ID |
返回结果示例
{
"code": "200",
"message": "success",
"data": {
"workorderId":"12345678"
}
}
异常返回示例
{"code":"1601","message":""}
6.5: 图片上传
描述
请求信息
HTTP协议:HTTP,HTTPS
uri:/mid/workorder/business/upload/file
方法:POST
请求参数 (Form表单)
名称 | 位置 | 类型 | 必填 | 描 |
---|---|---|---|---|
fileType | Parameter | STRING | 是 | 文件类型(IMAGE=图像、VIDEO=视频、AUDIO=音频) |
file | Parameter | MultipartFile | 否 | 文件二进制流(与fileBase64二选一) |
fileBase64 | BODY | STRING | 否 | 图片Base64字符串(不需要data:image/jpeg;base64,标记) |
请求参数描述
uri?fileType=IMAGE
{
"fileBase64":"xxxxxxxxx"
}
返回信息
返回参数类型
JSON
返回参数
名称 | 位置 | 类型 | 必填 | 描述 |
---|---|---|---|---|
code | 顶层 | STRING | 是 | 响应码标识 |
message | 顶层 | STRING | 是 | 响应消息文本 |
data | 顶层 | JSONObject | 是 | 响应数据对象 |
返回结果示例
{
"code": 200,
"message": "success",
"data":{
"url": "http://xxxxxxx/1565421237883test.jpg"
}
}
6.6: 工单详情
描述
请求信息
HTTP协议:HTTP,HTTPS
uri:/mid/workorder/business/order/detail
方法:POST
请求参数 (Form表单)
名称 | 位置 | 类型 | 必填 | 描 |
---|---|---|---|---|
communityId | BODY | STRING | 是 | 项目ID |
workorderId | BODY | STRING | 是 | 服务工单编号 |
请求Body描述(非Form表单数据)
{
"communityId": "123456",
"workorderId": "12345678"
}
返回信息
返回参数类型
JSON
返回参数
名称 | 位置 | 类型 | 必填 | 描述 |
---|---|---|---|---|
code | 顶层 | STRING | 是 | 响应码标识 |
message | 顶层 | STRING | 是 | 响应消息文本 |
data | 顶层 | JSONObject | 是 | 响应数据对象 |
返回结果示例
{
"code": 200,
"message": "success",
"data":{
"workorderId": "服务工单ID",
"workorderCode": "服务工单编码",
"templateType":"模板类型编码",
"templateInstName": "服务模板名称", //公共取定义表,其他取别名
"busiTypeId": "业务类型Id",
"busiTypeCode": "业务类型编码",
"busiTypeName": "业务类型名称",
"houseId": "房屋号",
"houseInfo": "软件园1栋1单元101房",
"transportTypeId": "接入类型", //1: APP终端接入 2: 400电话界面接入 3: 系统内部接入
"transportTypeName": "接入类型名称", //1: APP终端接入 2: 400电话界面接入 3: 系统内部接入
"noteName": "", //录单人姓名
"contactName": "联系人姓名",
"contactTel": "联系人电话",
"organId": "组织机构ID",
"organName": "项目名称",
"createDate": "工单创建时间",
"beginDate": "工单计划开始时间",
"endDate": "工单计划结束时间",
"remark": "备注",
"categoryId": 0 ,// 模版服务类型
"isBespeak": "是否预约(0-否;1-是)",
"bespeakBegintime": "预约开始时间(isBespeak=1时有效)",
"bespeakEndtime": "预约结束时间(isBespeak=1时有效)",
"companyName":"提单人所属公司(企业成员提单才有值)",
"dealClass": "1" ,// 处理人类型,1:处理人;2:协同人;0:非我处理工单
"urgentLevel": "加急等级(0-不加急;大于0-加急)",
"hangStatus":"挂起标识",
"hangConsumeTime":"挂起耗时",
"trackId": "", //轨迹ID
"supflag","",//超时标识 1 ,2,3分别标识几级超时 0 或者空未超时
"suptype","",//处理过的环节,超时处理 000:未处理,001:一级督办,011:二级督办,111:三级督办 非000或空时参考supflag。
"resultCode": "处理结果",
"resultCodeName": "处理结果名称",
"status": "工单状态(0-未完成;1-已完成)",
"trackBeginTime": "当前环节轨迹开始时间",
"overTimeConf": "超时配置:30,60,80(一级,二级,三级)逗号隔开,0为不超时 单位:分钟",
"scoreFlag":"",//是否积分工单:1是 0 否
"canCancel":"",//是否可撤销1:可撤销;0:不可撤销 只有该员工在我的工单菜单中有可撤销权限且工单可撤销的情况下该工单才可撤销
"hangTrackFlag",""//是否挂起跟进,挂起工单才有效 1:是,0:否
}
}
6.7: 工单轨迹信息
描述
请求信息
HTTP协议:HTTP,HTTPS
uri:/mid/workorder/business/order/track/list
方法:POST
请求参数 (Form表单)
名称 | 位置 | 类型 | 必填 | 描 |
---|---|---|---|---|
communityId | BODY | STRING | 是 | 项目ID |
workorderId | BODY | STRING | 是 | 服务工单编号 |
请求Body描述(非Form表单数据)
{
"communityId": "123456",
"workorderId": "12345678"
}
返回信息
返回参数类型
JSON
返回参数
名称 | 位置 | 类型 | 必填 | 描述 |
---|---|---|---|---|
code | 顶层 | STRING | 是 | 响应码标识 |
message | 顶层 | STRING | 是 | 响应消息文本 |
data | 顶层 | JSONObject | 是 | 响应数据对象 |
返回结果示例
{
"code": 200,
"message": "success",
"data":{
"trackList": [{
"trackId": "轨迹id",
"trackCode": "轨迹编码",
"trackName": "轨迹名称",
"createDate": "创建时间",
"handleDate": "服务处理时间",
"trackStatus": "", //0 待处理,1 已处理
"overType": "", // 0正常完结,1取消(终止)5系统关闭 6强制关闭
"currentUser": [{
"userId": "",
"userName": "",
"userType": ""
}], // 当前待处理用户,或处理用户
"nextTrackCode": "下一环节轨迹编码",
"nextTrackName": "下一环节轨迹名称",
"nextUser": [], // 下一步处理人
"dealAdvise": "处理意见", // 处理意见、评价描述
"evalue":"评价值",
"evalueChannel":"评价来源1. 业主APP,2短信,3. ",
"isAgree":"是否通过(同意)回访、审核;1:通过,2不通过",
"opUserType":"操作用户量类型[评价、回访]:1. 提单人or用户,2. 系统,3 员工",
"overTimeflag":"超时级别(取supflag)",
“charge”:””,//总金额,有偿服务总费用(分)
“isPayService”:””,// 是否收费
"variables": [{ // 按低保真 处理环节有 照片、语音、视频 (有则下发)
"title": "", // 标题
"widgetType": "", // 控件类型
"attrValueType": "", // 属性值type 1. 枚举值 ,2. 用户输入 ,3. 固定值
"initData": "[{\"id\":\"1\",\"value\":\"test\"}]", //JSON格式string,属性值type 1时必填
"attrValue": "" //属性值
}],
"materiels": [{ // 物料
"goodsName": "", // 名称
"goodsBrand": "",// 品牌
"goodsModel": "", // 类型
"price": "", // 单价(分)
"useCount": "" // 数量
"unit": "" // 单位
}],
"payServices": [{ // 有偿服务
"serviceName": "",
"pirce": ""
}]
}]
}
}
6.8: 工单表单详情
描述
请求信息
HTTP协议:HTTP,HTTPS
uri:/mid/workorder/business/order/detail/list
方法:POST
请求参数 (Form表单)
名称 | 位置 | 类型 | 必填 | 描 |
---|---|---|---|---|
communityId | BODY | STRING | 是 | 项目ID |
workorderId | BODY | STRING | 是 | 服务工单编号 |
请求Body描述(非Form表单数据)
{
"communityId": "123456",
"workorderId": "12345678"
}
返回信息
返回参数类型
JSON
返回参数
名称 | 位置 | 类型 | 必填 | 描述 |
---|---|---|---|---|
code | 顶层 | STRING | 是 | 响应码标识 |
message | 顶层 | STRING | 是 | 响应消息文本 |
data | 顶层 | JSONObject | 是 | 响应数据对象 |
返回结果示例
{
"code": 200,
"data": {
"detailList": [
{
"attrInstId": "20423507",
"seq": "2",
"disGroupid": "0",
"readable": "1",
"writable": "0",
"required": "0",
"attrCode": "device_code_id",
"widgetType": "text",
"contentLengthLimit": "151",
"title": "设备编号",
"markedWords": "设备编号输入",
"expressCode": "",
"attrValueType": "2",
"initData": "[]",
"attrValue": "1144507352"
},
{
"attrInstId": "20423508",
"seq": "3",
"disGroupid": "0",
"readable": "1",
"writable": "0",
"required": "0",
"attrCode": "XJ_device_name_id",
"widgetType": "text",
"contentLengthLimit": "121",
"title": "设备名称",
"markedWords": "请输入设备名称",
"expressCode": "",
"attrValueType": "2",
"initData": "[]",
"attrValue": "万联实验室内门禁摄像头"
},
{
"attrInstId": "20423509",
"seq": "10",
"disGroupid": "0",
"readable": "1",
"writable": "0",
"required": "0",
"attrCode": "REMARK9",
"widgetType": "textarea",
"contentLengthLimit": "128",
"title": "告警描述",
"markedWords": "情况说明",
"expressCode": "",
"attrValueType": "2",
"initData": "[]",
"attrValue": "环境工单@@"
},
{
"attrInstId": "20423510",
"seq": "11",
"disGroupid": "0",
"readable": "1",
"writable": "0",
"required": "0",
"attrCode": "SCZP_ID",
"widgetType": "photo",
"contentLengthLimit": "10",
"title": "上传照片",
"markedWords": "请上传照片",
"expressCode": "",
"attrValueType": "2",
"initData": "[]",
"attrValue": "[\"/picture/2019/12/23/485/201912231716214065_480_272.JPEG\"]"
}
],
"picHost": "http://wypictest.mideadc.com"
},
"message": "success"
}
错误码列表(1601-1699)
错误码 | 错误信息 | 描述 |
---|---|---|
1601 | the workorder template not exists | 工单模板不存在 |
公共错误码 | -- | 所有API公用的错误码,请参照《 公共错误码 》 |