💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
# 消息群发 [toc] 微信为订阅号提供了每天一条的群发权限,为服务号提供每月(自然月)4条的群发权限。 开发者可以使用预览接口校对消息样式和排版,通过预览接口可发送编辑好的消息给指定用户校验效果。 本接口中所有使用到media_id的地方,现在都可以使用素材管理中的永久素材media_id了。 ## 消息预览 下面演示是图文消息的预览,如果想发送图片等消息预览,开发者可以查看微信官方文档的数据结构。 ```php $data = [ "touser" => "oGiQGuMR-fR_WeD6gLRKnqgMxYGo", "mpnews" => [ "media_id" => "vwkQqqBXrV7ND7wUu-tCnL4Lb6Zqb-MymQA7dZbt4rU", ], "msgtype" => "mpnews", ]; WeChat::instance('message')->preview($data); ``` ## 群发消息 ```php $data = [ "filter" => [ "is_to_all" => true, ], "mpnews" => [ "media_id" => "vwkQqqBXrV7ND7wUu-tCnL4Lb6Zqb-MymQA7dZbt4rU", ], "msgtype" => "mpnews", "send_ignore_reprint" => 0, ]; $res = WeChat::instance('message')->sendAll($data); ``` ## 删除群发 群发之后,随时可以通过该接口删除群发。只有已经发送成功的消息才能删除,删除群发消息只能删除图文消息和视频消息,其他类型的消息一经发送,无法删除。 ```php $data = [ //群发消息的编号 "msg_id":30124 ]; WeChat::instance('message')->delMassMessage($data); ``` **返回说明** ```php [ "errcode"=>0, "errmsg"=>"ok" ] ``` ## 查询群发消息发送状态 ```php $data = [ //群发消息的编号 "msg_id":30124 ]; WeChat::instance('message')->getMassMessageState($data); ``` **返回说明** ```php [ "msg_id"=>201053012, "msg_status"=>"SEND_SUCCESS" ] ``` ## 事件推送群发结果 由于群发任务提交后,群发任务可能在一定时间后才完成,因此,群发接口调用时,仅会给出群发任务是否提交成功的提示,若群发任务提交成功,则在群发任务结束时,会向开发者在公众平台填写的开发者URL(callback URL)推送事件。 需要注意,由于群发任务彻底完成需要较长时间,将会在群发任务即将完成的时候,就推送群发结果,此时的推送人数数据将会与实际情形存在一定误差。 ```php $instance = WeChat::instance('message'); //判断是否是群发消息推送事件 if ($instance->isMassMessage()) { //执行处理代码... } ```