|
| 1 | +# approval · 审批域 |
| 2 | +> skill: lark-approval |
| 3 | +
|
| 4 | +## instances get |
| 5 | +已知 instance_code,查询某审批实例的状态、表单内容与审批节点进度 |
| 6 | + |
| 7 | +### Avoid when |
| 8 | +- 还没有 instance_code(先用 [[instances initiated]] 列出自己发起的实例) |
| 9 | +- 要查的是审批任务而非实例(用 [[tasks query]]) |
| 10 | + |
| 11 | +### Prerequisites |
| 12 | +- 已有 instance_code(如来自 [[tasks query]] / [[instances initiated]],或审批事件、发起结果等外部来源) |
| 13 | + |
| 14 | +### Tips |
| 15 | +- locale 控制返回文案语言(如 zh-CN / en-US) |
| 16 | + |
| 17 | +### Examples |
| 18 | + |
| 19 | +**按 instance_code 查询实例详情** |
| 20 | +```bash |
| 21 | +lark-cli approval instances get --instance-code "81D3****4E71" |
| 22 | +``` |
| 23 | + |
| 24 | +**指定 locale 返回英文文案** |
| 25 | +```bash |
| 26 | +lark-cli approval instances get --instance-code "81D3****4E71" --locale "en-US" |
| 27 | +``` |
| 28 | + |
| 29 | +## instances initiated |
| 30 | +列出当前用户发起的审批实例,可按 definition_code 只看某类审批 |
| 31 | + |
| 32 | +### Avoid when |
| 33 | +- 想查别人发起的实例(接口只返回当前用户自己的) |
| 34 | +- 要查待办/已办的审批任务(用 [[tasks query]]) |
| 35 | + |
| 36 | +### Tips |
| 37 | +- definition_code 用于过滤到某一个审批定义(审批模板) |
| 38 | + |
| 39 | +### Examples |
| 40 | + |
| 41 | +**列出自己发起的实例(单页,默认分页大小)** |
| 42 | +```bash |
| 43 | +lark-cli approval instances initiated |
| 44 | +``` |
| 45 | + |
| 46 | +**按审批定义(模板)过滤,只看某一类审批** |
| 47 | +```bash |
| 48 | +lark-cli approval instances initiated --definition-code "7C46****7A85" |
| 49 | +``` |
| 50 | + |
| 51 | +## instances cancel |
| 52 | +作为发起人撤回(撤销)一个仍在审批中的实例 |
| 53 | + |
| 54 | +### Avoid when |
| 55 | +- 你是审批人想否决(用 [[tasks reject]]) |
| 56 | +- 只是想退回到上一节点补材料(用 [[tasks rollback]]) |
| 57 | + |
| 58 | +### Prerequisites |
| 59 | +- 已有 instance_code(来自 [[instances initiated]] 或发起结果) |
| 60 | +- 通常仅发起人可撤回,且实例仍在进行中 |
| 61 | + |
| 62 | +### Tips |
| 63 | +- 已结束(通过/拒绝/已撤回)的实例无法再撤回 |
| 64 | + |
| 65 | +### Examples |
| 66 | + |
| 67 | +**撤回一个进行中的实例** |
| 68 | +```bash |
| 69 | +lark-cli approval instances cancel --data '{"instance_code":"81D3****4E71"}' |
| 70 | +``` |
| 71 | + |
| 72 | +## instances cc |
| 73 | +把一个审批实例抄送给指定用户,让其知悉而不参与审批 |
| 74 | + |
| 75 | +### Avoid when |
| 76 | +- 希望对方实际参与审批(用 [[tasks transfer]] 转交或 [[tasks add_sign]] 加签) |
| 77 | +- 只是查看实例详情(用 [[instances get]]) |
| 78 | + |
| 79 | +### Prerequisites |
| 80 | +- 已有 instance_code(来自 [[instances initiated]] 或发起结果) |
| 81 | + |
| 82 | +### Tips |
| 83 | +- cc_user_ids 的 ID 类型需与 --user-id-type 一致(默认 open_id) |
| 84 | + |
| 85 | +### Examples |
| 86 | + |
| 87 | +**抄送给用户并附带说明** |
| 88 | +```bash |
| 89 | +lark-cli approval instances cc --data '{"instance_code":"81D3****4E71","cc_user_ids":["ou_3cda****83e1"],"comment":"请知悉"}' |
| 90 | +``` |
| 91 | + |
| 92 | +**用 user_id 类型抄送给多人** |
| 93 | +```bash |
| 94 | +lark-cli approval instances cc --user-id-type "user_id" --data '{"instance_code":"81D3****4E71","cc_user_ids":["a1b2c3d4","e5f6g7h8"]}' |
| 95 | +``` |
| 96 | + |
| 97 | +## tasks query |
| 98 | +列出当前用户的审批任务(按 topic 区分待办 / 已办等),用于拿到 task_id 再去同意或拒绝 |
| 99 | + |
| 100 | +### Avoid when |
| 101 | +- 要查的是审批实例而非任务(用 [[instances initiated]]) |
| 102 | + |
| 103 | +### Tips |
| 104 | +- topic 必填,用于选择任务分类(如待办/已办) |
| 105 | + |
| 106 | +### Examples |
| 107 | + |
| 108 | +**查询待办任务(topic 1)** |
| 109 | +```bash |
| 110 | +lark-cli approval tasks query --topic "1" |
| 111 | +``` |
| 112 | + |
| 113 | +**查询已办任务(topic 2)** |
| 114 | +```bash |
| 115 | +lark-cli approval tasks query --topic "2" |
| 116 | +``` |
| 117 | + |
| 118 | +**按审批定义过滤待办任务** |
| 119 | +```bash |
| 120 | +lark-cli approval tasks query --topic "1" --definition-code "7C46****7A85" |
| 121 | +``` |
| 122 | + |
| 123 | +**查询未读知会(被抄送、待阅读的通知,非待审批任务,topic 17)** |
| 124 | +```bash |
| 125 | +lark-cli approval tasks query --topic "17" |
| 126 | +``` |
| 127 | + |
| 128 | +## tasks approve |
| 129 | +作为审批人同意(通过)一个待办审批任务 |
| 130 | + |
| 131 | +### Avoid when |
| 132 | +- 要否决该任务(用 [[tasks reject]]) |
| 133 | +- 想让别人来审(用 [[tasks transfer]] 转交 / [[tasks add_sign]] 加签) |
| 134 | + |
| 135 | +### Prerequisites |
| 136 | +- 已有 instance_code 与 task_id(来自 [[tasks query]]),且当前用户为该任务的审批人 |
| 137 | + |
| 138 | +### Tips |
| 139 | +- 若审批节点要求填表单,用 form 字段提交 |
| 140 | + |
| 141 | +### Examples |
| 142 | + |
| 143 | +**同意并附带意见** |
| 144 | +```bash |
| 145 | +lark-cli approval tasks approve --data '{"instance_code":"81D3****4E71","task_id":"123456789","comment":"同意"}' |
| 146 | +``` |
| 147 | + |
| 148 | +**同意时提交节点要求的表单** |
| 149 | +```bash |
| 150 | +lark-cli approval tasks approve --data '{"instance_code":"81D3****4E71","task_id":"123456789","comment":"同意","form":"[{\"id\":\"user_name\",\"type\":\"input\",\"value\":\"张三\"}]"}' |
| 151 | +``` |
| 152 | + |
| 153 | +## tasks reject |
| 154 | +作为审批人拒绝(否决)一个待办审批任务,终止该流程 |
| 155 | + |
| 156 | +### Avoid when |
| 157 | +- 想退回到前序节点补充材料而不终止流程(用 [[tasks rollback]]) |
| 158 | +- 要同意(用 [[tasks approve]]) |
| 159 | + |
| 160 | +### Prerequisites |
| 161 | +- 已有 instance_code 与 task_id(来自 [[tasks query]]),且当前用户为该任务的审批人 |
| 162 | + |
| 163 | +### Tips |
| 164 | +- 与 [[tasks rollback]] 区别:reject 终止流程,rollback 让流程退回重审 |
| 165 | + |
| 166 | +### Examples |
| 167 | + |
| 168 | +**拒绝任务并附带理由** |
| 169 | +```bash |
| 170 | +lark-cli approval tasks reject --data '{"instance_code":"81D3****4E71","task_id":"123456789","comment":"预算不足,拒绝"}' |
| 171 | +``` |
| 172 | + |
| 173 | +## tasks transfer |
| 174 | +把一个待办审批任务整体转交给另一个人处理 |
| 175 | + |
| 176 | +### Avoid when |
| 177 | +- 想在保留自己的同时增加审批人(用 [[tasks add_sign]] 加签) |
| 178 | +- 自己直接处理(用 [[tasks approve]] / [[tasks reject]]) |
| 179 | + |
| 180 | +### Prerequisites |
| 181 | +- 已有 instance_code、task_id(来自 [[tasks query]])与转交目标 transfer_user_id |
| 182 | + |
| 183 | +### Tips |
| 184 | +- transfer_user_id 的 ID 类型需与 --user-id-type 一致 |
| 185 | + |
| 186 | +### Examples |
| 187 | + |
| 188 | +**把任务转交给指定用户** |
| 189 | +```bash |
| 190 | +lark-cli approval tasks transfer --data '{"instance_code":"81D3****4E71","task_id":"123456789","transfer_user_id":"ou_3cda****83e1","comment":"转交给你处理"}' |
| 191 | +``` |
| 192 | + |
| 193 | +**用 user_id 类型指定转交目标** |
| 194 | +```bash |
| 195 | +lark-cli approval tasks transfer --user-id-type "user_id" --data '{"instance_code":"81D3****4E71","task_id":"123456789","transfer_user_id":"a1b2c3d4"}' |
| 196 | +``` |
| 197 | + |
| 198 | +## tasks add_sign |
| 199 | +在当前审批节点增加审批人(加签),由 add_sign_type 决定前加签/后加签/并加签 |
| 200 | + |
| 201 | +### Avoid when |
| 202 | +- 想把任务整体交给别人而非增加(用 [[tasks transfer]]) |
| 203 | + |
| 204 | +### Prerequisites |
| 205 | +- 已有 instance_code、task_id(来自 [[tasks query]])、加签人 add_sign_user_ids 与 add_sign_type |
| 206 | + |
| 207 | +### Tips |
| 208 | +- add_sign_type 控制加签方式(前/后/并),按业务语义选择 |
| 209 | + |
| 210 | +### Examples |
| 211 | + |
| 212 | +**前加签:先让指定人审批(add_sign_type 1)** |
| 213 | +```bash |
| 214 | +lark-cli approval tasks add_sign --data '{"instance_code":"2893****BCAE","task_id":"6955****7956","add_sign_user_ids":["ou_3cda****83e1"],"add_sign_type":1,"comment":"前加签"}' |
| 215 | +``` |
| 216 | + |
| 217 | +**后加签:自己审批后再让指定人审批(add_sign_type 2)** |
| 218 | +```bash |
| 219 | +lark-cli approval tasks add_sign --data '{"instance_code":"2893****BCAE","task_id":"6955****7956","add_sign_user_ids":["ou_3cda****83e1"],"add_sign_type":2,"comment":"后加签"}' |
| 220 | +``` |
| 221 | + |
| 222 | +**并加签:与多名加签人会签(add_sign_type 3,会签 approval_method 1)** |
| 223 | +```bash |
| 224 | +lark-cli approval tasks add_sign --data '{"instance_code":"2893****BCAE","task_id":"6955****7956","add_sign_user_ids":["ou_3cda****83e1","ou_8a1f****e6f7"],"add_sign_type":3,"approval_method":1,"comment":"并加签"}' |
| 225 | +``` |
| 226 | + |
| 227 | +## tasks rollback |
| 228 | +把审批退回到之前的某个/某些节点重新审批(流程继续,不终止) |
| 229 | + |
| 230 | +### Avoid when |
| 231 | +- 想直接否决并终止流程(用 [[tasks reject]]) |
| 232 | +- 想撤销整个实例(用 [[instances cancel]]) |
| 233 | + |
| 234 | +### Prerequisites |
| 235 | +- 已有 instance_code、task_id(来自 [[tasks query]])与要退回到的 node_ids |
| 236 | + |
| 237 | +### Tips |
| 238 | +- node_ids 指定退回到哪些节点;与 reject 不同,流程不会被终止 |
| 239 | + |
| 240 | +### Examples |
| 241 | + |
| 242 | +**退回到指定节点重新审批** |
| 243 | +```bash |
| 244 | +lark-cli approval tasks rollback --data '{"instance_code":"2893****BCAE","task_id":"6955****8956","node_ids":["manager_node_id"],"comment":"请补充材料后重新提交"}' |
| 245 | +``` |
| 246 | + |
| 247 | +## tasks remind |
| 248 | +催办(提醒)某审批任务的待办审批人尽快处理 |
| 249 | + |
| 250 | +### Avoid when |
| 251 | +- 自己就是审批人要直接处理(用 [[tasks approve]] / [[tasks reject]]) |
| 252 | + |
| 253 | +### Prerequisites |
| 254 | +- 已有 instance_code 与 task_ids(来自 [[tasks query]]) |
| 255 | + |
| 256 | +### Tips |
| 257 | +- task_ids 是数组,可一次催办同一实例下的多个任务 |
| 258 | + |
| 259 | +### Examples |
| 260 | + |
| 261 | +**催办单个待办任务** |
| 262 | +```bash |
| 263 | +lark-cli approval tasks remind --data '{"instance_code":"81D3****4E71","task_ids":["6955****7956"],"comment":"麻烦尽快处理"}' |
| 264 | +``` |
| 265 | + |
| 266 | +**一次催办同一实例下的多个任务** |
| 267 | +```bash |
| 268 | +lark-cli approval tasks remind --data '{"instance_code":"81D3****4E71","task_ids":["6955****7956","6955****8956"]}' |
| 269 | +``` |
0 commit comments