钉钉消息推送服务(钉钉群机器人推送)
入参和返回值
{
"UNI_BSS_BODY": {
"PUSH_MESSAGE_REQ": {
"MSG_TYPE": "text",
"DATA": {
"AT_ALL": false,
"TEXT": {
"CONTENT": "河北联通:18631137650"
}
},
"ACCESS_TOKEN": "16e4778576ec99fbb2ce7083812d043aa4f9630112000ae3b15d25aa6b3b0b06",
"BUSI_CODE": "30000111",
"MODULE_ID": "20000156",
"SYSTEM_ID": "10000078"
}
},
"UNI_BSS_HEAD": {
"APP_ID": "ENWaB7YdUD",
"TIMESTAMP": "2023-05-10 20:03:51 650",
"TRANS_ID": "20230510200351650393652",
"TOKEN": "382e04599bce159cfa372dd5d88f9927"
}
}
{
"UNI_BSS_BODY": {
"PUSH_MESSAGE_RSP": {
"STATUS": "0000",
"MSG": "服务调用成功!",
"TXID": "73b7ce8141ef^1681754343426^-157732",
"RSP": {
"RSP_CODE": "0000",
"RSP_DESC": "请求成功",
"SUB_CODE": "0000",
"SUB_DESC": "钉钉机器人推送成功",
"DATA": []
}
}
},
"UNI_BSS_HEAD": {
"RESP_DESC": "Success",
"APP_ID": "ENWaB7YdUD",
"RESP_CODE": "00000",
"TIMESTAMP": "2023-05-10 20:03:51 650",
"TRANS_ID": "20230510200351650393652"
}
}
{
"UNI_BSS_BODY": {
"PUSH_MESSAGE_RSP": {
"STATUS": "0000",
"MSG": "服务调用成功!",
"TXID": "73b7ce8141ef^1681754343426^-157802",
"RSP": {
"RSP_CODE": "8888",
"RSP_DESC": "请求失败310000",
"SUB_CODE": "8888",
"SUB_DESC": "钉钉机器人推送失败错误描述:关键词不匹配;解决方案:请联系群管理员查看此机器人的关键词,并在发送的信息中包含此关键词;",
"DATA": []
}
}
},
"UNI_BSS_HEAD": {
"RESP_DESC": "Success",
"APP_ID": "ENWaB7YdUD",
"RESP_CODE": "00000",
"TIMESTAMP": "2023-05-10 22:29:43 563",
"TRANS_ID": "20230510222943563183179"
}
}
调用代码
/*
* 钉钉消息推送服务(钉钉群机器人推送)
* json_chinaUnicom_microservice_notice_pushMessage
*/
public class PushMessage {
// 河北联通移网投诉管理系统
protected static final String APP_ID = "ENWaB7YdUD";
// 测试环境密钥
protected static final String APP_SECRET_TEST = "MUwA8ZVBprY83mAZrtOfrMfjdiJ9RFXr";
// 生产环境密钥
protected static final String APP_SECRET = "oz4OgKBaMNwi4LWfLPbhrPbbuCS8T0Rb";
private static final String URL = "http://10.244.18.105:8000/api/chinaUnicom/microservice/notice/pushMessage/v1";
private static final String URL_TEST = "http://10.124.150.230:8000/api/chinaUnicom/microservice/notice/pushMessage/v1";
// 系统编号
private static final String SYSTEM_ID = "10000078";
// 模块编号
private static final String MODULE_ID = "20000156";
// 业务编码
private static final String BUSI_CODE = "30000111";
public COMPConnectionContext query(Map<String, Object> parmeterMap, boolean test) {
String realAppSecret = test ? APP_SECRET_TEST : APP_SECRET;
String realUrl = test ? URL_TEST : URL;
COMPConnection compConnection = new COMPJsonConnection(APP_ID, realAppSecret);
// REQ
Map<String, Object> req = new HashMap<>();
Map<String, Object> pushMessageReq = new HashMap<>();
req.put("PUSH_MESSAGE_REQ", pushMessageReq);
// 公共参数
pushMessageReq.put("SYSTEM_ID", SYSTEM_ID);
pushMessageReq.put("MODULE_ID", MODULE_ID);
pushMessageReq.put("BUSI_CODE", BUSI_CODE);
// 输入的参数信息
pushMessageReq.put("ACCESS_TOKEN", parmeterMap.get("ACCESS_TOKEN"));
pushMessageReq.put("MSG_TYPE", parmeterMap.get("MSG_TYPE"));
pushMessageReq.put("DATA", parmeterMap.get("DATA"));
return compConnection.excute(Const.HttpMethodType.POST, realUrl, req, false);
}
}
// 测试代码
/* Text消息 测试环境 */
void testQuery() {
PushMessage pushMessage = new PushMessage();
// 构造请求
Map<String, Object> req = new HashMap<>();
// 钉钉群的token
req.put("ACCESS_TOKEN", "0c7bde53a655e2ca96cccc40bd24b0f33ef2af7898018f5c1e24e637cbb5ef59");
// 消息类型:text、link、markdown、actionCard、feedCard
req.put("MSG_TYPE", "text");
// 消息体
Map<String, Object> data = new HashMap<>();
Map<String, Object> text = new HashMap<>();
data.put("TEXT", text);
text.put("CONTENT", "\"河北联通:这是一条测试消息。\"");
data.put("AT_LIST", new ArrayList<Long>() {
{
add(15324104774L);
}
});
data.put("AT_ALL", false);
req.put("DATA", data);
pushMessage.query(req, true);
}
/* Text消息 正式环境 */
void testQuery2() {
PushMessage pushMessage = new PushMessage();
// 构造请求
Map<String, Object> req = new HashMap<>();
// 钉钉群的token
req.put("ACCESS_TOKEN", "0c7bde53a655e2ca96cccc40bd24b0f33ef2af7898018f5c1e24e637cbb5ef59");
// 消息类型:text、link、markdown、actionCard、feedCard
req.put("MSG_TYPE", "text");
// 消息体
Map<String, Object> data = new HashMap<>();
Map<String, Object> text = new HashMap<>();
data.put("TEXT", text);
text.put("CONTENT", "\"河北联通:这是一条测试消息。\"");
data.put("AT_LIST", new ArrayList<Long>() {
{
add(15324104774L);
}
});
data.put("AT_ALL", false);
req.put("DATA", data);
pushMessage.query(req, false);
}
/* Markdown消息 正式环境 */
@Test
void testQuery3() {
PushMessage pushMessage = new PushMessage();
// 构造请求
Map<String, Object> req = new HashMap<>();
// 钉钉群的token
req.put("ACCESS_TOKEN", "0c7bde53a655e2ca96cccc40bd24b0f33ef2af7898018f5c1e24e637cbb5ef59");
// 消息类型:text、link、markdown、actionCard、feedCard
req.put("MSG_TYPE", "markdown");
// 消息体
Map<String, Object> data = new HashMap<>();
Map<String, Object> markdown = new HashMap<>();
data.put("MARK_DOWN", markdown);
markdown.put("TITLE", "测试markdown消息");
markdown.put("TEXT",
"# 河北联通:这是一条测试消息。 \n<table><tr><td>col1</td><td>col2</td></tr><tr><td>aa</td><td>bb</td></tr></table>");
req.put("DATA", data);
pushMessage.query(req, false);
}