POST 登记工时
POST 为服务工单登记工时,登记即发起工时审批(待审核)。body 为 JSON:必填 orderId、bizDate(工作日期 yyyy-MM-dd)、task(工作内容)、hours(小时数,>0)、employeeId(人员员工ID;未建服务人员档案时需同时传 employeeName);可选 employeeName、memberRole、dept、workType、hoursType(正常/加班/出差,默认正常)、startTime/endTime(HH:mm)、unitPrice(工时单价,>=0,不传取人员档案成本单价)、note。
| 接口编码 | 所需范围 | 后端接口 |
|---|---|---|
sales.service-labor.create | sales:write | POST /v1/service-orders/labor/create(comap-sales) |
必填字段
| 字段 | 依据 |
|---|---|
orderId | 参数说明、接口规格 |
bizDate | 参数说明、接口规格 |
task | 参数说明、接口规格 |
hours | 参数说明、接口规格 |
employeeId | 参数说明 |
条件必填(如「某状态时必填」)不在此表,以上方参数说明为准。 判定规则见必填字段的判定。
请求体字段(body)
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
orderId | integer(int64) | 是 | 所属工单ID |
bizDate | string(date-time) | 是 | 业务日期(工时发生日) |
employeeId | integer(int64) | — | 人员ID(comap-office 员工ID) |
employeeName | string | — | 人员姓名(快照);不传时从服务人员档案带出 |
memberRole | string | — | 角色快照:工程师/客服/研发/协助 |
dept | string | — | 部门快照,工时表按此分组展示;不传时从服务人员档案带出 |
workType | string | — | 工时分类:现场服务/远程支持/出行/报告整理/协调沟通/其他 |
task | string | 是 | 工作内容 |
hoursType | string | — | 工时类型:正常/加班/出差,留空按「正常」 |
startTime | string | — | 开始时间 HH:mm |
endTime | string | — | 结束时间 HH:mm |
hours | number | 是 | 小时数,必须大于 0 |
unitPrice | number | — | 工时单价(元/小时);不传时取服务人员档案的内部成本单价 |
note | string | — | 备注 |
「必填」仅反映接口规格声明的部分。服务内还有未体现在规格里的校验, 标「—」不等于可以不传;租户在主站配置的字段必填不约束本接口。 详见必填字段的判定与字段清单与自定义字段。
请求示例
curl -X POST https://open.risemap.cn/v1/api/invoke \
-H "Authorization: Bearer <访问令牌>" \
-H "Content-Type: application/json" \
-d '{
"apiCode": "sales.service-labor.create",
"body": {
"orderId": "1961000000000000001",
"bizDate": "string",
"task": "string",
"hours": 0
}
}'
响应 data 字段
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
id | integer(int64) | — | 工时记录ID |
orderId | integer(int64) | — | 所属工单ID |
bizDate | string(date-time) | — | 业务日期 |
employeeId | integer(int64) | — | 人员ID(comap-office 员工ID) |
employeeName | string | — | 人员姓名(快照) |
memberRole | string | — | 角色快照:工程师/客服/研发/协助 |
dept | string | — | 部门快照 |
workType | string | — | 工时分类:现场服务/远程支持/出行/报告整理/协调沟通/其他 |
task | string | — | 工作内容 |
hoursType | string | — | 工时类型:正常/加班/出差 |
startTime | string | — | 开始时间 HH:mm |
endTime | string | — | 结束时间 HH:mm |
hours | number | — | 小时数 |
unitPrice | number | — | 工时单价(元/小时),未乘工时类型系数 |
costAmount | number | — | 成本金额 = 小时数 × 单价 × 类型系数 |
status | string | — | 状态:待审核/已通过/已驳回 |
flowInstanceCode | string | — | 审批流程实例编码(comap-workflow) |
approver | string | — | 审核人 |
approvedAt | string(date-time) | — | 审核时间 |
rejectReason | string | — | 驳回原因 |
note | string | — | 备注 |
createdBy | string | — | 登记人 |
createTime | string(date-time) | — | 登记时间 |
错误处理
响应统一信封 { code, message, data },code == 200 为成功。以下是本接口可能返回的开放平台层错误:
| 错误码 | 说明 | 可重试 |
|---|---|---|
| 92101 | 访问凭证无效 | 否 |
| 92201 | 接口未登记或已停用 | 否 |
| 92202 | 超出凭证授权范围——本接口需 sales:write | 否 |
| 92204 | 绑定员工无此接口的功能权限 | 否 |
| 92203 | 上游服务调用失败 | 先查询处理结果,禁止盲目重试 |
| 92301 | 请求过于频繁 | 是 |
| 92205 | 写操作处理超时,结果未知(下游可能仍在执行) | 否,先查询确认结果 |
| 92302 | 有参数相同的写请求正在处理中 | 等待并确认前一次结果,勿重复提交 |
除此之外,comap-sales 自身的业务校验失败会原样透传其业务码与提示
(如字段校验、状态不允许、数据不存在),这类码不在开放平台的号段内,
以响应里的 message 为准。完整的平台层错误码见错误码说明。
← 返回service-labor