开发指南/消息卡片/快速入门/使用应用机器人发送卡片消息
# 使用应用机器人发送卡片消息

Lark消息卡片允许通过机器人或应用，以结构化（JSON 数据结构）的方式发送和接收消息。因此，你可以使用消息卡片推送活动通知、业务审批、监控告警以及日程等信息。本文将介绍如何通过应用机器人发送消息卡片通知。

## 示例效果

通过本文操作可实现如下图所示的效果，即通过应用机器人推送一个示例卡片消息。

![](//sf16-sg.larksuitecdn.com/obj/open-platform-opendoc-sg/63e6f80df349090d0ac8e1c3fcc7ce73_YdaJdAfRe4.png?height=1522&lazyload=true&maxWidth=600&width=2730)

## 操作步骤

### 步骤一：创建消息卡片

1. 打开[消息卡片搭建工具](https://open.larksuite.com/tool/cardbuilder)页面。

2. 在消息卡片搭建工具页面，单击左侧 **参考案例**，选择消息卡片模版，然后单击 **使用**。

本文选择使用 **活动通知** 模版。

![](//sf16-sg.larksuitecdn.com/obj/open-platform-opendoc-sg/0703dccf7ac75cdb9b930d8fafebbfa7_oUDsuaAVup.png?height=1442&lazyload=true&maxWidth=600&width=2882)

3. （可选）编辑卡片内容。

你可以在 **卡片预览** 区域，点击卡片内容进行修改。关于卡片内容构造的相关说明，参见[消息卡片设计规范](https://open.larksuite.com/document/ukTMukTMukTM/ugDOwYjL4gDM24CO4AjN)、[卡片结构介绍](https://open.larksuite.com/document/ukTMukTMukTM/uEjNwUjLxYDM14SM2ATN)。
本示例中，不对 **活动通知** 卡片做任何处理，直接使用该模板进行演示。

![](//sf16-sg.larksuitecdn.com/obj/open-platform-opendoc-sg/99d6a41b10eaa358737ba6f8afd456fc_5D84tlWHSG.png?height=1418&lazyload=true&maxWidth=600&width=2882)

4. 在页面右上角，点击 **保存并发布**，然后在弹出的对话框中点击 **发布**。

![](//sf16-sg.larksuitecdn.com/obj/open-platform-opendoc-sg/dc05b773eec13b60e816a54ed67ffe94_ZusCoIjXXM.png?height=1390&lazyload=true&maxWidth=600&width=2882)

5. 在页面左侧点击 **我的卡片**，找到并点击已保存的卡片模板。
6. 在 **编辑卡片** 区域，切换为 JSON 数据结构，并复制卡片对应的 JSON 数据。
你需要在本地保存消息卡片的 JSON 数据，后续向应用机器人推送消息时，需要传入消息卡片的 JSON 数据。

![](//sf16-sg.larksuitecdn.com/obj/open-platform-opendoc-sg/faf45d3cd57d63638f614a5d1b8edf7e_qmFPp8zN4q.png?height=1438&lazyload=true&maxWidth=600&width=2882)

### 步骤二：创建并配置自建应用

1. 登录[开发者后台](https://open.larksuite.com/app)。

2. 在 **企业自建应用** 页签内，点击 **创建企业自建应用**。

3. 设置应用名称、描述、图标，并点击 **创建**。

例如，创建一个名为 `测试应用` 的企业自建应用。

![](//sf16-sg.larksuitecdn.com/obj/open-platform-opendoc-sg/773b14687396101aa2c900dcf422bbce_8GDKVv0tF2.png?height=1426&lazyload=true&maxWidth=600&width=2548)

4. 进入应用详情页，在左侧导航栏中，进入 **测试企业和人员** 页面，并在页面右上角单击 **创建测试企业**。
为了满足开发测试阶段频繁变更配置的需求，Lark开放平台提供了[测试企业与人员功能](https://open.larksuite.com/document/home/introduction-to-custom-app-development/testing-enterprise-and-personnel-functions)。在开发阶段，推荐开发者使用测试版应用，此**版本中涉及的权限和配置变更都会直接生效，无需管理员审核**，客户端的测试也将在测试租户进行。在所有的开发测试完成之后，切换、手动同步到正式版应用，仅提交一次审核即可，大大加速了开发效率，也降低了对管理员的打扰。

5. 在 **创建测试企业** 对话框，填写 **测试企业名称**、**手机号**、**验证码**，并单击 **确认创建**。

![](//sf16-sg.larksuitecdn.com/obj/open-platform-opendoc-sg/dd643c4d60b1614631e718d6f93b959e_Um1S6zzHdy.png?height=1378&lazyload=true&maxWidth=600&width=3572)

6. 创建测试企业后，在 **操作** 列，单击 **关联应用**。

![](//sf16-sg.larksuitecdn.com/obj/open-platform-opendoc-sg/0000417232f02f327884116b86e41b47_4WMNgRCGTA.png?height=552&lazyload=true&maxWidth=600&width=2950)

7. 测试企业关联应用后，在页面顶部切换企业应用为测试版应用。

![](//sf16-sg.larksuitecdn.com/obj/open-platform-opendoc-sg/ec2875623c97c0e4142f4bd00eb47de3_sKCoQIoidK.png?height=804&lazyload=true&maxWidth=600&width=3576)

8. 在左侧导航栏中，进入 **应用能力** > **添加应用能力** 页面，找到 **机器人** 卡片，并点击 **添加**。

![](//sf16-sg.larksuitecdn.com/obj/open-platform-opendoc-sg/69682195be143644fe1f9f44cbc447d1_QKYWp2Keg4.png?height=1278&lazyload=true&maxWidth=600&width=2882)

9. 在左侧导航栏中，进入 **开发配置** > **权限管理**，在 **API 权限** 中，添加以下权限。

- 获取与更新群组信息
    - 获取与发送单聊、群组消息

你可以直接将以下权限 Keys 粘贴到权限搜索框，点击 **批量开通** 权限。

```
    im:chat,im:message
    ```

![](//sf16-sg.larksuitecdn.com/obj/open-platform-opendoc-sg/b2c51ee0e61b428459ece082c3f0fe19_gcODKKnUW9.png?height=1168&lazyload=true&maxWidth=600&width=2276)

### 步骤三：添加应用机器人至Lark群组

当你创建了具有机器人能力的自建应用后，需要将应用机器人添加至相应的Lark群组中，后续将通过该机器人发送消息卡片。

1. 使用测试人员账号登录Lark客户端（PC 端）。   
对于测试版应用来说，仅测试企业的 **创建者** 及 **测试人员** 有权访问该应用。因此，需要使用测试企业中的人员登录Lark客户端。

2. 在指定群组中，打开 **设置**，并点击 **群机器人**。

![](//sf16-sg.larksuitecdn.com/obj/open-platform-opendoc-sg/31565c193c9b78597db8a290d836e028_MJrc1kbq4z.png?height=1538&lazyload=true&maxWidth=600&width=2722)

3. 点击 **添加机器人**，并根据应用名称搜索机器人。

本示例操作中应用名称为 `测试应用`。

![](//sf16-sg.larksuitecdn.com/obj/open-platform-opendoc-sg/48ee1e1ca98589c34f104fe58c0f1600_HIwRGiVlwZ.png?height=1520&lazyload=true&maxWidth=600&width=2722)

4. 点击 `测试应用` 机器人卡片，并点击 **添加**。

![](//sf16-sg.larksuitecdn.com/obj/open-platform-opendoc-sg/f9b69de926c8a716f3a177f8213f8cb1_GnTkpjt5nc.png?height=1136&lazyload=true&maxWidth=600&width=1666)

### 步骤四：通过 API 调试台调用接口发送消息卡片
- Lark开放平台提供的 [API 调试台](https://open.larksuite.com/document/tools-and-resources/api-explorer-guide) 工具，用于高效测试开放平台接口功能。
- 对于测试版应用来说，仅测试企业的 **创建者** 及 **测试人员** 有权访问该应用。因此，需要使用测试企业中的人员账号登录 API 调试台。

1. 使用测试人员账号登录 [API 调试台](https://open.larksuite.com/api-explorer)。

2. 在页面左上角点击 **切换应用**，将应用切换为 `测试应用`，并点击 **确定**。

![](//sf16-sg.larksuitecdn.com/obj/open-platform-opendoc-sg/0b0f91b78fff9e7926f9b3613bb54fb0_AORoIwUwzZ.png?height=1534&lazyload=true&maxWidth=600&width=2882)

3. 调用[获取用户或机器人所在的群列表](https://open.larksuite.com/document/uAjLw4CM/ukTMukTMukTM/reference/im-v1/chat/list)接口。

你需要完成以下配置，并点击 **开始调试**。

- 请求头：在页面左侧的 **查看鉴权凭证** 区域获取 **tenant_access_token**，并将 **Authorization** 切换为 **tenant_access_token**。

![](//sf16-sg.larksuitecdn.com/obj/open-platform-opendoc-sg/8f9ab99071a3e442803ce5936ff9eb9d_cv9uwcEsT8.png?height=1444&lazyload=true&maxWidth=600&width=2882)

- 查询参数：保持默认配置即可。

4. 调用成功后，在返回结果内获取群组 ID （`chat_id`）。
- 你可以通过返回的 `name` 字段（即群组名称）匹配所需的群组 ID。
- 保存 `chat_id`，将在下一步骤中使用该 ID。

![](//sf16-sg.larksuitecdn.com/obj/open-platform-opendoc-sg/ff7d461e1a56600c546fc830418ab2fe_c9VZXQjDT2.png?height=1404&lazyload=true&maxWidth=600&width=2242)

5. 调用[发送消息](https://open.larksuite.com/document/uAjLw4CM/ukTMukTMukTM/reference/im-v1/message/create)接口，向应用机器人推送消息卡片。

你需要完成以下配置，并点击 **开始调试**。

- 请求头：在页面左侧的 **查看鉴权凭证** 区域获取 **tenant_access_token**，并在 **Authorization** 设置 tenant_access_token 值。

- 查询参数：在 **receive_id_type** 字段中，选择 **chat_id**。

- 请求体：在编辑器右上角点击 **恢复示例值**，然后依次完成以下字段配置。
        - **receive_id**：填写上一步中已保存的 `chat_id`。
        - **msg_type**：填写 `interactive`，表示发送的是消息卡片。
        - **content**：使用已保存的消息卡片 JSON 数据。你需要将 JSON 数据进行压缩转义，然后填写到该字段。
        - **uuid**：测试场景下无需设置该字段。

示例配置如下：

```json
        {
          "receive_id": "oc_f6e878b7c848caa51532d143xxxx",
          "msg_type": "interactive",
          "content": "{\"config\":{\"wide_screen_mode\":true},\"elements\":[{\"alt\":{\"content\":\"\",\"tag\":\"plain_text\"},\"img_key\":\"img_v2_bfd72a81-1533-4699-995d-12a675708d0g\",\"tag\":\"img\"},{\"tag\":\"div\",\"text\":{\"content\":\"你是否曾因为一本书而产生心灵共振，开始感悟人生？\\n你有哪些想极力推荐给他人的珍藏好书？\\n\\n加入 **4·23 Lark读书节**，分享你的**挚爱书单**及**读书笔记**，**赢取千元读书礼**！\\n\\n📬 填写问卷，晒出你的珍藏好书\\n😍 想知道其他人都推荐了哪些好书？马上[入群围观](https://open.larksuite.com/)\\n📝 用[读书笔记模板](https://open.larksuite.com/)（桌面端打开），记录你的心得体会\\n🙌 更有惊喜特邀嘉宾 4月12日起带你共读\",\"tag\":\"lark_md\"}},{\"actions\":[{\"tag\":\"button\",\"text\":{\"content\":\"立即推荐好书\",\"tag\":\"plain_text\"},\"type\":\"primary\",\"url\":\"https://open.larksuite.com/\"},{\"tag\":\"button\",\"text\":{\"content\":\"查看活动指南\",\"tag\":\"plain_text\"},\"type\":\"default\",\"url\":\"https://open.larksuite.com/\"}],\"tag\":\"action\"}],\"header\":{\"template\":\"turquoise\",\"title\":{\"content\":\"📚晒挚爱好书，赢读书礼金\",\"tag\":\"plain_text\"}}}"
        }
        ```

调用成功的示例结果如下图所示：

![](//sf16-sg.larksuitecdn.com/obj/open-platform-opendoc-sg/8175393c5be183a4ea3b4ec5f8da1673_Ayk0FzxROq.png?height=1404&lazyload=true&maxWidth=600&width=2244)

6. 返回Lark客户端，在指定的群组中查看消息卡片内容。

![](//sf16-sg.larksuitecdn.com/obj/open-platform-opendoc-sg/f8a494494580238c99b201331da768ef_SnQhowVerS.png?height=1522&lazyload=true&maxWidth=600&width=2724)