捷易快信- 通过java程序,给微信发送消息
时间:2020-11-27 11:29:17
收藏:0
阅读:34
1. 捷易快信网站地址 http://jy.erpit.cn/
代码如下:
package com.xxx.xxx; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.List; import com.alibaba.fastjson.JSONObject; import org.apache.http.NameValuePair; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpPost; import org.apache.http.entity.StringEntity; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.apache.http.message.BasicNameValuePair; import org.apache.http.util.EntityUtils; public class SendWechat { public static final String DATETIME_PATTERN = "yyyy-MM-dd HH:mm:ss"; /** * 单独给用户发消息(新版)- 推荐 * @param title * @param content * @param remark * @throws Exception */ public static void sendMsg(String title, String content, String remark) { // 创建一个httpclient对象 CloseableHttpClient client = HttpClients.createDefault(); // 创建一个post对象 HttpPost post = new HttpPost("http://jy.erpit.cn/api/message/send-user"); // 创建一个Entity,模拟表单数据 List<NameValuePair> formList = new ArrayList<NameValuePair>(); // 添加表单数据 formList.add(new BasicNameValuePair("secret", "此处是系统分配给您的密钥,在用户中心查看")); formList.add(new BasicNameValuePair("uid", "此处是接收消息人员的ID,通过用户列表获得")); formList.add(new BasicNameValuePair("template_id", "RV-jBDQSNen0J92hKn5GGE4id6We5Xu2vDgpbXbWe2I")); JSONObject obj = new JSONObject(); JSONObject firstObj = new JSONObject(); firstObj.put("value", title); obj.put("first", firstObj); JSONObject remarkObj = new JSONObject(); remarkObj.put("value", ""); obj.put("remark", remarkObj); JSONObject keyword1Obj = new JSONObject(); keyword1Obj.put("value", title); obj.put("keyword1", keyword1Obj); JSONObject keyword2Obj = new JSONObject(); keyword2Obj.put("value", "QQ空间黄钻"); obj.put("keyword2", keyword2Obj); JSONObject keyword3Obj = new JSONObject(); keyword3Obj.put("value", "腾讯QQ空间客服人员"); obj.put("keyword3", keyword3Obj); JSONObject keyword4Obj = new JSONObject(); keyword4Obj.put("value", content); obj.put("keyword4", keyword4Obj); JSONObject keyword5Obj = new JSONObject(); keyword5Obj.put("value", LocalDateTime.now().format(DateTimeFormatter.ofPattern(DATETIME_PATTERN))); obj.put("keyword5", keyword5Obj); formList.add(new BasicNameValuePair("data", obj.toString())); try { // 包装成一个Entity对象 StringEntity entity = new UrlEncodedFormEntity(formList, "utf-8"); // 设置请求的内容 post.setEntity(entity); // 设置请求的报文头部的编码 // post.setHeader(new BasicHeader("Content-Type", // "application/x-www-form-urlencoded; charset=utf-8")); // 设置期望服务端返回的编码 // post.setHeader(new BasicHeader("Accept", // "text/plain;charset=utf-8")); // 执行post请求 CloseableHttpResponse response = client.execute(post); // 获取响应码 int statusCode = response.getStatusLine().getStatusCode(); if (statusCode == 200) { // 获取数据 String resStr = EntityUtils.toString(response.getEntity()); // 输出 System.out.println(resStr); } else { // 输出 System.out.println(statusCode); } } catch (Exception e) { e.printStackTrace(); } } public static void main(String[] args) throws Exception { // sendMsg("消息标题", "消息内容", "消息详情"); sendMsg("黄钻待支付订单提醒", "此接口用于新升级版本的群发消息,新版本中支持更多消息模板,更适合具体的业务场景,推荐使用", "备注"); } }
参数说明:
参数名称 | 参数类型 | 描述 |
---|---|---|
secret | String(必选) | 系统分配给您的密钥,在用户中心查看 |
uid | Int(必选) | 接收消息人员的ID,通过用户列表获得 |
template_id | String(必选) | 消息模板ID |
url | String(可选) | 消息点击跳转链接,用于消息查看详情,可不填 |
data | Json(必选) | 这是您的消息内容, 参照消息模板列表中的使用说明中的具体参数 |
返回说明(返回数据一律为JSON字符串):
返回示例:
{ "code":200, "msg":"Ok", "data":[ ] }
返回数据说明:
参数 | 说明 |
---|---|
code | 请求状态码,200为成功,其他为错误 |
msg | 状态码对应提示,Ok为成功,其他提示错误消息 |
返回状态码说明:
200 成功 10001 缺少secret 或 appkey 10002 缺少消息标题或内容 10003 消息模板ID错误 10004 secret 或 app_key 错误 10005 余额不足
群发消息及其他接口请查看官方文档 http://jy.erpit.cn/wiki#user-sendmsg
文章来源:https://blog.csdn.net/xcxzzx01/article/details/108299813
评论(0)