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