Micro-canales plataforma pública de enlace de la API:
https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1433751277
1, el número de servicio de autenticación, obtener la plantilla de mensaje ( para aceptar el usuario plantilla de mensaje debe ser un número de usuario de preocupación pública )
Detalles de la plantilla
2, las definiciones de objetos entidad transmiten
public class WxTemplateContent {
public String touser; //用户OpenID
public String template_id; //模板消息ID
public String url; //URL置空,则在发送后,点击模板消息会进入一个空白页面(ios),或无法点击(android)。
public String topcolor; //标题颜色
public HashMap<String,WxTemplateData> data;
}
public class WxTemplateData {
public WxTemplateData(String value, String color){
this.value = value;
this.color = color;
}
public String value;
public String color;
}
3, se define el método de transmisión
public static void sendMessage(WxTemplateContent temp){
String jsonString = JSONObject.fromObject(temp).toString();
String token = WeChatGongZhongService.getAccessToken();
String url = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token="+token;
WeChatUtil.httpRequest(url, "POST", jsonString);
}
public static String getAccessToken() {
JSONObject jsonObject = null;
String result = (String) Cache.get("WeiXinUtils.getAccessToken",
String.class);
if (result == null) {
String parameter = "grant_type=client_credential&appid=" + appId
+ "&secret=" + appSecret;
System.out.println(parameter);
jsonObject = WeChatUtil.httpRequest(
"https://api.weixin.qq.com/cgi-bin/token?" + parameter,
"GET", null);
System.out.println(jsonObject);
result = jsonObject.getString("access_token");
}
return result;
}
4. Casos de uso
/**
* 交易提醒
* @param user
* @param order
*/
public static void sendTradeNotify(t_users user){
WxTemplateContent temp = new WxTemplateContent();
temp.touser=user.open_id;
temp.template_id = TP_TRADE_NOTIFY;
temp.topcolor="#173177";
HashMap<String,WxTemplateData> data = new HashMap<String,WxTemplateData>();
temp.data= data;
data.put("first",new WxTemplateData("您的风控服务订单已经交易成功。","#000000"));
data.put("keyword1",new WxTemplateData(“2018031421020434”,"#173177"));
data.put("keyword2",new
WxTemplateData(DateUtil.dateToString1(2018-03-14),"#173177"));
data.put("keyword3",new WxTemplateData(183****5247,"#173177"));
data.put("keyword4",new WxTemplateData("会员费","#173177"));
data.put("keyword5",new WxTemplateData(99+"元","#173177"));
data.put("remark",new WxTemplateData("如有问题请联系客服"+1010+"。","#000000"));
sendMessage(temp);
}
Si usted acaba de obtener openid del usuario, pero el usuario no afecta a la número público, arrojará el siguiente error al enviar:
Otra información: micro-canales se producen solicitud POST errores! Código de error: 43004 Descripción: requiere suscribirse pista: [Q2OfvA0092ge21]