服务端 API/审批/原生审批定义/查看指定审批定义
# 查看指定审批定义

根据 Approval Code 获取某个审批定义的详情，用于构造创建审批实例的请求。

## 请求

基本 | &nbsp;
---|---
HTTP URL | https://open.larksuite.com/open-apis/approval/v4/approvals/:approval_code
HTTP Method | GET
支持的应用类型 | Custom App、Store App
权限要求<br>**调用该 API 所需的权限。开启其中任意一项权限即可调用**<br>开启任一权限即可 | 查看、创建、更新、删除审批应用相关信息(approval:approval)<br>访问审批应用(approval:approval:readonly)<br>查看、创建、更新、删除原生审批定义相关信息(approval:definition)
字段权限要求 | **注意事项**：该接口返回体中存在下列敏感字段，仅当开启对应的权限后才会返回；如果无需获取这些字段，则不建议申请<br>获取用户 user ID(contact:user.employee_id:readonly)

### 请求头

名称 | 类型 | 必填 | 描述
---|---|---|---
Authorization | string | 是 | `tenant_access_token`<br>**值格式**："Bearer `access_token`"<br>**示例值**："Bearer t-7f1bcd13fc57d46bac21793a18e560"<br>[了解更多：如何选择与获取 access token](https://open.larksuite.com/document/uAjLw4CM/ugTN1YjL4UTN24CO1UjN/trouble-shooting/how-to-choose-which-type-of-token-to-use)

### 路径参数

名称 | 类型 | 描述
---|---|---
approval_code | string | 审批定义 Code<br>**示例值**："7C468A54-8745-2245-9675-08B7C63E7A85"

### 查询参数

名称 | 类型 | 必填 | 描述
---|---|---|---
locale | string | 否 | 语言可选值<br>**示例值**："zh-CN"<br>**可选值有**：<br>- zh-CN：中文<br>- en-US：英文<br>- ja-JP：日文
with_admin_id | boolean | 否 | 可选是否返回有数据权限审批流程管理员ID列表<br>**示例值**：false
user_id_type | string | 否 | 用户 ID 类型<br>**示例值**："open_id"<br>**可选值有**：<br>- open_id：标识一个用户在某个应用中的身份。同一个用户在不同应用中的 Open ID 不同。[了解更多：如何获取 Open ID](https://open.larksuite.com/document/uAjLw4CM/ugTN1YjL4UTN24CO1UjN/trouble-shooting/how-to-obtain-openid)<br>- union_id：标识一个用户在某个应用开发商下的身份。同一用户在同一开发商下的应用中的 Union ID 是相同的，在不同开发商下的应用中的 Union ID 是不同的。通过 Union ID，应用开发商可以把同个用户在多个应用中的身份关联起来。[了解更多：如何获取 Union ID？](https://open.larksuite.com/document/uAjLw4CM/ugTN1YjL4UTN24CO1UjN/trouble-shooting/how-to-obtain-union-id)<br>- user_id：标识一个用户在某个租户内的身份。同一个用户在租户 A 和租户 B 内的 User ID 是不同的。在同一个租户内，一个用户的 User ID 在所有应用（包括商店应用）中都保持一致。User ID 主要用于在不同的应用间打通用户数据。[了解更多：如何获取 User ID？](https://open.larksuite.com/document/uAjLw4CM/ugTN1YjL4UTN24CO1UjN/trouble-shooting/how-to-obtain-user-id)<br>**默认值**：`open_id`<br>**当值为 `user_id`，字段权限要求**：<br>获取用户 user ID(contact:user.employee_id:readonly)

## 响应

### 响应体

名称 | 类型 | 描述
---|---|---
code | int | 错误码，非 0 表示失败
msg | string | 错误描述
data | \- | \-
approval_name | string | 审批名称
status | string | 审批定义状态<br>**可选值有**：<br>- ACTIVE：已启用<br>- INACTIVE：已停用<br>- DELETED：已删除<br>- UNKNOWN：未知
form | string | 控件信息，见下方form字段说明
node_list | approval_node_info\[\] | 节点信息
name | string | 节点名称
need_approver | boolean | 是否发起人自选节点 true - 发起审批时需要提交审批人
node_id | string | 节点 ID
custom_node_id | string | 节点自定义 ID，如果没有设置则不返回
node_type | string | 审批方式<br>**可选值有**：<br>- AND：会签<br>- OR：或签<br>- SEQUENTIAL：依次审批<br>- CC_NODE：抄送节点
approver_chosen_multi | boolean | 是否支持多选：true-支持，发起、结束节点该值无意义
approver_chosen_range | approver_chosen_range\[\] | 自选范围
approver_range_type | int | 指定范围：0-all，1-指定角色，2-指定人员<br>**可选值有**：<br>- 0：全公司范围<br>- 1：指定角色范围<br>- 2：指定用户范围
approver_range_ids | string\[\] | 根据上面的type，分别存放角色id与userid，type为0时本字段为空列表
require_signature | boolean | 是否签名
viewers | approval_viewer_info\[\] | 可见人列表
type | string | 可见人类型<br>**可选值有**：<br>- TENANT：租户内可见<br>- DEPARTMENT：指定部门<br>- USER：指定用户<br>- ROLE：指定角色<br>- USER_GROUP：指定用户组<br>- NONE：任何人都不可见
id | string | 在可见人类型为DEPARTMENT时，id为部门的id ；在可见人类型为USER时，id为用户的id ；在可见人类型为ROLE时，id为角色的id ；在可见人类型为USER_GROUP时，id为用户组的id
user_id | string | 在可见人类型为USER时，表示可见人用户id
approval_admin_ids | string\[\] | 有数据管理权限的审批流程管理员ID

**form字段说明**: 
|参数|类型|必须|说明|
|-|-|-|-|
form|String|是|json 数组，**控件信息**|
&emsp;∟id|String|是|控件 ID|
&emsp;∟custom_id|String|否|控件自定义 ID|
&emsp;∟name|String|是|控件名称|
&emsp;∟type|String|是|控件类型|
&emsp;∟enable_default_value|bool|是|此控件是否启用了默认值|
&emsp;∟widget_default_value|String|是|控件的默认值|
&emsp;∟default_value_type|String|是|控件的默认值类型|
&emsp;∟display_condition|String|否|控件显隐条件|
&emsp;&emsp;∟conditional|String|否||
&emsp;&emsp;∟conditions|list|否||
&emsp;&emsp;&emsp;∟conditional|String|否|多个条件同时满足|
&emsp;&emsp;&emsp;∟expressions|list|否||
&emsp;&emsp;&emsp;&emsp;∟source_widget|String|否||
&emsp;&emsp;&emsp;&emsp;∟compare_type|String|否|判断规则|
&emsp;&emsp;&emsp;&emsp;∟standard_value|String|否|条件值|

**控件信息**:
|名称|类型|
|-|-|
|单行文本|input|
|多行文本|textarea|
|数字|number|
|金额|amount|
|日期|date|
|日期区间|dateInterval|
|计算公式|formula|
|附件|attachment/attachmentV2|
|图片| image/imageV2|
|联系人|contact|
|关联审批|connect|
|地址|address|
|电话|telephone|
|请假控件组|leaveGroup|
|加班控件组|workGroup|
|换班控件组|shiftGroup|
|补卡控件组|remedyGroup|
|出差控件组|tripGroup|
|外出控件组|outGroup|
```json
{
    "id": "widget1",
    "custom_id": "user_name",
    "name": "Item application",
    "type": "input",
    "printable": true,
    "required":true
}
```
|名称|类型|
|-|-|
|单选|radio/radioV2|
|多选|checkbox/checkboxV2|
```json
{
    "id": "widget1",
    "name": "Item application",
    "type": "radio",
    "printable": true,
    "required":true,
    "option": [
        {
            "text": "1",
            "value": "jxpsebqp-0"
        }
    ]
}
```
|名称|类型|
|-|-|
|明细|fieldList|
```json
{
 "id": "widget1",
 "name": "Item application",
 "type": "fieldList",
 "printable": true,
 "required": true,
 "option":{
 	"input_type": "LIST",
 	"print_type": "LIST"
 },
 "children":[
 	{
 	"id": "widget2",
 	"name": "Item name",
 	"type": "input"
 }
 ]
}
```
|名称|类型|
|-|-|
|电话|telephone|
```json
{
    "id":"widget1",
    "name":"Item application",
    "type":"telephone",
    "printable": true,
    "required":true,
    "option":{
        "available_type": "FIXED_LINE_OR_MOBILE"
      }
}
```

### 响应体示例
```json
{
    "code": 0,
    "msg": "success",
    "data": {
        "approval_name": "Payment",
        "status": "ACTIVE",
        "form": "[{\"id\": \"widget1\", \"custom_id\": \"user_name\",\"name\": \"Item application\",\"type\": \"textarea\",\"printable\": true,\"required\": true}\"]",
        "node_list": [
            {
                "name": "Approval",
                "need_approver": true,
                "node_id": "46e6d96cfa756980907209209ec03b64",
                "custom_node_id": "46e6d96cfa756980907209209ec03b64",
                "node_type": "AND",
                "approver_chosen_multi": true,
                "approver_chosen_range": [
                    {
                        "approver_range_type": 2,
                        "approver_range_ids": [
                            "ou_e03053f0541cecc3269d7a9dc34a0b21"
                        ]
                    }
                ],
                "require_signature": false
            }
        ],
        "viewers": [
            {
                "type": "TENANT",
                "id": "ou_e03053f0541cecc3269d7a9dc34a0b21",
                "user_id": "f7cb567e"
            }
        ],
        "approval_admin_ids": [
            "ou_3cda9c969f737aaa05e6915dce306cb9"
        ]
    }
}
```

### 错误码

HTTP状态码 | 错误码 | 描述 | 排查建议
---|---|---|---
400 | 1390001 | param is invalid | 参数错误
400 | 1390002 | approval code not found | 检查审批定义code是否正确
400 | 1395001 | There have been some errors. Please try again later | 服务出现错误，请稍候再试
400 | 1390016 | approval is deleted | 检查审批定义是否存在

