修改行程自定义字段

说明

当审批流程处于webHook且是循环等待节点类型时,支持通过单据外码和行程序号修改单据下一条或多条行程的C级字段,目前为覆盖操作。

该接口只修改目标行程的自定义字段,不修改行程时间、城市、出差天数、费用映射、关联人、同行人等行程系统字段,也不修改父单据自定义字段。

接口限制

10次/秒

接口地址

修改行程C级字段

/api/openapi/form/travelRoute/customFields/update

请求类型

PUT

请求参数

参数说明

参数名称 类型 是否必填 参数说明
formCode String(50) 单据外码
formType String(20) 单据类型
travelRouteList Array 行程自定义字段更新列表。推荐使用该字段一次更新同一单据下多个行程

travelRouteList 说明

travelRouteList 用于在一次请求中更新同一张单据下的多条行程。每个列表项结构如下:

参数名称 类型 是否必填 参数说明
formRankCode String(50) 行程序号编码,用于定位单据下唯一行程
customObject customObject 当前行程需要更新的字段内容

如果请求中传入非空 travelRouteList,接口会按列表处理;如果未传 travelRouteList,则使用顶层 formRankCodecustomObject 作为单行程更新,兼容旧版调用方式。

同一请求的 travelRouteList 中不允许出现重复 formRankCode。任一行程更新项校验失败或持久化失败时,本次请求整体失败,不保留部分成功的行程修改。

formType说明

名称
REIMBURSE 报销单
PRECONSUME 申请单

formRankCode 说明

formRankCode 为行程在单据中的序号编码,可通过单据详情查询接口返回的行程数据获取。

formRankCode 未匹配到行程,或同一单据下匹配到多条有效行程时,接口会返回失败,不会回退使用行程下标或其他字段定位。

customObject 说明

customObject为json字符串,每个单元又是json字符串,结构如下。key为字段业务编码。

参数名称 类型 是否必填 参数说明
fieldType String(50) 字段类型
value Object 字段值
fieldType 说明(仅限以下几种)
名称
SingleTextInput 单行文本
MultiTextInput 多行文本
NumberInput 数字
AmountInput 金额
DateTimeInput 日期时间(日期、日期区域格式不同)
CityInput 城市
OptionInput 内部选项
StaffInput 员工
OptionMultiInput 选项(多选)
Hyperlink 超链接
TableInput 明细表
CityInput 说明

地址类型字段传参时,value 传地址完整编码即可:

{
  "fieldType": "CityInput",
  "value": {
    "location": "domestic-ZH4-ZH4_0"
  }
}

接口会校验地址编码是否存在。持久化到行程 customObject 时,系统会补全为标准地址对象:

{
  "code": "ZH4_0",
  "name": "上海市",
  "fullCode": "domestic-ZH4-ZH4_0",
  "fullName": "上海-上海市",
  "location": "domestic-ZH4-ZH4_0"
}

如果地址编码不存在,接口会返回失败,不会修改任何行程自定义字段。

参数样例

{
  "formCode": "MK23040012",
  "formType": "PRECONSUME",
  "travelRouteList": [
    {
      "formRankCode": "TR001",
      "customObject": {
        "travel_reason": {
          "fieldType": "SingleTextInput",
          "value": "客户现场支持"
        },
        "travel_amount": {
          "fieldType": "AmountInput",
          "value": {
            "amount": 200,
            "currency": "CNY"
          }
        },
        "travel_city": {
          "fieldType": "CityInput",
          "value": {
            "location": "domestic-ZH4-ZH4_0"
          }
        }
      }
    },
    {
      "formRankCode": "TR002",
      "customObject": {
        "travel_reason": {
          "fieldType": "SingleTextInput",
          "value": "门店巡检"
        },
        "travel_date": {
          "fieldType": "DateTimeInput",
          "value": {
            "currentTime": 1682091576488
          }
        },
        "travel_staff": {
          "fieldType": "StaffInput",
          "value": [
            "2001291"
          ]
        },
        "travel_option": {
          "fieldType": "OptionInput",
          "value": {
            "bizCode": "RDD230419Z1G79J4"
          }
        }
      }
    }
  ]
}

兼容旧版单行程入参:

{
  "formCode": "MK23040012",
  "formType": "PRECONSUME",
  "formRankCode": "TR001",
  "customObject": {
    "travel_reason": {
      "fieldType": "SingleTextInput",
      "value": "客户现场支持"
    }
  }
}

响应参数

响应参数说明

参数名称 类型 是否必填 参数说明
code String 响应码
message String 错误信息
data String 响应体

参数样例

正常响应参数示例

{
  "code": "ACK",
  "message": "",
  "data": "",
  "success": "true"
}

异常响应参数示例

{
  "code": "NACK",
  "message": "当前单据不处于webhook节点,不允许修改",
  "data": "",
  "success": "false"
}

注意事项

  • 仅支持父单据处于webhook节点时调用。
  • 仅支持申请单和报销单行程。
  • formCode 为单据外码,接口内部会根据 formTypeformCode 定位内部单据。
  • 使用 travelRouteList 时,每一项的 formRankCode 都必须能定位到唯一有效行程,否则本次请求整体失败。
  • 同一请求中不允许重复传入相同 formRankCode
  • customObject 仅合并本次传入的字段,未传入字段会保留原值。
  • 地址类型字段会校验地址编码,并补全为包含 codenamefullCodefullNamelocation 的地址对象。

修改记录

2026-05-28 新增
2026-05-29 支持一次请求修改同一单据下多个行程,并补充地址类型字段校验和持久化对象说明
Copyright © 杭州每刻科技有限公司 www.maycur.com all right reserved,powered by Gitbook该文件修订时间: 2026-06-10 09:31:42

results matching ""

    No results matching ""

    results matching ""

      No results matching ""