# 添加跟随气泡

调用该接口在最新一条消息下方添加气泡样式的内容，当消息接收者点击气泡或者新消息到达后，气泡消失。

![image.png](//sf3-cn.feishucdn.com/obj/open-platform-opendoc/05f992f251e9949661370b6c73aa6eda_DseiZlt09t.png?height=278&maxWidth=450&width=1383)

## 前提条件

- 应用需要开启[机器人能力](https://open.feishu.cn/document/uAjLw4CM/ugTN1YjL4UTN24CO1UjN/trouble-shooting/how-to-enable-bot-ability)。
- 跟随气泡的效果在飞书客户端 v7.20 及以上版本生效。
- 仅支持在当前机器人与用户单聊的消息上添加跟随气泡，且消息需要符合：

- 消息是机器人发送的。
    - 消息是会话内最新的消息。
    - 消息发送后未超过 600 秒。

## 注意事项

添加跟随气泡后，会话内的用户点击气泡会自动转换为该用户发送的一条消息，你可以为应用订阅[接收消息](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/im-v1/message/events/receive)事件，接收用户发送的消息并判断是否为跟随气泡的内容。

## 请求

基本 | &nbsp;
---|---
HTTP URL | https://open.feishu.cn/open-apis/im/v1/messages/:message_id/push_follow_up
HTTP Method | POST
接口频率限制 | [1000 次/分钟、50 次/秒](https://open.feishu.cn/document/ukTMukTMukTM/uUzN04SN3QjL1cDN)
支持的应用类型 | Custom App、Store App
权限要求<br>**调用该 API 所需的权限。开启其中任意一项权限即可调用**<br>开启任一权限即可 | 获取与发送单聊、群组消息(im:message)<br>以应用的身份发消息(im:message:send_as_bot)

### 请求头

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

### 路径参数

名称 | 类型 | 描述
---|---|---
message_id | string | 机器人发送的消息 ID。ID 获取方式：<br>- 调用[发送消息](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/im-v1/message/create)接口后，从响应结果的 `message_id` 参数获取。<br>- 监听[接收消息](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/im-v1/message/events/receive)事件，当触发该事件后可以从事件体内获取消息的 `message_id`。<br>- 调用[获取会话历史消息](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/im-v1/message/list)接口，从响应结果的 `message_id` 参数获取。<br>**示例值**："om_3210a18894e206715a4359115f4cf2f5"

### 请求体

名称 | 类型 | 必填 | 描述
---|---|---|---
follow_ups | follow_up\[\] | 是 | 跟随气泡列表。<br>**数据校验规则**：<br>- 长度范围：`1` ～ `3`
content | string | 是 | 气泡的内容。<br>**示例值**："你好"<br>**数据校验规则**：<br>- 长度范围：`1` ～ `200` 字符
i18n_contents | i18n_content\[\] | 否 | 气泡的多语言内容。<br>**数据校验规则**：<br>- 长度范围：`0` ～ `50`
content | string | 是 | `language` 参数对应的内容。<br>**示例值**："hello"<br>**数据校验规则**：<br>- 长度范围：`1` ～ `200` 字符
language | string | 是 | 语言类型。<br>**示例值**："en_us"<br>**可选值有**：<br>- en_us：英文<br>- zh_cn：简体中文<br>- zh_hk：繁体中文-香港<br>- zh_tw：繁体中文-台湾<br>- ja_jp：日语<br>- id_id：印尼语<br>- vi_vn：越南语<br>- th_th：泰语<br>- pt_br：葡萄牙语<br>- es_es：西班牙语<br>- ko_kr：韩语<br>- de_de：德语<br>- fr_fr：法语<br>- it_it：意大利语<br>- ru_ru：俄语<br>- ms_my：马来语

### 请求体示例
```json
{
    "follow_ups": [
        {
            "content": "你好",
            "i18n_contents": [
                {
                    "content": "hello",
                    "language": "en_us"
                }
            ]
        }
    ]
}
```

## 响应

### 响应体

名称 | 类型 | 描述
---|---|---
code | int | 错误码，非 0 表示失败
msg | string | 错误描述
data | \- | \-

### 响应体示例
```json
{
    "code": 0,
    "msg": "success",
    "data": {}
}
```

### 错误码

HTTP状态码 | 错误码 | 描述 | 排查建议
---|---|---|---
400 | 230001 | Your request contains an invalid request parameter. | 参数错误，可根据接口实际返回的错误信息，并参考接口文档内容，检查输入参数是否填写错误。
400 | 230002 | expired message. | 消息已过期。已发送超过 600 秒的消息无法再添加跟随气泡。
400 | 230003 | only support p2p chat. | 仅支持在当前机器人与用户单聊的消息上添加跟随气泡。
400 | 230004 | invisible message. | 所操作的消息对当前机器人不可见，无法执行操作。
400 | 230005 | user is not visible to bot. | 当前机器人对用户不可见，无法执行操作。
400 | 230006 | only support latest message. | 仅支持在会话中的最新一条消息上添加跟随气泡。
400 | 230007 | invalid follow up. | 气泡内容无效。你可以根据文档提供的参数描述，传入正确的气泡内容。
400 | 230008 | follow up already exist. | 指定消息已添加跟随气泡，无法执行本次操作。

更多错误码信息，参见[通用错误码](https://open.feishu.cn/document/ukTMukTMukTM/ugjM14COyUjL4ITN)。

