捷易快信- 通過java程式,給微信傳送訊息
阿新 • • 發佈:2020-11-24
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