官网
帮助中心 / 开放能力 / 项目 API 接口文档

项目 API 接口文档

分类:开放能力 | 适用:开发者、IT、集成商 | 接口数:4
这帮你解决什么:项目模块开放API:项目/任务查询/创建接口,获取和操作项目数据。共 4 个接口,含请求参数和响应字段。

接口概览

接口方式路径说明
创建项目任务POST/open/api/saas/erp/projectTask/add创建一个新的项目任务,支持设置任务基本信息、时间计划、负责人、风险等级等
分页查询项目任务POST/open/api/saas/erp/projectTask/page根据多种条件分页查询项目任务列表,支持按项目ID、任务编码、任务名称、任务风险等维度筛选
查询项目任务详情POST/open/api/saas/erp/projectTask/detail根据任务id或任务编码查询项目任务的详细信息
分页查询项目POST/open/api/saas/erp/project/page根据多种条件分页查询项目列表,支持按项目编号、名称、关键字、状态、类型、负责人、开始时间、是否延期等维度筛选

1. 创建项目任务

方式: POST | 路径: /open/api/saas/erp/projectTask/add

创建一个新的项目任务,支持设置任务基本信息、时间计划、负责人、风险等级等

请求参数

参数名类型必填说明
projectIdLong项目id
taskNameString任务名称
taskTypeLong任务类型,1:需求,2:bug,100:外部采购订单
taskDescString任务描述
projectNodeIdLong节点id
taskStatusLong任务状态,1:未开始,2:已完成,3:进行中,4:取消,5:任务封档
taskPriorityLong任务优先级,1:P0,2:P1,3:P2,4:P3
taskManagerIdsList<Long>任务责任人id列表
expectedCompletionTimeDate期望完成时间
expectStartTimeDate任务预计开始时间
expectEndTimeDate任务预计完成时间
actualStartTimeDate实际开始时间
actualEndTimeDate实际结束时间
arrangeRulesInteger任务安排规则,1-按预计时间,2-按任务顺序
estimatedWorkingTimeBigDecimal本任务预估工时
estimatedWorkingTimeUnitInteger本任务预估工时单位,1-小时,2-天
predecessorTaskIdLong前置任务id
parentTaskIdLong关联任务id(上级任务)
taskRiskInteger任务风险(1-无;2-技术风险;3-人员风险;4-供应链风险)
taskFileBizKeysList<Long>文件keys

响应参数

参数名类型必填说明
codeString响应码
messageString响应消息
successBoolean是否成功
{
 "projectId": 10001,
 "taskName": "接口开发",
 "taskType": 1,
 "taskDesc": "开发项目任务管理模块的接口",
 "projectNodeId": 4001,
 "taskStatus": 1,
 "taskPriority": 2,
 "taskManagerIds": [3001, 3002],
 "expectedCompletionTime": "2026-04-20 18:00:00",
 "expectStartTime": "2026-04-10 09:00:00",
 "expectEndTime": "2026-04-20 18:00:00",
 "actualStartTime": "2026-04-10 09:00:00",
 "actualEndTime": "2026-04-19 17:00:00",
 "arrangeRules": 1,
 "estimatedWorkingTime": 8.5,
 "estimatedWorkingTimeUnit": 1,
 "predecessorTaskId": 20000,
 "parentTaskId": 10001,
 "taskRisk": 1,
 "taskFileBizKeys": [9001, 9002]
}{
 "code": "200",
 "message": "success",
 "success": true
}成功-
请求成功参数错误-请求参数不合法
未授权-未登录或token失效禁止访问
-无权限访问该接口服务器错误-

2. 分页查询项目任务

方式: POST | 路径: /open/api/saas/erp/projectTask/page

根据多种条件分页查询项目任务列表,支持按项目ID、任务编码、任务名称、任务风险等维度筛选

请求参数

参数名类型必填说明
pageNumInteger当前页码,最小值为1
pageSizeInteger每页数量,最大值为1000
projectIdLong项目id
taskCodeString任务编码
taskNameString任务名称
excludeTaskIdLong排除的任务id
taskRiskListList<Integer>项目风险集合

响应参数

参数名类型必填说明
codeString响应码
messageString响应消息
successBoolean是否成功
List<ProjectTaskPageRespDTO>pageNumInteger
当前页码pageSizeInteger
每页数量pagesInteger
总页数totalLong
总记录数taskIdLong
任务idtaskCodeString
任务编码taskNameString
任务名称taskTypeLong
任务类型,1:需求,2:bug,100:外部采购订单taskPriorityLong
任务优先级,1:P0,2:P1,3:P2,4:P3taskStatusLong
任务状态,1:未开始,2:已完成,3:进行中,4:取消,5:任务封档memberNameListList<TaskMemberRespDTO>
arrangeRulesInteger
任务安排规则,1-按预计时间,2-按任务顺序estimatedWorkingTimeBigDecimal
本任务预估工时estimatedWorkingTimeUnitInteger
本任务预估工时单位,1-小时,2-天predecessorTaskIdLong
前置任务idpredecessorTaskNameString
前置任务名称expectStartTimeDate
任务预计开始时间expectEndTimeDate
任务预计完成时间taskRiskInteger
任务风险(1-无;2-技术风险;3-人员风险;4-供应链风险)projectNodeIdLong
项目节点idprojectNodeNameString
项目节点名称delayFlagBoolean
是否延期memberIdLong
成员idmemberNameString
成员名称memberPhotoUrlString
成员头像urlprojectMemberFlagBoolean
是否是项目成员{
 "pageNum": 1,
 "pageSize": 20,
 "projectId": 10001,
 "taskCode": "TASK202604001",
 "taskName": "接口开发",
 "excludeTaskId": 5001,
 "taskRiskList": [1, 2]
}{
 "code": "200",
 "message": "success",
 "success": true,
 "data": {
 "pageNum": 1,
 "pageSize": 20,
 "pages": 5,
 "total": 100,
 "data": [
 {
 "taskId": 20001,
 "taskCode": "TASK202604001",
 "taskName": "接口开发",
 "taskType": 1,
 "taskPriority": 2,
 "taskStatus": 2,
 "memberNameList": [
 {
 "memberId": 3001,
 "memberName": "张三",
 "memberPhotoUrl": "https://example.com/photo/3001.jpg",
 "projectMemberFlag": true
 }
 ],
 "arrangeRules": 1,
 "estimatedWorkingTime": 8.5,
 "estimatedWorkingTimeUnit": 1,
 "predecessorTaskId": 20000,
 "predecessorTaskName": "需求分析",
 "expectStartTime": "2026-04-10 09:00:00",
 "expectEndTime": "2026-04-20 18:00:00",
 "taskRisk": 1,
 "projectNodeId": 4001,
 "projectNodeName": "开发阶段",
 "delayFlag": false
 }
 ]
 }
}成功
-请求成功参数错误-
请求参数不合法未授权-未登录或token失效
禁止访问-无权限访问该接口服务器错误

3. 查询项目任务详情

方式: POST | 路径: /open/api/saas/erp/projectTask/detail

根据任务id或任务编码查询项目任务的详细信息

请求参数

参数名类型必填说明
taskIdLong任务id
taskCodeString任务编码

响应参数

参数名类型必填说明
codeString响应码
messageString响应消息
successBoolean是否成功
Long任务idtaskCode
String任务编码taskName
String任务名称taskType
Long任务类型,1:需求,2:bug,100:外部采购订单projectNodeId
Long节点idtaskStatus
Long任务状态,1:未开始,2:已完成,3:进行中,4:取消,5:任务封档taskPriority
Long任务优先级,1:P0,2:P1,3:P2,4:P3taskManagerImageUrl
String任务责任人头像urlexpectedCompletionTime
Date期望完成时间expectStartTime
Date任务预计开始时间expectEndTime
Date任务预计完成时间actualStartTime
Date任务实际开始时间actualEndTime
Date任务实际完成时间arrangeRules
Integer任务安排规则,1-按预计时间,2-按任务顺序estimatedWorkingTime
BigDecimal本任务预估工时estimatedWorkingTimeUnit
Integer本任务预估工时单位,1-小时,2-天predecessorTaskId
Long前置任务idpredecessorTaskName
String前置任务名称taskDesc
String任务描述taskRisk
Integer任务风险(1-无;2-技术风险;3-人员风险;4-供应链风险)taskDirectoryId
Long项目文件目录idtaskDirectoryName
String项目文件目录名称memberList
List<TaskMemberRespDTO>customFieldList<CustomFieldVO>
canUpdateFlagBoolean
可修改标识memberIdLong
成员idmemberNameString
成员名称memberPhotoUrlString
成员头像urlprojectMemberFlagBoolean
是否是项目成员fieldIdLong
自定义字段idfieldCodeString
自定义字段编码fieldNameString
自定义字段名称fieldTypeInteger
自定义字段类型fieldValueString
自定义字段值fieldOptionValueList<String>
自定义字段选项值expressTypeInteger
自定义字段快递进度-快递类型expressTypeNameString
自定义字段快递进度-快递类型名称expressNoString
自定义字段快递进度-快递单号expressPhoneString
自定义字段快递进度-手机号(脱敏)expressPhoneDesString
自定义字段快递进度-手机号(加密)projectIdLong
自定义字段关联项目-项目idprojectaCodeString
自定义字段关联项目-项目编号projectaNameString
自定义字段关联项目-项目名称customFieldAttachmentListList<CustomFieldAttachmentVO>
附件列表{
 "taskId": 20001,
 "taskCode": "TASK202604001"
}{
 "code": "200",
 "message": "success",
 "success": true,
 "data": {
 "taskId": 20001,
 "taskCode": "TASK202604001",
 "taskName": "接口开发",
 "taskType": 1,
 "projectNodeId": 4001,
 "taskStatus": 2,
 "taskPriority": 2,
 "taskManagerImageUrl": "https://example.com/photo/manager.jpg",
 "expectedCompletionTime": "2026-04-20 18:00:00",
 "expectStartTime": "2026-04-10 09:00:00",
 "expectEndTime": "2026-04-20 18:00:00",
 "actualStartTime": "2026-04-10 09:00:00",
 "actualEndTime": "2026-04-19 17:00:00",
 "arrangeRules": 1,
 "estimatedWorkingTime": 8.5,
 "estimatedWorkingTimeUnit": 1,
 "predecessorTaskId": 20000,
 "predecessorTaskName": "需求分析",
 "taskDesc": "开发项目任务管理模块的接口",
 "taskRisk": 1,
 "taskDirectoryId": 6001,
 "taskDirectoryName": "接口文档",
 "memberList": [
 {
 "memberId": 3001,
 "memberName": "张三",
 "memberPhotoUrl": "https://example.com/photo/3001.jpg",
 "projectMemberFlag": true
 }
 ],
 "customField": [
 {
 "fieldId": 7001,
 "fieldCode": "custom_field_001",
 "fieldName": "自定义字段1",
 "fieldType": 1,
 "fieldValue": "测试值",
 "fieldOptionValue": ["选项1", "选项2"],
 "expressType": null,
 "expressTypeName": null,
 "expressNo": null,
 "expressPhone": null,
 "expressPhoneDes": null,
 "projectId": null,
 "projectaCode": null,
 "projectaName": null,
 "customFieldAttachmentList": []
 }
 ],
 "canUpdateFlag": true
 }
}成功
-请求成功参数错误-
请求参数不合法未授权-未登录或token失效
禁止访问-无权限访问该接口服务器错误

4. 分页查询项目

方式: POST | 路径: /open/api/saas/erp/project/page

根据多种条件分页查询项目列表,支持按项目编号、名称、关键字、状态、类型、负责人、开始时间、是否延期等维度筛选

请求参数

参数名类型必填说明
pageNumInteger当前页码,最小值为1
pageSizeInteger每页数量,最大值为1000
projectCodeString项目编号
projectNameString项目名称
keywordString关键字
projectStatusInteger项目状态
projectTypeInteger项目类型
projectManagerIdLong项目负责人id
projectStartTimeBeginDate项目开始时间-开始,格式yyyy-MM-dd HH:mm:ss
projectStartTimeEndDate项目开始时间-结束,格式yyyy-MM-dd HH:mm:ss
delayFlagBoolean是否延期

响应参数

参数名类型必填说明
codeString响应码
messageString响应消息
pageNumInteger当前页码
pageSizeInteger每页数量
pagesInteger总页数
totalLong总记录数
projectIdLong项目id
projectCodeString项目编号
projectNameString项目名称
projectStatusInteger项目状态
projectStatusNameString项目状态名称
projectTypeInteger项目类型
projectTypeNameString项目类型名称
projectManagerIdLong项目负责人id
projectManagerNameString项目负责人名称
customerIdLong客户id
customerCodeString客户编号
customerNameString客户名称
startTimeString项目开始时间
endTimeString项目结束时间
createTimeString创建时间
describeString项目描述
{
 "pageNum": 1,
 "pageSize": 20,
 "projectCode": "PRJ202604001",
 "projectName": "ERP升级项目",
 "keyword": "ERP",
 "projectStatus": 1,
 "projectType": 1,
 "projectManagerId": 3001,
 "projectStartTimeBegin": "2026-04-01 00:00:00",
 "projectStartTimeEnd": "2026-04-30 23:59:59",
 "delayFlag": false
}{
 "code": "200",
 "message": "success",
 "data": {
 "pageNum": 1,
 "pageSize": 20,
 "pages": 5,
 "total": 100,
 "data": [
 {
 "projectId": 10001,
 "projectCode": "PRJ202604001",
 "projectName": "ERP升级项目",
 "projectStatus": 1,
 "projectStatusName": "进行中",
 "projectType": 1,
 "projectTypeName": "研发项目",
 "projectManagerId": 3001,
 "projectManagerName": "张三",
 "customerId": 8001,
 "customerCode": "CUST001",
 "customerName": "嘉立创科技",
 "startTime": "2026-04-10 09:00:00",
 "endTime": "2026-06-30 18:00:00",
 "createTime": "2026-04-01 10:30:00",
 "describe": "ERP系统整体升级改造项目"
 }
 ]
 }
}成功-
请求成功参数错误-请求参数不合法
未授权-未登录或token失效禁止访问
-无权限访问该接口服务器错误-