天天看點

微信公衆平台開發(12)--主動發送消息(客服消息)

1. 前言

上一篇我們擷取到了使用者資訊,本篇我們實作下主動給客戶發送消息,也叫客服消息。

2. 代碼

代碼比較簡單,如下:

/**

* 客服消息

*/

@RestController

public class KefuMessageController {

@Autowired

private WxMpService wxMpService;

/**

 * 主動發送消息

 */

@RequestMapping("/sendMessage")

public boolean sendMessage(@RequestParam("openid") String openid, @RequestParam("content") String content) throws WxErrorException {

 WxMpKefuMessage message=WxMpKefuMessage.TEXT().toUser(openid).content(content).build();

 wxMpService.getKefuService().sendKefuMessage(message);

 return true;

}

}

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

通過sendMessage方法,即可給指定openid的用發送content文本消息。

3. 測試

通路

http://127.0.0.1/wx-server/sendMessage?openid=oINiq6UqTiKqfXN3H6RmeKvvRnmw&content=

這是一個測試消息。注意openid為之前章節擷取的關注本公衆号的使用者openid。

此時打開對應使用者關注的公衆号會話資訊,會發現已收到相關消息。

4. 發送其他類型消息

實際上,除了文本消息,還有其他類型的消息,此處給出格式,感興趣的同學自己去研究就OK。

文本消息:

WxMpKefuMessage

 .TEXT()

 .toUser("OPENID")

 .content("sfsfdsdf")

 .build();

圖檔消息:

 .IMAGE()

 .mediaId("MEDIA_ID")

語音消息:

WxMpKefuMessage.VOICE()

視訊消息:

WxMpKefuMessage.VIDEO()

 .title("TITLE")

 .thumbMediaId("MEDIA_ID")

 .description("DESCRIPTION")

音樂消息:

WxMpKefuMessage.MUSIC()

.toUser("OPENID")

.title("TITLE")

.thumbMediaId("MEDIA_ID")

.description("DESCRIPTION")

.musicUrl("MUSIC_URL")

.hqMusicUrl("HQ_MUSIC_URL")

.build();

圖文消息:

WxMpKefuMessage.WxArticle article1 = new WxMpKefuMessage.WxArticle();

article1.setUrl("URL");

article1.setPicUrl("PIC_URL");

article1.setDescription("Is Really A Happy Day");

article1.setTitle("Happy Day");

WxMpKefuMessage.WxArticle article2 = new WxMpKefuMessage.WxArticle();

article2.setUrl("URL");

article2.setPicUrl("PIC_URL");

article2.setDescription("Is Really A Happy Day");

article2.setTitle("Happy Day");

WxMpKefuMessage.NEWS()

  .toUser("OPENID")

  .addArticle(article1)

  .addArticle(article2)

  .build();

5. 小結

使用比較多的是文本消息,本文給出示例,參考實作即可。

繼續閱讀