Skip to main content
当用户@群机器人或与机器人发送单聊消息时,钉钉会通过机器人开发者的HTTPS服务地址,把消息内容发送出去,本文介绍了机器人的接收消息协议。

HTTP header参数

开发者需对header中的timestamp和sign进行验证,以判断是否是来自钉钉的合法请求,避免其他仿冒钉钉调用开发者的HTTPS服务传送数据,具体验证逻辑如下:
  • timestamp 与系统当前时间戳如果相差1小时以上,则认为是非法的请求。
  • sign 与开发者自己计算的结果不一致,则认为是非法的请求。
必须当timestamp和sign同时验证通过,才能认为是来自钉钉的合法请求。

sign的计算方法

header中的timestamp + “\n” + 机器人的appSecret当做签名字符串,使用HmacSHA256算法计算签名,然后进行Base64 encode,得到最终的签名值。 签名计算代码示例(Java)

HTTP Body

参数说明

支持接收的消息类型

机器人目前支持接收文本、语音、图片、文件、视频、富文本类型消息,下面表格是机器人接收各种消息类型的字段解释。除消息类型和消息体字段不同之外,其余参数字段与上面表格相同。

重要

  • 群聊会话中:群成员@机器人,机器人不支持接收语音、文件、视频类型。
  • 人与人的会话中:机器人不支持接收语音、文件、视频类型。
  • 人与机器人的会话中:机器人支持接收语音、文件、视频类型。

文本消息

参数说明:

语音消息

参数说明:

图片消息

参数说明:

视频消息

参数说明:

文件消息

参数说明:

富文本消息

参数说明:

HTTP响应格式

开发者可以根据自己的业务需要,选择回复一段消息,目前支持text、markdown、整体跳转actionCard类型、独立跳转actionCard类型、feedCard这5种消息类型