背景信息
机器人接收消息的模式可以分为 Stream模式 和 HTTP 模式。下面将针对两种模式介绍机器人如何接收消息。前提条件
- 需要完成创建应用流程。
- 需要完成添加应用能力流程
操作步骤
Stream 模式(推荐)
更多语言请参考服务端Stream模式。
- Java 开发环境准备:
- 运行环境:JDK 1.8 及以上
-
安装 Java SDK:
添加依赖项到工程的
pom.xml文件或下载对应的 jar 包,最新的 SDK 版本可以在这里查看和下载。
-
服务端接入示例:
参数名称 说明 ClientId 企业内部应用的应用凭证ClientId。 ClientSecret 企业内部应用的应用凭证ClientSecret。 topic 机器人回调名称,固定值: /v1.0/im/bot/messages/get。 -
开发完成后,你需要添加机器人入群,当你@机器人发送“你好”,服务端接收消息格式如下:
参数名称 说明 conversationId 会话 ID。 atUsers 被@人的信息: - dingtalkId:加密的发送者 ID。 chatbotCorpId 机器人所在的企业 corpId。 chatbotUserId 加密的机器人 ID,暂无使用场景,可忽略。 msgId 加密的消息 ID,暂无使用场景,可忽略。 senderNick 发送者昵称。 isAdmin 是否为管理员。 senderStaffId 企业内部群中@该机器人的用户 ID。 sessionWebhookExpiredTime 当前会话的 Webhook 地址过期时间。 createAt 消息的时间戳,单位毫秒。 senderCorpId 企业内部群有的发送者当前群的企业 corpId。 conversationType 会话类型: - 1:单聊 - 2:群聊 senderId 加密的发送者 ID。 说明 使用 senderStaffId,为发送者 userId 值。 conversationTitle 群聊时才有的会话标题。 isInAtList 是否在@列表中。 sessionWebhook 当前会话的 Webhook 地址。 text 文本消息: - content:文本内容 robotCode 机器人编码。 msgtype 消息类型。
HTTP 模式
-
Java 开发环境准备:
- 运行环境:JDK 1.7 及以上
-
服务端接入示例:
-
开发完成后,你需要添加机器人入群,当你@机器人发送“你好”,服务端接收消息格式如下:
参数名称 说明 conversationId 会话 ID。 atUsers 被@人的信息: - dingtalkId:加密的发送者 ID。 - staffId:当前企业内部群中员工 userId 值。 chatbotCorpId 机器人所在的企业 corpId。 chatbotUserId 加密的机器人 ID,暂无使用场景,可忽略。 msgId 加密的消息 ID,暂无使用场景,可忽略。 senderNick 发送者昵称。 isAdmin 是否为管理员。 senderStaffId 企业内部群中@该机器人的用户 ID。 sessionWebhookExpiredTime 当前会话的 Webhook 地址过期时间。 createAt 消息的时间戳,单位毫秒。 senderCorpId 企业内部群有的发送者当前群的企业 corpId。 conversationType 会话类型: - 1:单聊 - 2:群聊 senderId 加密的发送者 ID。 说明 使用 senderStaffId,为发送者 userId 值。 conversationTitle 群聊时才有的会话标题。 isInAtList 是否在@列表中。 sessionWebhook 当前会话的 Webhook 地址。 content 消息文本。 msgtype 消息类型。