.Net 平台应用与技巧
MRZ图表分组数据源过滤设计示例
平台应用类
OrBit平台Job配置
【序列号规则】插件使用说明
工单自定义流程节点应用说明
平台 【SVN 版本管理】工具使用说明
平台SPC应用介绍
平台WebAPI文件上传、下载(OrBitWebAPI2)
平台【元对象授权】功能使用说明
平台【分级授权】功能使用说明
平台【消息对象】使用说明
平台【表单消息升级】应用说明
平台可配置【 Excel 文件导出】功能使用说明
按产品定义采集功能使用说明
用户自定义编码及系统单据状态、单据类型的颜色配置
系统中如何增加用户密码过期更换提醒
通用在线打印功能使用说明
平台技巧类
MS-SQL 添加并引用 DLL 程序集
OrBit “自定义对话框”使用说明
Matrix标签打印(OrBitMESHelp/OrBitMetaHelp)
MES事务对象Scripter--扩展方法
MES事务帮助类OrBitMESHelp
WebView2管理类--用于展示看板
元对象Scripter--扩展方法
元对象帮助类OrBitMetaHelp
外挂Exc程序(发布为平台插件)---调用自定义对话框
自定义对话框--Xml/Json数据解析神器
OrBit-KanBan File 类型应用说明
OrBit-X 如何支持 Https 协议
OrBit-X 平台 Bartender 标签模板制作说明
OrBit-X 平台元对象多文件上传、预览
OrBit-X 平台内置 WebAPI 使用说明
OrBit-X 应用打包-扩展工具-快捷迁移
OrBit平台“调用摄像头拍照、录制视频,并上传FTP”窗体控件的应用
元对象可配置Excel导入功能应用说明
元对象嵌入看板
基于 Json 数据格式的 Mrt 模板设计说明
如何利用 Bartender 标签模板实现一拖几打印
平台 Excel 对象导入功能应用说明
平台 MES 事务对象实现网格多选效果
平台 WebAPI 应用说明
平台中 Mrz 模板实现钻取功能
平台发布接口(OrBitWebAPI&OrBitWebAPI2)
平台通过 CLR 实现企业微信消息及文件自动推送
标签/报表实现只预览不打印
通过平台 Web 服务实现远端 Wifi 打印说明
静态事务“平铺按钮”控件的应用
静态事务”调用摄像头扫码识别条码(条形码/二维码)“功能的应用与实现
钉钉机器人接口实现及其他API扩展
-
+
首页
钉钉机器人接口实现及其他API扩展
# 一、概述 钉钉作为一种高效的协同办公软件,已经被广泛集成到各类工业软件中,官方也提供了丰富的API开发文档及调试工具,很容易实现集成。OrBit平台也无例外的集成了钉钉的部分应用,如消息对象中的发送钉钉消息,应用了钉钉的“发送工作通知”接口。其实,钉钉API的集成,都是分2个步骤,首先需要获取Tocken,最后是调用相应的API,无非是不同的API,需要提供不同的Url和Body(即Json数据包)。当然,最大的前提是需要在钉钉管理者后台、钉钉开发者后台做好必要的配置,如微应用、机器人、API权限等。以下,将具体阐述“钉钉机器人API”在OrBit平台的集成方法。 PS:需先创建应用、机器人和必要的权限配置。 ![](/media//202306/2023-06-09_140620.png) [机器人消息API](https://open-dev.dingtalk.com/apiExplorer#/?devType=org&api=robot_1.0%23BatchSendOTO "机器人消息API") [【附件】sql procedures.rar](/media/attachment/2024/01/sql_procedures.rar) # 二、实现步骤 # # 2.1 创建应用 在钉钉开发者后台的【应用开发】页面创建应用,如下: ![](/media//202312/2023-12-02_155143.png) # # 2.2 创建机器人 在钉钉开发者后台的【应用开发】页面,选择应用进入详情页面,在应用功能-机器人与消息推送栏,创建机器人,如下: ![](/media//202312/2023-12-02_155503.png) # # 2.3 钉钉群组添加机器人,并获取webhook 在钉钉群的设置里面,为群组添加机器人,并获取webhook的tocken,如下: ![](/media//202312/2023-12-02_155959.png) #三、系统配置 # # 3.1 通讯组配置 与基础数据菜单组的通讯组配置相同([3.3.11.通讯组](http://121.37.203.18:8006/project-34/doc-491/)),增加了机器人字段,用来存储webhook的tocken,如下: ![](/media//202312/2023-12-02_160257.png) # # 3.2 消息对象配置 在消息对象中新增群发的消息对象,并在【通讯应用】页签下配置群发应用,如下: ![](/media//202312/2023-12-02_165453.png) # 四、代码示例 【调用代码】 ```sql DECLARE @ReceiveData NVARCHAR(MAX); DECLARE @appkey NVARCHAR(200) = N'应用的appkey'; DECLARE @appsecret NVARCHAR(200) = N'应用的appsecret'; DECLARE @LocalWCFUrl NVARCHAR(200) = N''; DECLARE @WebAPIUrl NVARCHAR(MAX) = N'https://oapi.dingtalk.com/gettoken?appkey=' + @appkey + N'&appsecret=' + @appsecret; -- 1、获取tocken EXEC dbo.CLR_CallWebAPIEx @ReceiveData = @ReceiveData OUTPUT, -- nvarchar(max) @LocalWCFUrl = @LocalWCFUrl, @IsPost = 0, @WebAPIUrl = @WebAPIUrl, @UserName = N'', -- nvarchar(100) @UserPassword = N'', -- nvarchar(100) @TimeOutS = 0, -- int @ContentType = N'', -- nvarchar(1000) @Headers = N'', -- nvarchar(max) @PostFormParams = N'', -- nvarchar(max) @PostRawParams = N'', -- nvarchar(max) @GetParams = N''; -- nvarchar(max) --SELECT @ReceiveData; -- 解析tocken DECLARE @tocken NVARCHAR(200) = N''; SELECT @tocken = [Value] FROM OPENJSON(@ReceiveData) WHERE [Key] = 'access_token'; ------------------------------------------------------------------------------------------------------------- -- 钉钉机器人 ------------------------------------------------------------------------------------------------------------- SET @WebAPIUrl = N'https://api.dingtalk.com/v1.0/robot/oToMessages/batchSend'; DECLARE @Headers NVARCHAR(200) = N'x-acs-dingtalk-access-token<|=|>' + @tocken; DECLARE @JsonStr NVARCHAR(MAX) = N''; -- 机器人robotCode dinghgxdjrt0qs3uvmno ----2.1、发送机器人消息 --SET @JsonStr = N'{ -- "msgParam":"{ \"content\": \"机器人测试消息1... '+CONVERT(NVARCHAR(50),GETDATE(),121)+'\" }", -- "msgKey":"sampleText", -- "robotCode":"dingb3tamaqdi3v4jefo", -- "userIds":[ -- "manager7362" -- ] --}'; --EXEC dbo.CLR_CallWebAPIEx @ReceiveData = @ReceiveData OUTPUT, -- nvarchar(max) -- @LocalWCFUrl = @LocalWCFUrl, -- @IsPost = 1, -- @WebAPIUrl = @WebAPIUrl, -- @UserName = N'', -- @UserPassword = N'', -- @TimeOutS = 0, -- @ContentType = N'application/json;charset=utf-8', -- @Headers = @Headers, -- @PostFormParams = N'', -- @PostRawParams = @JsonStr, -- @GetParams = N''; --SELECT @ReceiveData; ----2.2、发送机器人群聊消息 --SET @JsonStr -- = N'{ -- "msgParam":"{ \"content\": \"机器人测试消息2... '+CONVERT(NVARCHAR(50),GETDATE(),121)+'\" }", -- "msgKey":"sampleText", -- "robotCode":"dinghgxdjrt0qs3uvmno", -- "userIds":[ -- "manager7362" -- ] --}'; --EXEC dbo.CLR_CallWebAPIEx @ReceiveData = @ReceiveData OUTPUT, -- nvarchar(max) -- @LocalWCFUrl = @LocalWCFUrl, -- @IsPost = 1, -- @WebAPIUrl = @WebAPIUrl, -- @UserName = N'', -- @UserPassword = N'', -- @TimeOutS = 0, -- @ContentType = N'application/json;charset=utf-8', -- @Headers = @Headers, -- @PostFormParams = N'', -- @PostRawParams = @JsonStr, -- @GetParams = N''; --SELECT @ReceiveData; --3、发送机器人群聊消息 --3.1创建群,获取chartId/openConversationId DECLARE @webhook_tocken VARCHAR(MAX) = '机器人webhook的tocken' -- 3.2 发送群消息 SET @WebAPIUrl = N'https://api.dingtalk.com/v1.0/robot/groupMessages/send'; SET @JsonStr = N'{ "msgParam":"{ \"content\": \"机器人测试消息 webhook方式 ... ' + CONVERT(NVARCHAR(50), GETDATE(), 121) + N'\" }", "msgKey":"sampleText", "token":"'+@webhook_tocken+'" }'; EXEC dbo.CLR_CallWebAPIEx @ReceiveData = @ReceiveData OUTPUT, -- nvarchar(max) @LocalWCFUrl = @LocalWCFUrl, @IsPost = 1, @WebAPIUrl = @WebAPIUrl, @UserName = N'', @UserPassword = N'', @TimeOutS = 0, @ContentType = N'application/json;charset=utf-8', @Headers = @Headers, @PostFormParams = N'', @PostRawParams = @JsonStr, @GetParams = N''; SELECT @ReceiveData; ``` [11]: http://121.37.203.18:8006/project-34/doc-491/ "通讯组"
钉钉机器人
群发消息
HG0064
2024年1月10日 09:06
分享
上一篇
下一篇
目录
微信扫一扫
复制链接
手机扫一扫进行分享
复制链接
下载Markdown文件