Skip to content

创建审批定义

Error: 为了更好地提升接口文档的的易理解性,我们对文档进行了升级,请尽快迁移至新版本>>

用于通过接口创建简单的审批定义,可以灵活指定定义的基础信息、表单和流程等。创建成功后,不支持从审批管理后台删除该定义。不推荐企业自建应用使用,如有需要尽量联系管理员在审批管理后台创建定义。

接口谨慎调用,创建后的审批定义无法停用/删除

请求

项目
HTTP URLhttps://www.feishu.cn/approval/openapi/v2/approval/create
HTTP MethodPOST
支持的应用类型custom,isv
权限要求 调用该 API 所需的权限。开启其中任意一项权限即可调用approval:approval:readonly 访问审批应用

请求头

名称类型必填描述
Authorizationstringtenant_access_token 值格式:"Bearer access_token" 示例值:"Bearer t-7f1bcd13fc57d46bac21793a18e560" 了解更多:如何选择与获取 access token
Content-Typestring固定值:"application/json; charset=utf-8"

请求体

参数类型必须说明
approval_nameString审批名称的国际化文案 Key,以 @i18n@ 开头,长度不得少于 9 个字符
approval_codeString传空表示新建
descriptionString审批描述的国际化文案 Key,以 @i18n@ 开头,长度不得少于 9 个字符
viewerslist审批前台可见人范围,详见下方说明
formmap审批定义表单
 ∟form_contentString审批定义表单内容,json 数组,详见下方说明
node_listlist审批定义节点,map 数组,需要将开始节点作为 list 第一个元素,结束节点作为最后一个元素
 ∟idString节点 ID,开始节点的 ID 为 START,结束节点的 ID 为 END,开始和结束节点不需要指定 name、node_type 以及 approver
 ∟nameString节点名称的国际化文案 Key,以 @i18n@ 开头,长度不得少于 9 个字符
 ∟node_typeString审批类型枚举
- AND 会签
- OR 或签
- SEQUENTIAL 依次审批
当 node_type 为依次审批时,审批人必须为『发起人自选』
 ∟approverlist审批人列表,详见下方说明
 ∟ccerlist抄送人列表,详见下方说明
settingsmap审批定义其他设置
 ∟revert_intervalint审批实例通过后允许撤回的时间,以秒为单位,默认 31 天,0 为不可撤回
 ∟revert_optionint是否支持审批通过第一个节点后撤回,默认为1,0为不支持
configmap审批定义配置项,用于配置对应审批定义是否可以由用户在审批后台进行修改
∟can_update_viewerbool是否可以修改可见范围,默认 false
∟can_update_formbool是否可以修改表单内容,默认 false
∟can_update_processbool是否可以修改流程节点,默认 false
∟can_update_revertbool是否可以修改撤回时间,默认 false
∟help_urlString用于配置帮助页链接,可以从审批后台跳转到该链接页面
iconint审批图标枚举,详见下方说明,默认为 0
i18n_resourceslist国际化文案
 ∟localeString语言:
zh-CN - 中文
en-US - 英文
ja-JP - 日文
 ∟is_defaultbool是否默认语言,默认语言需要包含所有 key,非默认语言如果 key 不存在会使用默认语言代替
 ∟textsmap文案 key, value, i18n key 以 @i18n@ 开头

请求体示例

json
{
    "approval_name": "@i18n@approval_name",
    "approval_code": "7C468A54-8745-2245-9675-08B7C63E7A85",
    "description": "@i18n@description",
    "viewers":[
        {
            "type":"TENANT",
            "open_id":"ou_e03053f0541cecc3269d7a9dc34a0b21",
            "user_id":"f7cb567e"
        }
    ],
    "form": {
          "form_content": "[{\"id\":\"user_name\", \"type\": \"input\", \"required\":true, \"name\":\"@i18n@widget1\"}]"
        },
    "node_list": [{
          "id": "START"
        },{
          "id": "node_id",
          "name": "@i18n@node_name",
          "node_type": "AND",
          "approver": [
            {
              "type": "Personal",
              "open_id": "ou_e03053f0541cecc3269d7a9dc34a0b21",
              "user_id": "f7cb567e"
            }
          ],
          "ccer": [
            {
              "type": "Supervisor",
              "open_id": "ou_e03053f0541cecc3269d7a9dc34a0b21",
              "user_id": "f7cb567e"
            }
          ]
        },{
          "id": "END"
        }],
    "settings" : {
          "revert_interval":0
        },
    "config" : {
          "can_update_viewer": false,
          "can_update_form": false,
          "can_update_process": false,
          "can_update_revert": false,
          "help_url":"https://xxx.xxx.xxx"
        },
    "icon": 0,
    "i18n_resources" : [{
          "locale": "zh-CN",
          "texts" : {
              "@i18n@approval_name": "审批名称",
              "@i18n@description": "审批描述",
              "@i18n@widget1": "控件1",
              "@i18n@node_name": "节点名称"
            },
          "is_default": true
        }]
}

响应

响应体

参数类型必须说明
codeint错误码,非 0 表示失败
msgString返回码的描述
datamap返回业务信息
 ∟approval_codeString审批定义 Code

字段说明:

viewers 字段说明

viewers 字段指定了哪些人能从审批应用的前台发起该审批。

viewers 字段是由多个 viewer 构成的 list,每个 viewer 结构如下:

{
    "type":"TENANT",
    "user_id":"",
    "open_id":""
}

其中,type 的枚举包括:

  • TENANT - 所有人可见
  • NONE - 所有人不可见
  • USER - 指定用户可见
  • DEPARTMENT - 指定部门可见
  1. 当 type 为 USER 时,需要填写 user_id 或 open_id 中的一个,用于指定对哪个用户可见
  2. 当 type 为 DEPARTMENT 时,需要填写部门的 open_id,用于指定对哪个部门可见

approver & ccer 字段说明

approver 和 ccer 指定了在某个审批节点上的审批人和抄送人,该字段都是由 user 构成 list,user 结构如下:

{
    "type":"Personal",
    "user_id":"",
    "open_id":""
}

其中,type 的枚举包括:

  • Supervisor - 主管审批(由下往上)
  • SupervisorTopDown - 主管审批(从上往下)
  • DepartmentManager - 部门负责人审批(由下往上)
  • DepartmentManagerTopDown - 部门负责人审批(从上往下)
  • Personal - 指定成员
  • Free - 发起人自选
  1. 当 type 为 Supervisor、SupervisorTopDown、DepartmentManager 、DepartmentManagerTopDown 这 4 种时,需要在 user_id 中填写对应的级数,例如:由下往上三级主管审批,user_id = 3
  2. 当 type 为 Personal 时,需要填写 user_id 或 open_id 中的一个,用于指定用户
  3. 当 approver 为 Free 发起人自选时,不需要指定 user_id 或 open_id;ccer 不支持 Free 发起人自选

form_content 字段说明

表单项的 id 和 name 需要自行指定,id 不可重复,name 为表单名称的国际化文案 Key,以 @i18n@ 开头,长度不得少于 9 个字符, 可以为单行文本、多行文本、单选、联系人、部门控件设置默认值,详情请参考 控件支持设置默认值 open api 说明文档

  1. 单行文本 input,多行文本 textarea,数字 number,图片 image,附件 attachmentV2
{
    "id":"",
    "name":"",
    "type":"input",
    "required":true
}
  1. 金额 amount
{
    "id":"",
    "name":"",
    "type":"amount",
    "required":true,
    "value":"CNY"
}

value 为金额控件的枚举值,包括:

  • CNY - 人民币
  • USD - 美元
  • EUR - 欧元
  • JPY - 日元
  • CAD - 加拿大元
  • CHF - 瑞士法郎
  • SGD - 新加坡元
  • AUD - 澳大利亚元
  • KBW - 韩元
  • INR - 印度卢比
  • TWD - 新台币
  • HKD - 港元
  • MOP - 澳门元
  • THB - 泰铢
  • IDR - 印尼盾
  • PHP - 菲律宾比索
  • MYR - 马来西亚令吉
  1. 说明 text
{
    "id":"",
    "name":"",
    "type":"text",
    "required":true,
    "value":"@i18n@text"
}

value 为说明内容的国际化文案 Key,以 @i18n@ 开头,长度不得少于 9 个字符

  1. 单选 radioV2,多选 checkboxV2

case1: 普通单选/多选

{
    "id":"",
    "name":"",
    "type":"radioV2",
    "required":true,
    "value":[{"key":"1","text":"@i18n@choice1"},{"key":"2","text":"@i18n@choice2"}]
}

case2: 联动外部数据源单选/多选:【关联外部选项说明】

{
    "id":"",
    "name":"",
    "type":"radioV2",
    "required":true,
    "value":[],
    "externalData":{
        "externalUrl":"https://xxx.xxx.xxx/",
        "token":"t",
        "key":"k",
        "linkageConfigs":[
            {
                "linkageWidgetID":"widget1",
                "key":"linkageWidget1",
                "value":"example"
            }
        ],
        "externalDataLinkage":true
    }
}

value为每个选项 Key 和 Text,其中 Key 不能重复,Text 以 @i18n@开头,长度不得少于9个字符

  1. 日期 date
{
    "id":"",
    "name":"",
    "type":"date",
    "required":true,
    "value": "YYYY-MM-DD"
}

value 为日期格式:

  • YYYY-MM-DD:年-月-日
  • YYYY-MM-DD a:年-月-日 上午/下午
  • YYYY-MM-DD hh:mm:年-月-日 时:分
  1. 关联 connect
{
    "id":"",
    "name":"",
    "type":"connect",
    "required":true,
    "value":["code1","code2"]
}

value 为关联审批定义的 code

  1. 联系人 contact
{
    "id":"",
    "name":"",
    "type":"contact",
    "required":true,
    "value":{
        "ignore": true,
        "multi": false
      }
}

value 为联系人控件的配置项:

  • ignore:是否可选自己,默认 false,可选自己
  • multi:是否可选多人,默认 false,不可选
  1. 地址 address
{
    "id":"",
    "name":"",
    "type":"address",
    "required":true,
    "value":{
        "enableDetailAddress": false,
        "requiredDetailAddress": false,
        "preLocating": false
      }
}

value 为地址控件的配置项:

  • enableDetailAddress:是否开启详细地址,默认 false,不开启
  • requiredDetailAddress:详细地址是否必填,默认 false,不必填
  • preLocating:是否自动定位,默认 false,不自动定位
  1. 日期区间 dateInterval
{
    "id":"",
    "name":"",
    "type":"dateInterval",
    "required":true,
    "value":{
        "format": "YYYY-MM-DD",
        "intervalAllowModify": false,
      }
}

value 为日期区间控件的配置项:

  • format:日期格式,同 date 控件
  • intervalAllowModify:时长是否可以修改,默认 false,不可以修改
  1. 电话 telephone
{
    "id":"",
    "name":"",
    "type":"telephone",
    "required":true,
    "option":{
        "availableType": "FIXED_LINE_OR_MOBILE"
      }
}

option 为电话控件的配置项:

  • availableType:电话可选类型,可选值为 MOBILE、FIXED_LINE、FIXED_LINE_OR_MOBILE
  1. 明细 fieldList
{
    "id": "",
    "name": "",
    "type": "fieldlist",
    "required": true,
    "value":
    [
        {
            "id": "",
            "name": "",
            "type": "input",
            "required": true
        }
    ],
    "option":
    {
        "inputType": "LIST",
        "printType": "LIST"
    }
}

option 为明细控件的配置项:

  • inputType:明细控件的填写格式,可选 LIST(纵向填写)、FORM(横向填写)
  • printType: 明细控件的打印格式,可选 LIST(纵向打印)、FORM(横向打印)

图标枚举: 下图从左至右,从上到下依次为 0-24 号图标。

图片名称

响应体示例

json
{
    "code": 0,
    "msg": "success",
    "data": {
        "approval_code":"81D31358-93AF-92D6-7425-01A5D67C4E71"
    }
}

内容来源:飞书开放平台 · 自动爬取整理