微信公众号开发(九)群发消息接口

微信公众号开发(九)群发消息接口

 

订阅号每日可以群发一条,服务号每个自然月可以群发4条。

1、根据标签进行群发【订阅号与服务号认证后均可用】

接口:https://api.weixin.qq.com/cgi-bin/message/mass/sendall?access_token=ACCESS_TOKEN

群发文本

sendall_text.php

<?php
@header('Content-type: text/plain;charset=UTF-8');
require_once("../Utils.php");
$data = '{
   "filter":{
      "is_to_all":false,
      "tag_id":100
   },
   "text":{
      "content":"CONTENT"
   },
    "msgtype":"text"
}';
$url = "https://api.weixin.qq.com/cgi-bin/message/mass/sendall?"
    ."access_token=".Utils::get_access_token();
$result = Utils::https_request($url, $data);
echo $result;

返回:

{
    "errcode": 0,
    "errmsg": "send job submission success",
    "msg_id": 1000000001
}

推送给index.php的XML文件

<xml>
    <ToUserName>
        <![CDATA[gh_6b9aa8a6f1e2]]>
    </ToUserName>
    <FromUserName>
        <![CDATA[o4WmZ0qcNsoRiDW9LEi1X1gWVBZ0]]>
    </FromUserName>
    <CreateTime>1505397941</CreateTime>
    <MsgType>
        <![CDATA[event]]>
    </MsgType>
    <Event>
        <![CDATA[MASSSENDJOBFINISH]]>
    </Event>
    <MsgID>1000000001</MsgID>
    <Status>
        <![CDATA[send success]]>
    </Status>
    <TotalCount>1</TotalCount>
    <FilterCount>1</FilterCount>
    <SentCount>1</SentCount>
    <ErrorCount>0</ErrorCount>
    <CopyrightCheckResult>
        <Count>0</Count>
        <ResultList></ResultList>
        <CheckState>0</CheckState>
    </CopyrightCheckResult>
</xml>

发送语音

发送语音和发送文本类似,不过格式为:

{
   "filter":{
      "is_to_all":false,
      "tag_id":2
   },
   "voice":{
      "media_id":"123dsdajkasd231jhksad"
   },
    "msgtype":"voice"
}

发送图文

sendall_mpnews.php

<?php
@header('Content-type: text/plain;charset=UTF-8');
require_once("../Utils.php");
$data = '{
   "filter":{
    "is_to_all":false,
      "tag_id":100
   },
   "mpnews":{
    "media_id":"FrsRJ3g3BHR-pIkuFLARnMOwMvwukEiXaYvy1xmpoX0"
   },
    "msgtype":"mpnews",
    "send_ignore_reprint":0
}';
$url = "https://api.weixin.qq.com/cgi-bin/message/mass/sendall?"
    ."access_token=".Utils::get_access_token();
$result = Utils::https_request($url, $data);
echo $result;

返回:

{"errcode":48008,"errmsg":"no permission for this msgtype hint: [PgBA9a0938ge25]"}

说是没有权限,可以调用预览接口测试:

<?php
@header('Content-type: text/plain;charset=UTF-8');
require_once("../Utils.php");
$data = '{
   "touser":"o4WmZ0h-4huBUVQUczx2ezaxIL9c",
   "mpnews":{
        "media_id":"FrsRJ3g3BHR-pIkuFLARnMOwMvwukEiXaYvy1xmpoX0"
     },
   "msgtype":"mpnews"
}';
$url = "https://api.weixin.qq.com/cgi-bin/message/mass/preview?"
    ."access_token=".Utils::get_access_token();
$result = Utils::https_request($url, $data);
echo $result;

发送图片

<?php
@header('Content-type: text/plain;charset=UTF-8');
require_once("../Utils.php");
$data = '{
   "filter":{
      "is_to_all":false,
      "tag_id":100
   },
   "image":{
      "media_id":"FrsRJ3g3BHR-pIkuFLARnGMeH3WkYJCu0ZPZ_OqQOB8"
   },
    "msgtype":"image"
}';
$url = "https://api.weixin.qq.com/cgi-bin/message/mass/sendall?"
    ."access_token=".Utils::get_access_token();
$result = Utils::https_request($url, $data);
echo $result;

发送视频:

此处视频的media_id需通过POST请求到下述接口特别地得到:https://api.weixin.qq.com/cgi-bin/media/uploadvideo?access_token=ACCESS_TOKEN POST得到,

uploadvideo.php

<?php
@header('Content-type: text/plain;charset=UTF-8');
require_once("../Utils.php");
$data = '{
  "media_id": "aTL-93EXcL4F9g4SzTdBuokPQgS_qXisgswHO02iCrqbVpU_gL_tanb9LXZ2Lc2r",
  "title": "群发视频",
  "description": "你好吗?"
}';
$url = "https://api.weixin.qq.com/cgi-bin/media/uploadvideo?"
    ."access_token=".Utils::get_access_token();
$result = Utils::https_request($url, $data);
echo $result;

返回结果:

{
    "type": "video",
    "media_id": "4KExkgRWTofVOgQZRkCtpTEyFhuYk1Xwr1y-biXNS93U7hICK1rtHgXs8uzntW60",
    "created_at": 1505400804
}

sendall_video.php

<?php
@header('Content-type: text/plain;charset=UTF-8');
require_once("../Utils.php");
$data = '{
   "filter":{
      "is_to_all":false,
      "tag_id":100
   },
   "mpvideo":{
      "media_id":"4KExkgRWTofVOgQZRkCtpTEyFhuYk1Xwr1y-biXNS93U7hICK1rtHgXs8uzntW60"
   },
    "msgtype":"mpvideo"
}';
$url = "https://api.weixin.qq.com/cgi-bin/message/mass/sendall?"
    ."access_token=".Utils::get_access_token();
$result = Utils::https_request($url, $data);
echo $result;

 

2、根据OpenID列表群发【订阅号不可用,服务号认证后可用】

接口:https://api.weixin.qq.com/cgi-bin/message/mass/send?access_token=ACCESS_TOKEN

消息格式类似:

{
   "touser":[
    "OPENID1",
    "OPENID2"
   ],
   "mpnews":{
      "media_id":"123dsdajkasd231jhksad"
   },
    "msgtype":"mpnews",
    "send_ignore_reprint":0
}

这里不再列出代码。

 

3、删除群发消息【订阅号与服务号认证后均可用】

接口:https://api.weixin.qq.com/cgi-bin/message/mass/delete?access_token=ACCESS_TOKEN

post数据:

{
   "msg_id":30124,
   "article_idx":2
}

返回:

{
   "errcode":0,
   "errmsg":"ok"
}

说明:

1、只有已经发送成功的消息才能删除
2、删除消息是将消息的图文详情页失效,已经收到的用户,还是能在其本地看到消息卡片。
3、删除群发消息只能删除图文消息和视频消息,其他类型的消息一经发送,无法删除。
4、如果多次群发发送的是一个图文消息,那么删除其中一次群发,就会删除掉这个图文消息也,导致所有群发都失效
 

4、查询群发消息发送状态【订阅号与服务号认证后均可用】

接口:https://api.weixin.qq.com/cgi-bin/message/mass/get?access_token=ACCESS_TOKEN

post数据:

{
   "msg_id": "201053012"
}

返回:

{
     "msg_id":201053012,
     "msg_status":"SEND_SUCCESS"
}

相关博客

微信公众号开发(一)服务器及接口的配置

微信公众号开发(二)基础接口

微信公众号开发(三)获取access_token

微信公众号开发(四)自定义菜单

微信公众号开发(五)个性化菜单

微信公众号开发(六)素材管理

微信公众号开发(七)发送客服消息

微信公众号开发(八)用户管理

微信公众号开发(九)群发消息接口

微信公众号开发(十)模板消息

微信公众号开发(十一)生成带参数二维码

微信公众号开发(十二)OAuth2.0网页授权

 

 

 

  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好!关于Java微信公众号开发,我可以为您提供一些基本的信息和指导。 首先,微信公众号开发要有两种类型:订阅号和服务号。订阅号主要用于信息传达和内容分享,而服务号则更加注重业务功能和用户交互。 在Java开发中,您可以使用微信公众平台提供的开发接口进行开发。以下是一些常用的开发步骤和技术: 1. 注册微信公众平台账号:前往微信公众平台(https://mp.weixin.qq.com/)注册一个账号,并完成开发者认证。 2. 配置服务器:在公众号设置中,配置服务器URL和Token。Token用于验证消息的真实性。 3. 接入消息接口:通过开发接口,将用户发送的消息和事件推送到您的服务器。您可以使用Java框架(如Spring Boot)搭建服务器,并使用接口进行消息的处理和回复。 4. 实现功能:根据您的需求,可以实现一些常见的功能,如自动回复、菜单管理、用户管理、消息模板等。您可以使用Java的相关库和工具来简化开发过程。 5. 公众号运营:在开发完成后,可以进行公众号的运营和推广。您可以通过素材管理、群发消息、数据统计等功能来提升用户体验和运营效果。 需要注意的是,微信公众号开发涉及到用户隐私和信息安全,建议您在开发过程中遵守相关规定,并进行必要的数据加密和安全防护。 希望以上信息对您有所帮助!如果您有任何进一步的问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值