java mensaje push plantilla WeChat

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]

Publicado 15 artículos originales · ganado elogios 7 · Vistas a 10000 +

Supongo que te gusta

Origin blog.csdn.net/J_M_S_H_T/article/details/88865286
Recomendado
Clasificación