服务端 API/任务 v2/任务/添加任务提醒
# 添加任务提醒

为一个任务添加提醒。提醒是基于任务的截止时间计算得到的一个时刻。为了设置提醒，任务必须首先拥有截止时间(due)。可以在[创建任务](https://open.larksuite.com/document/uAjLw4CM/ukTMukTMukTM/task-v2/task/create)时设置截止时间，或者通过[更新任务](https://open.larksuite.com/document/uAjLw4CM/ukTMukTMukTM/task-v2/task/patch)设置一个截止时间。

目前一个任务只能设置1个提醒。但接口的形式可以在未来扩充为一个任务支持多个提醒。

如果当前任务已经有提醒了，要更新提醒的设置，需要先调用[移除任务提醒](https://open.larksuite.com/document/uAjLw4CM/ukTMukTMukTM/task-v2/task/remove_reminders)接口移除原有提醒。再调用本接口添加提醒。
**注意事项**：需要任务的编辑权限。详情见[任务功能概述](https://open.larksuite.com/document/uAjLw4CM/ukTMukTMukTM/task-v2/task/overview)中的“任务是如何鉴权的？”章节。

## 请求

基本 | &nbsp;
---|---
HTTP URL | https://open.larksuite.com/open-apis/task/v2/tasks/:task_guid/add_reminders
HTTP Method | POST
接口频率限制 | [100 次/分钟](https://open.larksuite.com/document/ukTMukTMukTM/uUzN04SN3QjL1cDN)
支持的应用类型 | Custom App、Store App
权限要求<br>**调用该 API 所需的权限。开启其中任意一项权限即可调用** | 查看、创建、更新、删除任务(task:task:write)

### 请求头

名称 | 类型 | 必填 | 描述
---|---|---|---
Authorization | string | 是 | `tenant_access_token`<br>或<br>`user_access_token`<br>**值格式**："Bearer `access_token`"<br>**示例值**："Bearer u-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"

### 路径参数

名称 | 类型 | 描述
---|---|---
task_guid | string | 要添加负责人的任务全局唯一ID<br>**示例值**："d300a75f-c56a-4be9-80d1-e47653028ceb"<br>**数据校验规则**：<br>- 最大长度：`100` 字符

### 查询参数

名称 | 类型 | 必填 | 描述
---|---|---|---
user_id_type | string | 否 | 用户 ID 类型<br>**示例值**：open_id<br>**默认值**：`open_id`

### 请求体

名称 | 类型 | 必填 | 描述
---|---|---|---
reminders | reminder\[\] | 是 | 要添加的reminder的列表，目前1个任务只支持一个提醒。<br>**示例值**：[ou_2cefb2f014f8d0c6c2d2eb7bafb0e54f]<br>**数据校验规则**：<br>- 长度范围：`1` ～ `1`
relative_fire_minute | int | 是 | 相对于截止时间的提醒时间分钟数。例如30表示截止时间前30分钟提醒；0表示截止时提醒。<br>不支持负数。<br>**示例值**：30

### 请求体示例
```json
{
    "reminders": [
        {
            "relative_fire_minute": 30
        }
    ]
}
```

## 响应

### 响应体

名称 | 类型 | 描述
---|---|---
code | int | 错误码，非 0 表示失败
msg | string | 错误描述
data | \- | \-
task | task | 更新完成后的任务实体
guid | string | 任务guid，任务的唯一ID
summary | string | 任务标题
description | string | 任务描述
due | due | 任务截止时间
timestamp | string | 截止时间/日期的时间戳，距1970-01-01 00:00:00的毫秒数。如果截止时间是一个日期，需要把日期转换成时间戳，并设置 is_all_day=true
is_all_day | boolean | 是否截止到一个日期。如果设为true，timestamp中只有日期的部分会被解析和存储。
reminders | reminder\[\] | 任务的提醒配置列表。目前每个任务最多有1个。
id | string | 提醒时间设置的 ID
relative_fire_minute | int | 相对于截止时间的提醒时间分钟数。例如30表示截止时间前30分钟提醒；0表示截止时提醒。
creator | member | 任务创建者
id | string | 表示member的id
type | string | 成员的类型
role | string | 成员角色
members | member\[\] | 任务成员列表
id | string | 表示member的id
type | string | 成员角色
role | string | 成员角色
completed_at | string | 任务完成的时间戳(ms)
attachments | attachment\[\] | 任务的附件列表
guid | string | 附件guid
file_token | string | 附件在云文档系统中的token
name | string | 附件名
size | int | 附件的字节大小
resource | resource | 附件归属的资源
type | string | 资源类型
id | string | 资源ID
uploader | member | 附件上传者
id | string | 表示member的id
type | string | 成员类型
role | string | 成员角色
is_cover | boolean | 是否是封面图
uploaded_at | string | 上传时间戳(ms)
origin | origin | 任务关联的第三方平台来源信息。创建是设置后就不可更改。
platform_i18n_name | i18n_text | 任务导入来源的名称，用于在任务中心详情页展示。需提供多语言版本。
en_us | string | 英文
zh_cn | string | 中文
zh_hk | string | 中文（香港地区）
zh_tw | string | 中文（台湾地区）
ja_jp | string | 日语
fr_fr | string | 法语
it_it | string | 意大利语
de_de | string | 德语
ru_ru | string | 俄语
th_th | string | 泰语
es_es | string | 西班牙语
ko_kr | string | 韩语
href | href | 任务关联的来源平台详情页链接
url | string | 链接对应的地址
title | string | 链接对应的标题
extra | string | 任务附带的自定义数据。
tasklists | task_in_tasklist_info\[\] | 任务所属清单的名字。调用者只能看到有权限访问的清单的列表。
tasklist_guid | string | 任务所在清单的guid
section_guid | string | 任务所在清单的自定义分组guid
repeat_rule | string | 重复任务配置。
parent_task_guid | string | 如果当前任务为某个任务的子任务，返回父任务的guid
mode | int | 任务的模式。1 - 会签任务；2 - 或签任务
source | int | 任务创建的来源<br>**可选值有**：<br>- 0：未知来源<br>- 1：任务中心<br>- 2：群组任务/消息转任务<br>- 6：通过开放平台以tenant_access_token授权创建的任务<br>- 7：通过开放平台以user_access_token授权创建的任务<br>- 8：文档任务
custom_complete | custom_complete | 任务的自定义完成配置
pc | custom_complete_item | pc客户端自定义完成配置（含mac和windows）
href | string | 自定义完成的跳转url
tip | i18n_text | 自定义完成的弹出提示为
en_us | string | 英文
zh_cn | string | 中文
zh_hk | string | 中文（香港地区）
zh_tw | string | 中文（台湾地区）
ja_jp | string | 日语
fr_fr | string | 法语
it_it | string | 意大利语
de_de | string | 德语
ru_ru | string | 俄语
th_th | string | 泰语
es_es | string | 西班牙语
ko_kr | string | 韩语
ios | custom_complete_item | ios端的自定义完成配置
href | string | 自定义完成的跳转url
tip | i18n_text | 自定义完成的弹出提示为
en_us | string | 英文
zh_cn | string | 中文
zh_hk | string | 中文（香港地区）
zh_tw | string | 中文（台湾地区）
ja_jp | string | 日语
fr_fr | string | 法语
it_it | string | 意大利语
de_de | string | 德语
ru_ru | string | 俄语
th_th | string | 泰语
es_es | string | 西班牙语
ko_kr | string | 韩语
android | custom_complete_item | android端的自定义完成配置
href | string | 自定义完成的跳转url
tip | i18n_text | 自定义完成的弹出提示为
en_us | string | 英文
zh_cn | string | 中文
zh_hk | string | 中文（香港地区）
zh_tw | string | 中文（台湾地区）
ja_jp | string | 日语
fr_fr | string | 法语
it_it | string | 意大利语
de_de | string | 德语
ru_ru | string | 俄语
th_th | string | 泰语
es_es | string | 西班牙语
ko_kr | string | 韩语
task_id | string | 任务界面上的代码
created_at | string | 任务创建时间戳(ms)
updated_at | string | 任务最后一次更新的时间戳(ms)
status | string | 任务的状态，支持"todo"和"done"两种状态
url | string | 任务的分享链接
start | start | 任务的开始时间
timestamp | string | 开始时间/日期的时间戳，距1970-01-01 00:00:00的毫秒数。如果开始时间是一个日期，需要把日期转换成时间戳，并设置 is_all_day=true
is_all_day | boolean | 是否开始于一个日期。如果设为true，timestamp中只有日期的部分会被解析和存储。
subtask_count | int | 该任务的子任务的个数。

### 响应体示例
```json
{
    "code": 0,
    "msg": "success",
    "data": {
        "task": {
            "guid": "83912691-2e43-47fc-94a4-d512e03984fa",
            "summary": "进行销售年中总结",
            "description": "进行销售年中总结",
            "due": {
                "timestamp": "1675454764000",
                "is_all_day": true
            },
            "reminders": [
                {
                    "id": "10",
                    "relative_fire_minute": 30
                }
            ],
            "creator": {
                "id": "ou_2cefb2f014f8d0c6c2d2eb7bafb0e54f",
                "type": "user",
                "role": "assignee"
            },
            "members": [
                {
                    "id": "ou_2cefb2f014f8d0c6c2d2eb7bafb0e54f",
                    "type": "user",
                    "role": "assignee"
                }
            ],
            "completed_at": "1675742789470",
            "attachments": [
                {
                    "guid": "f860de3e-6881-4ddd-9321-070f36d1af0b",
                    "file_token": "boxcnTDqPaRA6JbYnzQsZ2doB2b",
                    "name": "foo.jpg",
                    "size": 62232,
                    "resource": {
                        "type": "task",
                        "id": "e6e37dcc-f75a-5936-f589-12fb4b5c80c2"
                    },
                    "uploader": {
                        "id": "ou_2cefb2f014f8d0c6c2d2eb7bafb0e54f",
                        "type": "user",
                        "role": "editor"
                    },
                    "is_cover": false,
                    "uploaded_at": "1675742789470"
                }
            ],
            "origin": {
                "platform_i18n_name": {
                    "en_us": "workbench",
                    "zh_cn": "工作台",
                    "zh_hk": "工作臺",
                    "zh_tw": "工作臺",
                    "ja_jp": "作業台",
                    "fr_fr": "Table de travail",
                    "it_it": "banco di lavoro",
                    "de_de": "Werkbank",
                    "ru_ru": "верстак",
                    "th_th": "โต๊ะทำงาน",
                    "es_es": "banco de trabajo",
                    "ko_kr": "작업대"
                },
                "href": {
                    "url": "https://www.example.com",
                    "title": "反馈一个问题，需要协助排查"
                }
            },
            "extra": "dGVzdA==",
            "tasklists": [
                {
                    "tasklist_guid": "cc371766-6584-cf50-a222-c22cd9055004",
                    "section_guid": "e6e37dcc-f75a-5936-f589-12fb4b5c80c2"
                }
            ],
            "repeat_rule": "FREQ=WEEKLY;INTERVAL=1;BYDAY=MO,TU,WE,TH,FR",
            "parent_task_guid": "e297ddff-06ca-4166-b917-4ce57cd3a7a0",
            "mode": 2,
            "source": 6,
            "custom_complete": {
                "pc": {
                    "href": "https://www.example.com",
                    "tip": {
                        "en_us": "workbench",
                        "zh_cn": "工作台",
                        "zh_hk": "工作臺",
                        "zh_tw": "工作臺",
                        "ja_jp": "作業台",
                        "fr_fr": "Table de travail",
                        "it_it": "banco di lavoro",
                        "de_de": "Werkbank",
                        "ru_ru": "верстак",
                        "th_th": "โต๊ะทำงาน",
                        "es_es": "banco de trabajo",
                        "ko_kr": "작업대"
                    }
                },
                "ios": {
                    "href": "https://www.example.com",
                    "tip": {
                        "en_us": "workbench",
                        "zh_cn": "工作台",
                        "zh_hk": "工作臺",
                        "zh_tw": "工作臺",
                        "ja_jp": "作業台",
                        "fr_fr": "Table de travail",
                        "it_it": "banco di lavoro",
                        "de_de": "Werkbank",
                        "ru_ru": "верстак",
                        "th_th": "โต๊ะทำงาน",
                        "es_es": "banco de trabajo",
                        "ko_kr": "작업대"
                    }
                },
                "android": {
                    "href": "https://www.example.com",
                    "tip": {
                        "en_us": "workbench",
                        "zh_cn": "工作台",
                        "zh_hk": "工作臺",
                        "zh_tw": "工作臺",
                        "ja_jp": "作業台",
                        "fr_fr": "Table de travail",
                        "it_it": "banco di lavoro",
                        "de_de": "Werkbank",
                        "ru_ru": "верстак",
                        "th_th": "โต๊ะทำงาน",
                        "es_es": "banco de trabajo",
                        "ko_kr": "작업대"
                    }
                }
            },
            "task_id": "t6272302",
            "created_at": "1675742789470",
            "updated_at": "1675742789470",
            "status": "todo",
            "url": "https://applink.larksuite.com/client/todo/detail?guid=70577c8f-91ab-4c91-b359-a21a751054e8&suite_entity_num=t192012",
            "start": {
                "timestamp": "1675454764000",
                "is_all_day": true
            },
            "subtask_count": 1
        }
    }
}
```

### 错误码

HTTP状态码 | 错误码 | 描述 | 排查建议
---|---|---|---
404 | 1470404 | 任务数据不存在或者已删除。 | 确认要访问的任务数据是否存在或已删除。
400 | 1470400 | 请求参数错误，如设置`relative_fire_minute`为一个负数。 | 错误原因见返回的msg提示的信息。
500 | 1470500 | 服务器错误。 | 尝试重试调用。如持续失败，请联系支持人员进行反馈。
400 | 1470613 | 任务已经有提醒了。 | 需要先调用[移除任务提醒](https://open.larksuite.com/document/uAjLw4CM/ukTMukTMukTM/task-v2/task/remove_reminders)接口移除原有提醒。再调用本接口添加提醒。
403 | 1470403 | 缺少任务编辑权限。 | 检查调用身份是否拥有任务编辑权限。详情见[任务功能概述](https://open.larksuite.com/document/uAjLw4CM/ukTMukTMukTM/task-v2/task/overview)中的“任务是如何鉴权的？”章节。

