首页 > 其他分享 >钉钉群机器人开发接口

钉钉群机器人开发接口

时间:2024-08-11 15:07:29浏览次数:10  
标签:string title text 机器人 接口 开发 msgtype com true

 

 

获取自定义机器人webhook

步骤一,在机器人管理页面选择“自定义”机器人,输入机器人名字并选择要发送消息的群。如果需要的话,可以为机器人设置一个头像。点击“完成添加”,完成后会生成Hook地址,如下图:

步骤二,点击“复制”按钮,即可获得这个机器人对应的Webhook地址,其格式如下:

https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxx

使用自定义机器人

(1)获取到Webhook地址后,用户可以向这个地址发起HTTP POST 请求,即可实现给该钉钉群发送消息。注意,发起POST请求时,必须将字符集编码设置成UTF-8。

(2)当前自定义机器人支持文本 (text)、链接 (link)、markdown(markdown)、ActionCard、FeedCard消息类型,大家可以根据自己的使用场景选择合适的消息类型,达到最好的展示样式。

(3)自定义机器人发送消息时,可以通过手机号码指定“被@人列表”。在“被@人列表”里面的人员收到该消息时,会有@消息提醒(免打扰会话仍然通知提醒,首屏出现“有人@你”)。

(4)当前机器人尚不支持应答机制 (该机制指的是群里成员在聊天@机器人的时候,钉钉回调指定的服务地址,即Outgoing机器人)。

SDK :

可以下载SDK,简化调用方式。

消息发送频率限制:

每个机器人每分钟最多发送20条。消息发送太频繁会严重影响群成员的使用体验,大量发消息的场景 (譬如系统监控报警) 可以将这些信息进行整合,通过markdown消息以摘要的形式发送到群里。

测试自定义机器人

通过下面方法,可以快速验证自定义机器人是否可以正常工作:

使用命令行工具curl(最新版本:7.29.0)。

为避免出错,请将以下命令直接复制到命令行,再将xxxxxxxx替换为真实access_token;若测试出错,请检查复制的命令是否和测试命令一致,多特殊字符会报错

复制代码
curl 'https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxx' \
   -H 'Content-Type: application/json' \
   -d '{"msgtype": "text", 
        "text": {
             "content": "我就是我, 是不一样的烟火"
        }
      }'
复制代码

 

 python示例:

复制代码
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#author tom
import requests
import json

def dingTalk():
    headers={
        "Content-Type": "application/json"
            }
    data={"msgtype": "text",
            "text": {
                 "content": "我就是我, 是不一样的烟火"
            }
          }
    json_data=json.dumps(data)
    requests.post(url='https://oapi.dingtalk.com/robot/send?access_token=35fd4b08dea143f19921121f0a6282dcb014ebb11dae72114ed569c9effe8e5e',data=json_data,headers=headers)
复制代码

 

 

消息类型及数据格式

text类型

{
    "msgtype": "text", 
    "text": {
        "content": "我就是我, 是不一样的烟火@156xxxx8827"
    }, 
    "at": {
        "atMobiles": [
            "156xxxx8827", 
            "189xxxx8325"
        ], 
        "isAtAll": false
    }
}

参数

参数类型

必须

说明

msgtype

String

消息类型,此时固定为:text

content

String

消息内容

atMobiles

Array

被@人的手机号(在content里添加@人的手机号)

isAtAll

bool

@所有人时:true,否则为:false

link类型

{
    "msgtype": "link", 
    "link": {
        "text": "这个即将发布的新版本,创始人陈航(花名“无招”)称它为“红树林”。
而在此之前,每当面临重大升级,产品经理们都会取一个应景的代号,这一次,为什么是“红树林”?", 
        "title": "时代的火车向前开", 
        "picUrl": "", 
        "messageUrl": "https://www.dingtalk.com/s?__biz=MzA4NjMwMTA2Ng==&mid=2650316842&idx=1&sn=60da3ea2b29f1dcc43a7c8e4a7c97a16&scene=2&srcid=09189AnRJEdIiWVaKltFzNTw&from=timeline&isappinstalled=0&key=&ascene=2&uin=&devicetype=android-23&version=26031933&nettype=WIFI"
    }
}

参数

参数类型

必须

说明

msgtype

String

消息类型,此时固定为:link

title

String

消息标题

text

String

消息内容。如果太长只会部分展示

messageUrl

String

点击消息跳转的URL

picUrl

String

图片URL

markdown类型

{
     "msgtype": "markdown",
     "markdown": {
         "title":"杭州天气",
         "text": "#### 杭州天气 @156xxxx8827\n" +
                 "> 9度,西北风1级,空气良89,相对温度73%\n\n" +
                 "> ![screenshot](https://gw.alicdn.com/tfs/TB1ut3xxbsrBKNjSZFpXXcXhFXa-846-786.png)\n"  +
                 "> ###### 10点20分发布 [天气](http://www.thinkpage.cn/) \n"
     },
    "at": {
        "atMobiles": [
            "156xxxx8827", 
            "189xxxx8325"
        ], 
        "isAtAll": false
    }
 }

参数

类型

必选

说明

msgtype

String

此消息类型为固定markdown

title

String

首屏会话透出的展示内容

text

String

markdown格式的消息

atMobiles

Array

被@人的手机号(在text内容里要有@手机号)

isAtAll

bool

@所有人时:true,否则为:false

说明:目前只支持md语法的子集,具体支持的元素如下:

标题
# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题

引用
> A man who stands for nothing will fall for anything.

文字加粗、斜体
**bold**
*italic*

链接
[this is a link](http://name.com)

图片
![](http://name.com/pic.jpg)

无序列表
- item1
- item2

有序列表
1. item1
2. item2

整体跳转ActionCard类型

{
    "actionCard": {
        "title": "乔布斯 20 年前想打造一间苹果咖啡厅,而它正是 Apple Store 的前身", 
        "text": "![screenshot](@lADOpwk3K80C0M0FoA) 
 ### 乔布斯 20 年前想打造的苹果咖啡厅 
 Apple Store 的设计正从原来满满的科技感走向生活化,而其生活化的走向其实可以追溯到 20 年前苹果一个建立咖啡馆的计划", 
        "hideAvatar": "0", 
        "btnOrientation": "0", 
        "singleTitle" : "阅读全文",
        "singleURL" : "https://www.dingtalk.com/"
    }, 
    "msgtype": "actionCard"
}

参数

类型

必选

说明

msgtype

string

true

此消息类型为固定actionCard

title

string

true

首屏会话透出的展示内容

text

string

true

markdown格式的消息

singleTitle

string

true

单个按钮的方案。(设置此项和singleURL后btns无效)

singleURL

string

true

点击singleTitle按钮触发的URL

btnOrientation

string

false

0-按钮竖直排列,1-按钮横向排列

hideAvatar

string

false

0-正常发消息者头像,1-隐藏发消息者头像

通过整体跳转ActionCard类型消息发出的消息样式如下:

独立跳转ActionCard类型

{
    "actionCard": {
        "title": "乔布斯 20 年前想打造一间苹果咖啡厅,而它正是 Apple Store 的前身", 
        "text": "![screenshot](@lADOpwk3K80C0M0FoA) 
 ### 乔布斯 20 年前想打造的苹果咖啡厅 
 Apple Store 的设计正从原来满满的科技感走向生活化,而其生活化的走向其实可以追溯到 20 年前苹果一个建立咖啡馆的计划", 
        "hideAvatar": "0", 
        "btnOrientation": "0", 
        "btns": [
            {
                "title": "内容不错", 
                "actionURL": "https://www.dingtalk.com/"
            }, 
            {
                "title": "不感兴趣", 
                "actionURL": "https://www.dingtalk.com/"
            }
        ]
    }, 
    "msgtype": "actionCard"
}

参数

类型

必选

说明

msgtype

string

true

此消息类型为固定actionCard

title

string

true

首屏会话透出的展示内容

text

string

true

markdown格式的消息

btns

array

true

按钮的信息:title-按钮方案,actionURL-点击按钮触发的URL

btnOrientation

string

false

0-按钮竖直排列,1-按钮横向排列

hideAvatar

string

false

0-正常发消息者头像,1-隐藏发消息者头像

通过独立跳转ActionCard类型消息发出的消息样式如下:

FeedCard类型

{
    "feedCard": {
        "links": [
            {
                "title": "时代的火车向前开", 
                "messageURL": "https://www.dingtalk.com/s?__biz=MzA4NjMwMTA2Ng==&mid=2650316842&idx=1&sn=60da3ea2b29f1dcc43a7c8e4a7c97a16&scene=2&srcid=09189AnRJEdIiWVaKltFzNTw&from=timeline&isappinstalled=0&key=&ascene=2&uin=&devicetype=android-23&version=26031933&nettype=WIFI", 
                "picURL": "https://www.dingtalk.com/"
            },
            {
                "title": "时代的火车向前开2", 
                "messageURL": "https://www.dingtalk.com/s?__biz=MzA4NjMwMTA2Ng==&mid=2650316842&idx=1&sn=60da3ea2b29f1dcc43a7c8e4a7c97a16&scene=2&srcid=09189AnRJEdIiWVaKltFzNTw&from=timeline&isappinstalled=0&key=&ascene=2&uin=&devicetype=android-23&version=26031933&nettype=WIFI", 
                "picURL": "https://www.dingtalk.com/"
            }
        ]
    }, 
    "msgtype": "feedCard"
}

参数

类型

必选

说明

msgtype

string

true

此消息类型为固定feedCard

title

string

true

单条信息文本

messageURL

string

true

点击单条信息到跳转链接

picURL

string

true

单条信息后面图片的URL

通过FeedCard类型消息发出的消息样式如下:

  分类: 爬虫 好文要顶 关注我 收藏该文 微信分享 阿布_alone
粉丝 - 62 关注 - 48
    +加关注 5 0     升级成为会员   « 上一篇: inspect的使用安卓动态分析工具
» 下一篇: git重新学习 posted @ 2019-08-04 17:55  阿布_alone  阅读(50523)  评论(1)  编辑  收藏  举报

标签:string,title,text,机器人,接口,开发,msgtype,com,true
From: https://www.cnblogs.com/shclbear/p/18353462

相关文章

  • AI大模型开发——3.深度学习基础(2)
    8.损失函数        损失函数( Loss Functions), 也称为代价函数, 是用于评估模型预测值与真实值之间差异的函数。在神经网络训练过程中,损失函数用于指导模型参数的更新方向和幅度, 以使模型预测的结果尽可能接近真实值。        常见的损失函数有以下两个......
  • AI大模型开发——2.深度学习基础(1)
        学习大模型开发之前,我们需要有足够的储备知识,类似于基础的python语法相信大家也都是十分熟悉了。所以笔者也是考虑了几天决定先给大家补充一些深度学习知识。    首先问大家一个问题,学习大模型之前为什么要先学习深度学习知识呢?    首先,深度学习......
  • 开发者工具Postman接口测试工具使用介绍
    Postman接口测试工具详解Postman是一个功能强大的API测试工具,广泛应用于接口开发和测试过程中。它提供了一个直观的界面来创建、发送和管理API请求,并可以轻松地检查响应。以下是Postman的详细使用指南,包括基本概念、功能和操作步骤。安装和设置安装Postman下载:......
  • “低代码”开发平台的兴起
    “低代码”开发平台的兴起是近年来技术领域的一个重要趋势,它标志着软件开发方式的重大变革,对于促进技术创新、加速应用开发周期、降低开发门槛以及推动数字化转型等方面都具有深远影响。以下是对“低代码”开发平台兴起的一些看法:加速应用开发周期:低代码平台通过提供可视化设......
  • FFmpeg开发笔记(四十六)利用SRT协议构建手机APP的直播Demo
    ​不管是传统互联网还是移动互联网,实时数据传输都是刚需,比如以QQ、微信为代表的即时通信工具,能够实时传输文本和图片。其中一对一的图文通信叫做私聊,多对多的图文通信叫做群聊。除了常见的图文即时通信,还有实时音视频通信,比如一对一的音频通话、一对一的视频通话等等,此时可采用W......
  • api接口数据安全格式转换-DES,AES,SM2
    api接口数据安全格式转换-DES,AES,SM21.数据格式{"orderNo":"",//其他的业务数据}返回{"sign":"","params":"","timestamp":""}实现接口的加密传输,数据安全规范。返回DEMOsign=8E4D93D831652C94473994DBB0846F11,params=043be41......
  • 深入了解HTML链接:从基础到进阶——WEB开发系列06
    超链接是互联网中最有趣的创新之一,自互联网诞生起,它们就一直是互联网的一个核心特性,使网络成为一个互联的系统。超链接允许我们将文档连接到其他文档或资源,甚至是文档中的特定部分。通过一个简单的网址,可以提供应用程序。几乎所有网络内容都可以被转换为链接,点击或激活这些超链......
  • Java开发环境安装笔记
    目录JDK的版本Java8Java9Java11(LTS)Java17(LTS)Java21JDK的环境变量设置JAVAHOME和PATH环境变量CLASSPATH环境变量多个SDK版本切换又双叒叕换了一个电脑,又双叒叕得重新折腾各种软件的安装,记录一下吧...软件安装中,最麻烦的莫过于JAVA的编程环境安装了,Java运行环境区......
  • 取药机器人的机械结构设计(开题报告)
    开题报告题目:取药机器人的机械结构设计一、选题背景与意义随着中国社会老龄化趋势的加剧,医疗需求特别是慢性病管理需求显著增加,医院药房面临巨大的工作压力。传统的人工取药方式不仅效率低下,还易因疲劳导致错误,影响患者用药安全。因此,开发自动化取药机器人成为提升医疗服......
  • MSC Nastran软件二次开发:热分析与二次开发
    MSCNastran软件二次开发:热分析与二次开发热分析基础热传导理论热传导是热能通过物质从高温区域向低温区域传递的过程。在固体中,热传导主要通过原子或分子的振动来实现。热传导速率可以用傅里叶定律来描述:[q=-k\cdotA\cdot\frac{\DeltaT}{\Deltax}]其中,(q......