发送工作通知的文档:https://developers.dingtalk.com/document/app/asynchronous-sending-of-enterprise-session-messages

Java钉钉服务窗消息推送 钉钉消息通知接口_2d

备注:开发者未认证也可以用

酱醋茶注:接下来这三个id,key,secret需要拥有开发者权限,或者让钉钉管理员帮忙查看才能看见。这三个选项是每个应用对应唯一的,不是每个公司只有一个。这个需要注意,如果你开发两个应用,那你token应该是根据应用不同的两个token。

一、创建应用

1.1 打开 https://open-dev.dingtalk.com/#/corpeapp ,创建一个H5微应用 ,填写基本信息即可

Java钉钉服务窗消息推送 钉钉消息通知接口_Java钉钉服务窗消息推送_02


1.2 保存好应用凭证里核心的3个东西(AgentId、AppKey、AppSecret)

Java钉钉服务窗消息推送 钉钉消息通知接口_服务器_03


1.3 开发管理里必须要填服务器出口IP,否则消息发布出去,可以带一个*

Java钉钉服务窗消息推送 钉钉消息通知接口_服务器_04


1.4 权限管理里可以添加的权限,手机号获取userid用去方便查userid

Java钉钉服务窗消息推送 钉钉消息通知接口_Java钉钉服务窗消息推送_05


1.5 版本管理与发布,可以发布一下

二、获取企业凭证

2.1 接口地址(GET),替换appkey/appsecret参数即可:https://oapi.dingtalk.com/gettoken?appkey={appkey}&appsecret={appsecret}2.1 打开在线调试页面,https://open-dev.dingtalk.com/apiExplorer?spm=ding_open_doc.document.0.0.2b7540e9Vx1eix#/?devType=org&api=dingtalk.oapi.gettoken

Java钉钉服务窗消息推送 钉钉消息通知接口_服务器_06


Java钉钉服务窗消息推送 钉钉消息通知接口_开发者_07

三、发送消息

3.1 接口地址(POST),替换步骤2获取的access_token:https://oapi.dingtalk.com/topapi/message/corpconversation/asyncsend_v2?access_token={access_token}

{
	"agent_id":1131663010,
	"msg":{
		"msgtype":"text",
		"text":{
			"content":"你好啊"
		}
	},
	"userid_list":"1508494405710502"
}

4.1 打开在线调试页面,https://open-dev.dingtalk.com/apiExplorer?spm=ding_open_doc.document.0.0.2b7540e9Vx1eix#/?devType=org&api=dingtalk.oapi.message.corpconversation.asyncsend_v2

Java钉钉服务窗消息推送 钉钉消息通知接口_开发者_08


3.2 发送成功的截图

Java钉钉服务窗消息推送 钉钉消息通知接口_2d_09

 

酱醋茶补充:有人可能好奇这个usrid是哪来的,这个userid目前较为方便的三种获取方式:

首推方式就是第一种:

1.根据手机号获取员工的userid

Java钉钉服务窗消息推送 钉钉消息通知接口_2d_10

 

 

 但是这个接口是有权限的,首次调用可能会报无接口调用权限,我们需要在开发者后台打开这个接口的权限,该接口对应的权限如下(这个通讯录管理的权限是需要该公司的管理员去授权的,我们公司管理员给了我子管理员权限和开发者权限,所以这三种方法我才都可以使用):

Java钉钉服务窗消息推送 钉钉消息通知接口_服务器_11

 

 

 

 

 2.通过通讯录权限查询

Java钉钉服务窗消息推送 钉钉消息通知接口_服务器_12

 3.通过部门接口调出该部门所有员工的userid

 其中使用接口获取方法如下(目前2022年05月24日官方只提供了这种查询方法):

 (1)首先获取部门id

https://open-dev.dingtalk.com/apiExplorer?spm=ding_open_doc.document.0.0.2b7540e9Vx1eix#/?devType=org&api=dingtalk.oapi.v2.department.listsub

Java钉钉服务窗消息推送 钉钉消息通知接口_2d_13

 

(2)根据部门id查出部门员工的userid

https://open-dev.dingtalk.com/apiExplorer?spm=ding_open_doc.document.0.0.7c049b2djYQhx2#/?devType=org&api=dingtalk.oapi.user.listid

Java钉钉服务窗消息推送 钉钉消息通知接口_Java钉钉服务窗消息推送_14