workflow.md 4.7 KB

工作流相关接口

获取工作流列表

URL

api/v1.0/workflows

method

get

使用场景

获取到工作流列表后,用户选择对应的工作流来新建对应的工单。如果需要多级类型,可以在调用方系统保存对应关系。如调用方的“权限申请-VPN权限申请“对应loonflow中id为1的workflow,调用方的“权限申请-服务器权限申请“对应loonflow中id为2的workflow

请求参数

参数名 类型 必填 说明
page int 页码,默认1
per_page int 每页个数,默认10
name varchar 支持根据workflow name模糊查询

返回数据

{
	"code": 0,
	"data": {
		"total": 2,
		"page": 1,
		"per_page": 10,
		"value": [{
			"name": "请假申请",
			"creator": "admin",
			"description": "请假申请",
			"gmt_created": "2018-04-23 20:49:32"
		}, {
			"name": "vpn申请",
			"creator": "admin",
			"description": "vpn权限申请",
			"gmt_created": "2018-05-06 12:32:36"
		}]
	},
	"msg": ""
}

获取工作流初始状态

URL

api/v1.0/workflows/{workflow_id}/init_state

method

get

请求参数

返回数据

{
	"msg": "",
	"code": 0,
	"data": {
		"order_id": 0,
		"workflow_id": 1,
		"name": "新建中",
		"participant_type_id": 1,
		"distribute_type_id": 1,
		"participant": "wangfei",
		"is_hidden": false,
		"type_id": 1,
		"gmt_created": "2018-04-23 20:53:33",
		"id": 1,
		"transition": [{
			"transition_id": 1,
			"transition_name": "提交"
		}, {
			"transition_id": 2,
			"transition_name": "保存"
		}],
		"sub_workflow_id": 0,
		"creator": "admin",
		"label": {},
		"field_list": [{
			"order_id": 20,
			"field_key": "title",
			"field_attribute": 2,
			"value": null,
			"name": "标题",
			"field_type_id": 5
		}, {
			"order_id": 35,
			"field_key": "leave_proxy",
			"field_attribute": 2,
			"field_type_id": 60,
			"field_value": null,
			"field_name": "代理人",
			"field_choice": {}
		}, {
			"order_id": 25,
			"field_key": "leave_end",
			"field_attribute": 2,
			"field_type_id": 30,
			"field_value": null,
			"field_name": "结束时间",
			"field_choice": {}
		}, {
			"order_id": 20,
			"field_key": "leave_start",
			"field_attribute": 2,
			"field_type_id": 30,
			"field_value": null,
			"field_name": "开始时间",
			"field_choice": {}
		}, {
			"order_id": 40,
			"field_key": "leave_type",
			"field_attribute": 2,
			"field_type_id": 40,
			"field_value": null,
			"field_name": "请假类型",
			"field_choice": {
				"1": "年假",
				"2": "调休",
				"3": "病假",
				"4": "婚假"
			}
		}, {
			"order_id": 45,
			"field_key": "leave_reason",
			"field_attribute": 2,
			"field_type_id": 55,
			"field_value": null,
			"field_name": "请假原因及相关附件",
			"field_choice": {}
		}, {
			"order_id": 30,
			"field_key": "leave_days",
			"field_attribute": 2,
			"field_type_id": 5,
			"field_value": null,
			"field_name": "请假天数(0.5的倍数)",
			"field_choice": {}
		}]
	}
}

获取工作流状态详情

URL

api/v1.0/workflows/states/{state_id}

method

get

使用场景

请求参数

返回数据

{
	code: 0,
	data: {
		participant: "zhangsan",
		sub_workflow_id: 0,
		is_hidden: false,
		distribute_type_id: 1,
		state_field: {
			model: 1
		},
		order_id: 0,
		creator: "admin",
		type_id: 0,
		label: {},
		#自定义标签, json格式保存, 接口调用方可针对状态的标签字段灵活显示前端页面。 如可以设置为 {
			'appdetail': 1,
			'projectdetail': 2
		}
		表示这个状态下前端需要显示应用详情、 项目详情,含义和前端约定好就行。 loonflow只负责将配置的信息返回给前端
		gmt_created: "2018-04-23 20:53:33",
		participant_type_id: 1,
		workflow_id: 1,
		name: "新建中",
		id: 1
	},
	msg: ""
}

获取工作流的状态列表

URL

api/v1.0/workflows/{workflow_id}/states

method

get

使用场景

可用于用户查询工单列表时选择工作流类型后,显示该工作流类型拥有的状态,然后可以再根据工单当前状态来查询

请求参数

参数名 类型 必填 说明
page int 第几页,默认第一页
per_page int 每页多少行数据

返回数据

{

code: 0,
data: {
    "total": 2,
    "page": 1,
    "per_page": 10,
    "value": [{
        "id": 1,
        "name": "发起人编辑中",
        "workflow_id": 1,
        "sub_workflow_id": 0,
        "is_hidden": 0,
        "order_id": 0,
        "participant_type_id": 5,
        "participant": "creator",
        "distribute_type_id": 1,
        "state_field_str": {
            "title": 2,
            "description": 2,
            },
        "label": {},
        "creator": "loonflow",
        "gmt_created": "2018-02-27 06:00:00"
        }]
},
msg: ""