服务端 API/审批/三方审批实例/同步三方审批实例
# 同步三方审批实例

审批中心不负责审批的流转，审批的流转在三方系统，三方系统在审批流转后生成的审批实例、审批任务、审批抄送数据同步到审批中心。

用户可以在审批中心中浏览三方系统同步过来的实例、任务、抄送信息，并且可以跳转回三方系统进行更详细的查看和操作，其中实例信息在【已发起】列表，任务信息在【待审批】和【已审批】列表，抄送信息在【抄送我】列表。

对于审批任务，三方系统也可以配置审批任务的回调接口，这样审批人可以在审批中心中直接进行审批操作，审批中心会回调三方系统，三方系统收到回调后更新任务信息，并将新的任务信息同步回审批中心，形成闭环。

<br>

## 请求

基本 | &nbsp;
---|---
HTTP URL | https://open.larksuite.com/open-apis/approval/v4/external_instances
HTTP Method | POST
支持的应用类型 | Custom App、Store App
权限要求<br>**调用该 API 所需的权限。开启其中任意一项权限即可调用**<br>开启任一权限即可 | 查看、创建、更新、删除审批应用相关信息(approval:approval)<br>查看、创建、更新、删除三方审批实例相关信息(approval:external_instance)

### 请求头

名称 | 类型 | 必填 | 描述
---|---|---|---
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)
Content-Type | string | 是 | **固定值**："application/json; charset=utf-8"

### 请求体

名称 | 类型 | 必填 | 描述
---|---|---|---
approval_code | string | 是 | 审批定义 code， 创建审批定义返回的值，表示该实例属于哪个流程；该字段会影响到列表中该实例的标题，标题取自对应定义的 name 字段<br>**示例值**："81D31358-93AF-92D6-7425-01A5D67C4E71"
status | string | 是 | 审批实例状态<br>**示例值**："PENDING"<br>**可选值有**：<br>- PENDING：审批中<br>- APPROVED：审批流程结束，结果为同意<br>- REJECTED：审批流程结束，结果为拒绝<br>- CANCELED：审批发起人撤回<br>- DELETED：审批被删除<br>- HIDDEN：状态隐藏(不显示状态)<br>- TERMINATED：审批终止
extra | string | 否 | 审批实例扩展 JSON。单据编号通过传business_key字段来实现<br>**示例值**："{\"xxx\":\"xxx\",\"business_key\":\"xxx\"}"
instance_id | string | 是 | 审批实例唯一标识，用户自定义，需确保证租户下唯一<br>**示例值**："24492654"
links | external_instance_link | 是 | 审批实例链接集合 ，用于【已发起】列表的跳转，跳转回三方系统； pc_link 和 mobile_link 必须填一个，填写的是哪一端的链接，即会跳转到该链接，不受平台影响
pc_link | string | 是 | pc 端的跳转链接，当用户使用Lark pc 端时，使用该字段进行跳转<br>**示例值**："https://applink.larksuite.com/client/mini_program/open?mode=appCenter&appId=cli_9c90fc38e07a9101&path=pc/pages/detail?id=1234"
mobile_link | string | 否 | 移动端 跳转链接，当用户使用Lark 移动端时，使用该字段进行跳转<br>**示例值**："https://applink.larksuite.com/client/mini_program/open?appId=cli_9c90fc38e07a9101&path=pages/detail?id=1234"
title | string | 否 | 审批展示名称，如果填写了该字段，则审批列表中的审批名称使用该字段，如果不填该字段，则审批名称使用审批定义的名称<br>**示例值**："@i18n@1"
form | external_instance_form\[\] | 否 | 用户提交审批时填写的表单数据，用于所有审批列表中展示。可传多个值，但审批中心pc展示前2个,移动端展示前3个,长度不超过2048字符
name | string | 否 | 表单字段名称<br>**示例值**："@i18n@2"
value | string | 否 | 表单值<br>**示例值**："@i18n@3"
user_id | string | 否 | 审批发起人 user_id，发起人可在【已发起】列表中看到所有已发起的审批; 在【待审批】，【已审批】【抄送我】列表中，该字段展示审批是谁发起的。审批发起人 open id，和 user id 二者至少填一个。<br>**示例值**："a987sf9s"
user_name | string | 否 | 审批发起人 用户名，如果发起人不是真实的用户（例如是某个部门），没有 user_id，则可以使用该字段传名称<br>**示例值**："@i18n@9"
open_id | string | 否 | 审批发起人 open id，和 user id 二者至少填一个<br>**示例值**："ou_be73cbc0ee35eb6ca54e9e7cc14998c1"
department_id | string | 否 | 发起人部门，用于列表中展示发起人所属部门。不传则不展示。如果用户没加入任何部门，传 ""，将展示租户名称传 department_name 展示部门名称<br>**示例值**："od-8ec33278bc2"
department_name | string | 否 | 审批发起人 部门，如果发起人不是真实的用户（例如是某个部门），没有 department_id，则可以使用该字段传名称<br>**示例值**："@i18n@10"
start_time | string | 是 | 审批发起时间，Unix毫秒时间戳<br>**示例值**："1556468012678"
end_time | string | 是 | 审批实例结束时间：未结束的审批为 0，Unix毫秒时间戳<br>**示例值**："1556468012678"
update_time | string | 是 | 审批实例最近更新时间，Unix毫秒时间戳，用于推送数据版本控制如果 update_mode 值为 UPDATE，则只有传过来的 update_time 有变化时（变大），才会更新审批中心中的审批实例信息。使用该字段主要用来避免并发时老的数据更新了新的数据<br>**示例值**："1556468012678"
display_method | string | 否 | 列表页打开审批实例的方式<br>**示例值**："BROWSER"<br>**可选值有**：<br>- BROWSER：跳转系统默认浏览器打开<br>- SIDEBAR：Lark中侧边抽屉打开<br>- NORMAL：Lark内嵌页面打开<br>- TRUSTEESHIP：以托管打开
update_mode | string | 否 | 更新方式， 当 update_mode=REPLACE时，每次都以当前推送的数据为最终数据，会删掉审批中心中多余的任务、抄送数据（不在这次推送的数据中）; 当 update_mode=UPDATE时，则不会删除审批中心的数据，而只是进行新增和更新实例、任务数据<br>**示例值**："UPDATE"<br>**可选值有**：<br>- REPLACE：全量替换，默认值<br>- UPDATE：增量更新
task_list | external_instance_task_node\[\] | 否 | 任务列表<br>**数据校验规则**：<br>- 最大长度：`200`
task_id | string | 是 | 审批实例内的唯一标识，用于更新审批任务时定位数据<br>**示例值**："112534"
user_id | string | 否 | 审批人 user_id ，和 open_id 二者至少填一个。该任务会出现在审批人的【待审批】或【已审批】列表中<br>**示例值**："a987sf9s"
open_id | string | 否 | 审批人 open_id，和 user_id 二者至少填一个<br>**示例值**："ou_be73cbc0ee35eb6ca54e9e7cc14998c1"
title | string | 否 | 审批任务名称<br>**示例值**："i18n1"
links | external_instance_link | 是 | 【待审批】或【已审批】中使用的跳转链接，用于跳转回三方系统pc_link 和 mobile_link 必须填一个，填写的是哪一端的链接，即会跳转到该链接，不受平台影响
pc_link | string | 是 | pc 端的跳转链接，当用户使用Lark pc 端时，使用该字段进行跳转<br>**示例值**："https://applink.larksuite.com/client/mini_program/open?mode=appCenter&appId=cli_9c90fc38e07a9101&path=pc/pages/detail?id=1234"
mobile_link | string | 否 | 移动端 跳转链接，当用户使用Lark 移动端时，使用该字段进行跳转<br>**示例值**："https://applink.larksuite.com/client/mini_program/open?appId=cli_9c90fc38e07a9101&path=pages/detail?id=1234"
status | string | 是 | 任务状态<br>**示例值**："PENDING"<br>**可选值有**：<br>- PENDING：待审批<br>- APPROVED：任务同意<br>- REJECTED：任务拒绝<br>- TRANSFERRED：任务转交<br>- DONE：任务通过但审批人未操作；审批人看不到这个任务, 若想要看到, 可以通过抄送该人.
extra | string | 否 | 扩展 json，任务结束原因需传complete_reason字段。枚举值与对应说明：<br>- approved：同意<br>- rejected：拒绝<br>- node_auto_reject：（因逻辑判断产生的）自动拒绝<br>- specific_rollback：退回（包括退回到发起人、退回到中间任一审批人）<br>- add：并加签（添加新审批人，和我一起审批）<br>- add_pre：前加签（添加新审批人，在我之前审批）<br>- add_post：后加签（添加新审批人，在我之后审批）<br>- delete_assignee：减签<br>- forward_resign：转交（转给其他人审批）<br>- recall：撤销（撤回单据，单据失效）<br>- delete ：删除审批单<br>- admin_forward：管理员在后台操作转交<br>- system_forward：系统自动转交<br>- auto_skip：自动通过<br>- manual_skip：手动跳过<br>- submit_again：重新提交任务<br>- restart：重新启动流程<br>- others：其他（作为兜底）<br>**示例值**："{\"xxx\":\"xxx\",\"complete_reason\":\"approved\"}"
create_time | string | 是 | 任务创建时间，Unix 毫秒时间戳<br>**示例值**："1556468012678"
end_time | string | 是 | 任务完成时间：未结束的审批为 0，Unix 毫秒时间戳<br>**示例值**："1556468012678"
update_time | string | 否 | task最近更新时间，Unix毫秒时间戳，用于推送数据版本控制； 更新策略同 instance 中的 update_time<br>**示例值**："1556468012678"
action_context | string | 否 | 操作上下文，当用户操作时，回调请求中带上该参数，用于传递该任务的上下文数据<br>**示例值**："123456"
action_configs | action_config\[\] | 否 | 任务级别操作配置,快捷审批目前支持移动端操作
action_type | string | 是 | 操作类型，每个任务都可以配置2个操作，会展示审批列表中，当用户操作时，回调请求会带上该字段，表示用户进行了同意操作还是拒绝操作<br>**可选值有**：<br>- APPROVE：同意<br>- REJECT：拒绝<br>- {KEY}：任意字符串，如果使用任意字符串，则需要提供 action_name<br>**示例值**："APPROVE"
action_name | string | 否 | 操作名称，i18n key 用于前台展示，如果 action_type 不是 APPROVAL和REJECT，则必须提供该字段，用于展示特定的操作名称<br>**示例值**："@i18n@5"
is_need_reason | boolean | 否 | 是否需要意见, 如果为true,则用户操作时，会跳转到 意见填写页面<br>**示例值**：false
is_reason_required | boolean | 否 | 审批意见是否必填<br>**示例值**：false
is_need_attachment | boolean | 否 | 意见是否支持上传附件<br>**示例值**：false
display_method | string | 否 | 列表页打开审批任务的方式<br>**示例值**："BROWSER"<br>**可选值有**：<br>- BROWSER：跳转系统默认浏览器打开<br>- SIDEBAR：Lark中侧边抽屉打开<br>- NORMAL：Lark内嵌页面打开<br>- TRUSTEESHIP：以托管模式打开
exclude_statistics | boolean | 否 | 三方任务支持不纳入效率统计。<br>false：纳入效率统计。<br>true：不纳入效率统计<br>**示例值**：false<br>**默认值**：`false`
node_id | string | 否 | 节点id：必须同时满足<br>- 一个流程内，每个节点id唯一。如一个流程下「直属上级」、「隔级上级」等每个节点的Node_id均不一样<br>- 同一个流程定义内，不同审批实例中的相同节点，Node_id要保持不变。例如张三和李四分别发起了请假申请，这2个审批实例中的「直属上级」节点的node_id应该保持一致<br>**示例值**："node"
node_name | string | 否 | 节点名称，如「财务审批」「法务审批」，支持中英日三种语言。示例：i18n@name。需要在i18n_resources中传该名称对应的国际化文案<br>**示例值**："i18n@name"
cc_list | cc_node\[\] | 否 | 抄送列表<br>**数据校验规则**：<br>- 最大长度：`200`
cc_id | string | 是 | 审批实例内唯一标识<br>**示例值**："123456"
user_id | string | 否 | 抄送人 employee id<br>**示例值**："12345"
open_id | string | 否 | 抄送人 open id，和user id 二者至少填一个<br>**示例值**："ou_be73cbc0ee35eb6ca54e9e7cc14998c1"
links | external_instance_link | 是 | 跳转链接，用于【抄送我的】列表中的跳转pc_link 和 mobile_link 必须填一个，填写的是哪一端的链接，即会跳转到该链接，不受平台影响
pc_link | string | 是 | pc 端的跳转链接，当用户使用Lark pc 端时，使用该字段进行跳转<br>**示例值**："https://applink.larksuite.com/client/mini_program/open?mode=appCenter&appId=cli_9c90fc38e07a9101&path=pc/pages/detail?id=1234"
mobile_link | string | 否 | 移动端 跳转链接，当用户使用Lark 移动端时，使用该字段进行跳转<br>**示例值**："https://applink.larksuite.com/client/mini_program/open?appId=cli_9c90fc38e07a9101&path=pages/detail?id=1234"
read_status | string | 是 | 阅读状态，空值表示不支持已读未读：<br>**示例值**："READ"<br>**可选值有**：<br>- READ：已读<br>- UNREAD：未读
extra | string | 否 | 扩展 json<br>**示例值**："{\"xxx\":\"xxx\"}"
title | string | 否 | 抄送任务名称<br>**示例值**："xxx"
create_time | string | 是 | 抄送发起时间，Unix 毫秒时间戳<br>**示例值**："1556468012678"
update_time | string | 是 | 抄送最近更新时间，Unix毫秒时间戳，用于推送数据版本控制更新策略同 instance 的update_time<br>**示例值**："1556468012678"
display_method | string | 否 | 列表页打开审批任务的方式<br>**示例值**："BROWSER"<br>**可选值有**：<br>- BROWSER：跳转系统默认浏览器打开<br>- SIDEBAR：Lark中侧边抽屉打开<br>- NORMAL：Lark内嵌页面打开<br>- TRUSTEESHIP：以托管模式打开
i18n_resources | i18n_resource\[\] | 是 | 国际化文案
locale | string | 是 | 语言可选值有： zh-CN：中文 en-US：英文 ja-JP：日文<br>**示例值**："zh-CN"<br>**可选值有**：<br>- zh-CN：中文<br>- en-US：英文<br>- ja-JP：日文
texts | i18n_resource_text\[\] | 是 | 文案 key, value, i18n key 以 @i18n@ 开头； 该字段主要用于做国际化，允许用户同时传多个语言的文案，审批中心会根据用户当前的语言环境使用对应的文案，如果没有传用户当前的语言环境文案，则会使用默认的语言文案。
key | string | 是 | 文案key<br>**示例值**："@i18n@1"
value | string | 是 | 文案<br>**示例值**："people"
is_default | boolean | 是 | 是否默认语言，默认语言需要包含所有key，非默认语言如果key不存在会使用默认语言代替<br>**示例值**：true
trusteeship_url_token | string | 否 | 单据托管认证token，托管回调会附带此token，帮助业务方认证<br>**示例值**："788981c886b1c28ac29d1e68efd60683d6d90dfce80938ee9453e2a5f3e9e306"
trusteeship_user_id_type | string | 否 | 用户的类型，会影响请求参数用户标识域的选择，包括加签操作回传的目标用户， 目前仅支持 "user_id"<br>**示例值**："user_id"
trusteeship_urls | trusteeship_urls | 否 | 单据托管回调接入方的接口的URL地址
form_detail_url | string | 否 | 获取表单schema相关数据的url地址<br>**示例值**："https://#{your_domain}/api/form_detail"
action_definition_url | string | 否 | 表示获取审批操作区数据的url地址<br>**示例值**："https://#{your_domain}/api/action_definition"
approval_node_url | string | 否 | 获取审批记录相关数据的url地址<br>**示例值**："https://#{your_domain}/api/approval_node"
action_callback_url | string | 否 | 进行审批操作时回调的url地址<br>**示例值**："https://#{your_domain}/api/action_callback"
pull_business_data_url | string | 否 | 获取托管动态数据url 地址，使用该接口时必须要保证历史托管单据的数据中都同步了该接口地址，如果历史单据中没有该接口需要重新同步历史托管单据的数据来更新该URL。该接口用于Lark审批前端和业务线进行交互使用,只有使用审批前端的特定组件(由Lark审批前端提供的组件，并且需要和业务线进行接口交互的组件)才会需要<br>**示例值**："https://#{your_domain}/api/pull_business_data"

**注意事项**：**注意：**

需确保审批实例内各类唯一ID在审批实例内的唯一性，即使不属于同一实体。实体包括：实例(instance)、任务(task)、抄送(cc)。如果实例ID、任务ID、抄送ID重复，则会导致在审批中心任务看不到对应的待办、已办、抄送、已发起数据。

### 请求体示例
```json
{
    "approval_code": "84C18825-A3D2-41D0-891F-E7A2424C5D48",
    "instance_id": "3162634",
    "status": "PENDING",
    "extra": "",
    "links": {
        "pc_link": "http://applink.larksuite.com/sso/common?redirectUrl=/seeyon/main.do?method=main&client=pc",
        "mobile_link": "http://applink.larksuite.com/sso/common?redirectUrl=/seeyon/main.do?method=main&client=pc"
    },
    "title": "@i18n@1",
    "form": [{
        "name": "@i18n@2",
        "value": "@i18n@3"
    }],
    "user_id": "16fb9ff3",
    "user_name": "张三",
    "open_id": "123",
    "department_id": "",
    "department_name": "hr",
    "start_time": "1657093395000",
    "update_time": "1657093395000",
    "end_time": 0,
    "update_mode": "REPLACE",
    "task_list": [{
        "task_id": "112253",
        "user_id": "16fb9ff3",
        "links": {
            "pc_link": "http://",
            "mobile_link": "http://"
        },
        "status": "PENDING",
        "extra": "",
        "title": "同意",
        "create_time": "1638468921000",
        "end_time": 0,
        "update_time": "1638468921000",
        "action_context": "123456",
        "action_configs": [{
            "action_type": "APPROVE",
            "action_name": "@i18n@1",
            "is_need_reason": true,
            "is_reason_required": true,
            "is_need_attachment": true
        }]
    }],
    "cc_list": [{
        "cc_id": "1231243",
        "user_id": "16fb9ff3",
        "open_id": "",
        "links": {
            "pc_link": "http://",
            "mobile_link": "http://"
        },
        "read_status": "READ",
        "extra": "",
        "title": "XXX",
        "create_time": "1657093395000",
        "update_time": "1657093395000"
    }],
    "i18n_resources": [{
        "locale": "zh-CN",
        "is_default": true,
        "texts": [ {"key":"@i18n@1", "value":"测试"}, {"key":"@i18n@2", "value":"天"},{"key":"@i18n@3", "value":"2022-07-06"}]
    }]
}
```

## 响应

### 响应体

名称 | 类型 | 描述
---|---|---
code | int | 错误码，非 0 表示失败
msg | string | 错误描述
data | \- | \-
data | external_instance | 同步的实例数据
approval_code | string | 审批定义 code， 创建审批定义返回的值，表示该实例属于哪个流程；该字段会影响到列表中该实例的标题，标题取自对应定义的 name 字段
status | string | 审批实例状态<br>**可选值有**：<br>- PENDING：审批中<br>- APPROVED：审批流程结束，结果为同意<br>- REJECTED：审批流程结束，结果为拒绝<br>- CANCELED：审批发起人撤回<br>- DELETED：审批被删除<br>- HIDDEN：状态隐藏(不显示状态)<br>- TERMINATED：审批终止
extra | string | 审批实例扩展 JSON。单据编号通过传business_key字段来实现
instance_id | string | 审批实例唯一标识，用户自定义，需确保证租户下唯一
links | external_instance_link | 审批实例链接集合 ，用于【已发起】列表的跳转，跳转回三方系统； pc_link 和 mobile_link 必须填一个，填写的是哪一端的链接，即会跳转到该链接，不受平台影响
pc_link | string | pc 端的跳转链接，当用户使用Lark pc 端时，使用该字段进行跳转
mobile_link | string | 移动端 跳转链接，当用户使用Lark 移动端时，使用该字段进行跳转
title | string | 审批展示名称，如果填写了该字段，则审批列表中的审批名称使用该字段，如果不填该字段，则审批名称使用审批定义的名称
form | external_instance_form\[\] | 用户提交审批时填写的表单数据，用于所有审批列表中展示。可传多个值，但审批中心pc展示前2个,移动端展示前3个,长度不超过2048字符
name | string | 表单字段名称
value | string | 表单值
user_id | string | 审批发起人 user_id，发起人可在【已发起】列表中看到所有已发起的审批; 在【待审批】，【已审批】【抄送我】列表中，该字段展示审批是谁发起的。审批发起人 open id，和 user id 二者至少填一个。
user_name | string | 审批发起人 用户名，如果发起人不是真实的用户（例如是某个部门），没有 user_id，则可以使用该字段传名称
open_id | string | 审批发起人 open id，和 user id 二者至少填一个
department_id | string | 发起人部门，用于列表中展示发起人所属部门。不传则不展示。如果用户没加入任何部门，传 ""，将展示租户名称传 department_name 展示部门名称
department_name | string | 审批发起人 部门，如果发起人不是真实的用户（例如是某个部门），没有 department_id，则可以使用该字段传名称
start_time | string | 审批发起时间，Unix毫秒时间戳
end_time | string | 审批实例结束时间：未结束的审批为 0，Unix毫秒时间戳
update_time | string | 审批实例最近更新时间，Unix毫秒时间戳，用于推送数据版本控制如果 update_mode 值为 UPDATE，则只有传过来的 update_time 有变化时（变大），才会更新审批中心中的审批实例信息。使用该字段主要用来避免并发时老的数据更新了新的数据
display_method | string | 列表页打开审批实例的方式<br>**可选值有**：<br>- BROWSER：跳转系统默认浏览器打开<br>- SIDEBAR：Lark中侧边抽屉打开<br>- NORMAL：Lark内嵌页面打开<br>- TRUSTEESHIP：以托管打开
update_mode | string | 更新方式， 当 update_mode=REPLACE时，每次都以当前推送的数据为最终数据，会删掉审批中心中多余的任务、抄送数据（不在这次推送的数据中）; 当 update_mode=UPDATE时，则不会删除审批中心的数据，而只是进行新增和更新实例、任务数据<br>**可选值有**：<br>- REPLACE：全量替换，默认值<br>- UPDATE：增量更新
task_list | external_instance_task_node\[\] | 任务列表
task_id | string | 审批实例内的唯一标识，用于更新审批任务时定位数据
user_id | string | 审批人 user_id ，和 open_id 二者至少填一个。该任务会出现在审批人的【待审批】或【已审批】列表中
open_id | string | 审批人 open_id，和 user_id 二者至少填一个
title | string | 审批任务名称
links | external_instance_link | 【待审批】或【已审批】中使用的跳转链接，用于跳转回三方系统pc_link 和 mobile_link 必须填一个，填写的是哪一端的链接，即会跳转到该链接，不受平台影响
pc_link | string | pc 端的跳转链接，当用户使用Lark pc 端时，使用该字段进行跳转
mobile_link | string | 移动端 跳转链接，当用户使用Lark 移动端时，使用该字段进行跳转
status | string | 任务状态<br>**可选值有**：<br>- PENDING：待审批<br>- APPROVED：任务同意<br>- REJECTED：任务拒绝<br>- TRANSFERRED：任务转交<br>- DONE：任务通过但审批人未操作；审批人看不到这个任务, 若想要看到, 可以通过抄送该人.
extra | string | 扩展 json，任务结束原因需传complete_reason字段。枚举值与对应说明：<br>- approved：同意<br>- rejected：拒绝<br>- node_auto_reject：（因逻辑判断产生的）自动拒绝<br>- specific_rollback：退回（包括退回到发起人、退回到中间任一审批人）<br>- add：并加签（添加新审批人，和我一起审批）<br>- add_pre：前加签（添加新审批人，在我之前审批）<br>- add_post：后加签（添加新审批人，在我之后审批）<br>- delete_assignee：减签<br>- forward_resign：转交（转给其他人审批）<br>- recall：撤销（撤回单据，单据失效）<br>- delete ：删除审批单<br>- admin_forward：管理员在后台操作转交<br>- system_forward：系统自动转交<br>- auto_skip：自动通过<br>- manual_skip：手动跳过<br>- submit_again：重新提交任务<br>- restart：重新启动流程<br>- others：其他（作为兜底）
create_time | string | 任务创建时间，Unix 毫秒时间戳
end_time | string | 任务完成时间：未结束的审批为 0，Unix 毫秒时间戳
update_time | string | task最近更新时间，Unix毫秒时间戳，用于推送数据版本控制； 更新策略同 instance 中的 update_time
action_context | string | 操作上下文，当用户操作时，回调请求中带上该参数，用于传递该任务的上下文数据
action_configs | action_config\[\] | 任务级别操作配置,快捷审批目前支持移动端操作
action_type | string | 操作类型，每个任务都可以配置2个操作，会展示审批列表中，当用户操作时，回调请求会带上该字段，表示用户进行了同意操作还是拒绝操作<br>**可选值有**：<br>- APPROVE：同意<br>- REJECT：拒绝<br>- {KEY}：任意字符串，如果使用任意字符串，则需要提供 action_name
action_name | string | 操作名称，i18n key 用于前台展示，如果 action_type 不是 APPROVAL和REJECT，则必须提供该字段，用于展示特定的操作名称
is_need_reason | boolean | 是否需要意见, 如果为true,则用户操作时，会跳转到 意见填写页面
is_reason_required | boolean | 审批意见是否必填
is_need_attachment | boolean | 意见是否支持上传附件
display_method | string | 列表页打开审批任务的方式<br>**可选值有**：<br>- BROWSER：跳转系统默认浏览器打开<br>- SIDEBAR：Lark中侧边抽屉打开<br>- NORMAL：Lark内嵌页面打开<br>- TRUSTEESHIP：以托管模式打开
exclude_statistics | boolean | 三方任务支持不纳入效率统计。<br>false：纳入效率统计。<br>true：不纳入效率统计
node_id | string | 节点id：必须同时满足<br>- 一个流程内，每个节点id唯一。如一个流程下「直属上级」、「隔级上级」等每个节点的Node_id均不一样<br>- 同一个流程定义内，不同审批实例中的相同节点，Node_id要保持不变。例如张三和李四分别发起了请假申请，这2个审批实例中的「直属上级」节点的node_id应该保持一致
node_name | string | 节点名称，如「财务审批」「法务审批」，支持中英日三种语言。示例：i18n@name。需要在i18n_resources中传该名称对应的国际化文案
cc_list | cc_node\[\] | 抄送列表
cc_id | string | 审批实例内唯一标识
user_id | string | 抄送人 employee id
open_id | string | 抄送人 open id，和user id 二者至少填一个
links | external_instance_link | 跳转链接，用于【抄送我的】列表中的跳转pc_link 和 mobile_link 必须填一个，填写的是哪一端的链接，即会跳转到该链接，不受平台影响
pc_link | string | pc 端的跳转链接，当用户使用Lark pc 端时，使用该字段进行跳转
mobile_link | string | 移动端 跳转链接，当用户使用Lark 移动端时，使用该字段进行跳转
read_status | string | 阅读状态，空值表示不支持已读未读：<br>**可选值有**：<br>- READ：已读<br>- UNREAD：未读
extra | string | 扩展 json
title | string | 抄送任务名称
create_time | string | 抄送发起时间，Unix 毫秒时间戳
update_time | string | 抄送最近更新时间，Unix毫秒时间戳，用于推送数据版本控制更新策略同 instance 的update_time
display_method | string | 列表页打开审批任务的方式<br>**可选值有**：<br>- BROWSER：跳转系统默认浏览器打开<br>- SIDEBAR：Lark中侧边抽屉打开<br>- NORMAL：Lark内嵌页面打开<br>- TRUSTEESHIP：以托管模式打开
i18n_resources | i18n_resource\[\] | 国际化文案
locale | string | 语言可选值有： zh-CN：中文 en-US：英文 ja-JP：日文<br>**可选值有**：<br>- zh-CN：中文<br>- en-US：英文<br>- ja-JP：日文
texts | i18n_resource_text\[\] | 文案 key, value, i18n key 以 @i18n@ 开头； 该字段主要用于做国际化，允许用户同时传多个语言的文案，审批中心会根据用户当前的语言环境使用对应的文案，如果没有传用户当前的语言环境文案，则会使用默认的语言文案。
key | string | 文案key
value | string | 文案
is_default | boolean | 是否默认语言，默认语言需要包含所有key，非默认语言如果key不存在会使用默认语言代替
trusteeship_url_token | string | 单据托管认证token，托管回调会附带此token，帮助业务方认证
trusteeship_user_id_type | string | 用户的类型，会影响请求参数用户标识域的选择，包括加签操作回传的目标用户， 目前仅支持 "user_id"
trusteeship_urls | trusteeship_urls | 单据托管回调接入方的接口的URL地址
form_detail_url | string | 获取表单schema相关数据的url地址
action_definition_url | string | 表示获取审批操作区数据的url地址
approval_node_url | string | 获取审批记录相关数据的url地址
action_callback_url | string | 进行审批操作时回调的url地址
pull_business_data_url | string | 获取托管动态数据url 地址，使用该接口时必须要保证历史托管单据的数据中都同步了该接口地址，如果历史单据中没有该接口需要重新同步历史托管单据的数据来更新该URL。该接口用于Lark审批前端和业务线进行交互使用,只有使用审批前端的特定组件(由Lark审批前端提供的组件，并且需要和业务线进行接口交互的组件)才会需要

### 响应体示例
```json
{
    "code": 0,
    "msg": "success",
    "data": {
        "data": {
            "approval_code": "81D31358-93AF-92D6-7425-01A5D67C4E71",
            "status": "PENDING",
            "extra": "{\"xxx\":\"xxx\",\"business_key\":\"xxx\"}",
            "instance_id": "24492654",
            "links": {
                "pc_link": "https://applink.larksuite.com/client/mini_program/open?mode=appCenter&appId=cli_9c90fc38e07a9101&path=pc/pages/detail?id=1234",
                "mobile_link": "https://applink.larksuite.com/client/mini_program/open?appId=cli_9c90fc38e07a9101&path=pages/detail?id=1234"
            },
            "title": "@i18n@1",
            "form": [
                {
                    "name": "@i18n@2",
                    "value": "@i18n@3"
                }
            ],
            "user_id": "a987sf9s",
            "user_name": "@i18n@9",
            "open_id": "ou_be73cbc0ee35eb6ca54e9e7cc14998c1",
            "department_id": "od-8ec33278bc2",
            "department_name": "@i18n@10",
            "start_time": "1556468012678",
            "end_time": "1556468012678",
            "update_time": "1556468012678",
            "display_method": "BROWSER",
            "update_mode": "UPDATE",
            "task_list": [
                {
                    "task_id": "112534",
                    "user_id": "a987sf9s",
                    "open_id": "ou_be73cbc0ee35eb6ca54e9e7cc14998c1",
                    "title": "i18n1",
                    "links": {
                        "pc_link": "https://applink.larksuite.com/client/mini_program/open?mode=appCenter&appId=cli_9c90fc38e07a9101&path=pc/pages/detail?id=1234",
                        "mobile_link": "https://applink.larksuite.com/client/mini_program/open?appId=cli_9c90fc38e07a9101&path=pages/detail?id=1234"
                    },
                    "status": "PENDING",
                    "extra": "{\"xxx\":\"xxx\",\"complete_reason\":\"approved\"}",
                    "create_time": "1556468012678",
                    "end_time": "1556468012678",
                    "update_time": "1556468012678",
                    "action_context": "123456",
                    "action_configs": [
                        {
                            "action_type": "APPROVE",
                            "action_name": "@i18n@5",
                            "is_need_reason": false,
                            "is_reason_required": false,
                            "is_need_attachment": false
                        }
                    ],
                    "display_method": "BROWSER",
                    "exclude_statistics": false,
                    "node_id": "node",
                    "node_name": "i18n@name"
                }
            ],
            "cc_list": [
                {
                    "cc_id": "123456",
                    "user_id": "12345",
                    "open_id": "ou_be73cbc0ee35eb6ca54e9e7cc14998c1",
                    "links": {
                        "pc_link": "https://applink.larksuite.com/client/mini_program/open?mode=appCenter&appId=cli_9c90fc38e07a9101&path=pc/pages/detail?id=1234",
                        "mobile_link": "https://applink.larksuite.com/client/mini_program/open?appId=cli_9c90fc38e07a9101&path=pages/detail?id=1234"
                    },
                    "read_status": "READ",
                    "extra": "{\"xxx\":\"xxx\"}",
                    "title": "xxx",
                    "create_time": "1556468012678",
                    "update_time": "1556468012678",
                    "display_method": "BROWSER"
                }
            ],
            "i18n_resources": [
                {
                    "locale": "zh-CN",
                    "texts": [
                        {
                            "key": "@i18n@1",
                            "value": "people"
                        }
                    ],
                    "is_default": true
                }
            ],
            "trusteeship_url_token": "788981c886b1c28ac29d1e68efd60683d6d90dfce80938ee9453e2a5f3e9e306",
            "trusteeship_user_id_type": "user_id",
            "trusteeship_urls": {
                "form_detail_url": "https://#{your_domain}/api/form_detail",
                "action_definition_url": "https://#{your_domain}/api/action_definition",
                "approval_node_url": "https://#{your_domain}/api/approval_node",
                "action_callback_url": "https://#{your_domain}/api/action_callback",
                "pull_business_data_url": "https://#{your_domain}/api/pull_business_data"
            }
        }
    }
}
```

### 错误码

HTTP状态码 | 错误码 | 描述 | 排查建议
---|---|---|---
400 | 1390001 | param is invalid | 参数错误
400 | 1395001 | There have been some errors. Please try again later | 服务出现错误。排查方案：<br>1. 参考接口文档的参数说明，检查请求时传入的参数是否正确。如果传入的有表单参数（form），则需要检查传入的表单控件数据是否正确。<br>2. 降低请求频率，短时间内不要同步相同的审批实例，请稍后重试。如果重试仍然报错，请联系技术支持。
400 | 1390014 | tenant_id not found | 未找到指定租户。

