All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.sf.weixinmp.saas.dialog.send.SendCustomMessageRequest Maven / Gradle / Ivy

package net.sf.weixinmp.saas.dialog.send;


import net.sf.weixinmp.saas.WeixinmpRequest;

import org.apache.http.HttpEntity;
import org.apache.http.entity.StringEntity;
/**
 * 发送客服消息
当用户主动发消息给公众号的时候(包括发送信息、点击自定义菜单、订阅事件、扫描二维码事件、支付成功事件、用户维权),微信将会把消息数据推送给开发者,开发者在一段时间内(目前修改为48小时)可以调用客服消息接口,通过POST一个JSON数据包来发送消息给普通用户,在48小时内不限制发送次数。此接口主要用于客服等有人工消息处理环节的功能,方便开发者为用户提供更加优质的服务。

接口调用请求说明

http请求方式: POST
https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=ACCESS_TOKEN
各消息类型所需的JSON数据包如下。

目录
1 发送文本消息
2 发送图片消息
3 发送语音消息
4 发送视频消息
5 发送音乐消息
6 发送图文消息

 * @author Alex
 *
 */
public class SendCustomMessageRequest extends WeixinmpRequest{
	private String sendJsonMessage(String accessToken, String json){
		HttpEntity entity;
		try {
			entity = new StringEntity(json, "utf-8");
			return this.requestContentString("/message/custom/send?access_token="+accessToken, entity);
		} catch (Exception e) {
			e.printStackTrace();
			return e.getLocalizedMessage();
		}
		
	}
	/**
	 * 发送文本消息

{
    "touser":"OPENID",
    "msgtype":"text",
    "text":
    {
         "content":"Hello World"
    }
}
	 */
	public String sendTextMessage(String accessToken, String toOpenId, String msg){
		String json="{\"touser\":\""+toOpenId+"\",\"msgtype\":\"text\",\"text\":{\""+msg+"\":\"{1}\"}}";
		return sendJsonMessage(accessToken, json);
	}
	/*
	 * 发送图片消息
	{
	    "touser":"OPENID",
	    "msgtype":"image",
	    "image":
	    {
	      "media_id":"MEDIA_ID"
	    }
	}
	参数	是否必须	说明
	access_token	是	调用接口凭证
	touser	是	普通用户openid
	msgtype	是	消息类型,image
	media_id	是	发送的图片的媒体ID
	 */
	public String sendImageMessage(String accessToken, String toOpenId, String mediaId){
		return null;//TODO
	}
	
	/**
	 * 发送语音消息

	{
	    "touser":"OPENID",
	    "msgtype":"voice",
	    "voice":
	    {
	      "media_id":"MEDIA_ID"
	    }
	}
	参数	是否必须	说明
	access_token	是	调用接口凭证
	touser	是	普通用户openid
	msgtype	是	消息类型,voice
	media_id	是	发送的语音的媒体ID
	 */
	public String sendVoiceMessage(String accessToken, String toOpenId, String mediaId){
		return null;//TODO
	}
	/**
	 * 发送视频消息

	{
	    "touser":"OPENID",
	    "msgtype":"video",
	    "video":
	    {
	      "media_id":"MEDIA_ID",
	      "thumb_media_id":"MEDIA_ID",
	      "title":"TITLE",
	      "description":"DESCRIPTION"
	    }
	}
	参数	是否必须	说明
	access_token	是	调用接口凭证
	touser	是	普通用户openid
	msgtype	是	消息类型,video
	media_id	是	发送的视频的媒体ID
	thumb_media_id	是	缩略图的媒体ID
	title	否	视频消息的标题
	description	否	视频消息的描述

	 * @param accessToken
	 * @param toOpenId
	 * @param mediaId
	 * @return
	 */
	public String sendVideoMessage(String accessToken, String toOpenId, String mediaId){
		return null;//TODO
	}
	
	/**
	 * 发送音乐消息

	{
	    "touser":"OPENID",
	    "msgtype":"music",
	    "music":
	    {
	      "title":"MUSIC_TITLE",
	      "description":"MUSIC_DESCRIPTION",
	      "musicurl":"MUSIC_URL",
	      "hqmusicurl":"HQ_MUSIC_URL",
	      "thumb_media_id":"THUMB_MEDIA_ID" 
	    }
	}
	参数	是否必须	说明
	access_token	是	调用接口凭证
	touser	是	普通用户openid
	msgtype	是	消息类型,music
	title	否	音乐标题
	description	否	音乐描述
	musicurl	是	音乐链接
	hqmusicurl	是	高品质音乐链接,wifi环境优先使用该链接播放音乐
	thumb_media_id	是	缩略图的媒体ID
	 */
	
	public String sendMusicMessage(String accessToken, String toOpenId, String mediaId){
		return null;//TODO
	}
	
	/**
	 * 发送图文消息

	图文消息条数限制在10条以内,注意,如果图文数超过10,则将会无响应。
	
	{
	    "touser":"OPENID",
	    "msgtype":"news",
	    "news":{
	        "articles": [
	         {
	             "title":"Happy Day",
	             "description":"Is Really A Happy Day",
	             "url":"URL",
	             "picurl":"PIC_URL"
	         },
	         {
	             "title":"Happy Day",
	             "description":"Is Really A Happy Day",
	             "url":"URL",
	             "picurl":"PIC_URL"
	         }
	         ]
	    }
	}
	参数	是否必须	说明
	access_token	是	调用接口凭证
	touser	是	普通用户openid
	msgtype	是	消息类型,news
	title	否	标题
	description	否	描述
	url	否	点击后跳转的链接
	picurl	否	图文消息的图片链接,支持JPG、PNG格式,较好的效果为大图640*320,小图80*80
	 */
	
	public String sendArticlesMessage(String accessToken, String toOpenId, String mediaId){
		return null;//TODO
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy