1. 程式人生 > 實用技巧 >捷易快信- 通過java程式,給微信傳送訊息

捷易快信- 通過java程式,給微信傳送訊息

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