微信公众号为指定openid用户推送消息

微信公众号为指定openid用户推送消息

微信提供的开放接口中,有两个给指定openid的用户发送信息的接口,适用场景应该是向 预约用户或者中奖用户发送消息。

第一个接口:客服发送消息

  • 请求方式: POST

  • 请求地址:https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=ACCESS_TOKEN

  • params:access_token(获取方式见文尾)

  • body:

  • {
      	// openid
        "touser":"OPEN_ID",
      	// 消息类型(可以有很多,这里展示文本类型)
        "msgtype":"text",
      	// 内容
        "text":
        {
             "content":"Hello World"
        }
    }
    

    注意:这个接口必须用户点到公众号的应用内部才能发送成功,并且一个用户最多同时发送三条信息

第二个接口:模板消息

微信提供了模板消息功能,可自定义模板内容,然后进行使用,官方文档见:

设置好模板消息后,拿到模板id,利用access_token鉴权就可以对指定openid的用户发送模板消息了。

  • 请求方式:POST

  • 请求地址:https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=ACCESS_TOKEN

  • params:access_token(获取方式见文尾)

  • body

  • {	
      				// openid
               "touser":"OPEN_ID",
      				// 模板id
               "template_id":"ggsdfkfdsisfdisnf-_djfas-fjdsfnnjcsa",
               "url":"http://weixin.qq.com/download",  
                       
               "data":{
                       "first": {
                           "value":"预约游戏上线",
                           "color":"#173177"
                       },
                       "keyword1":{
                           "value":"进击的巨人",
                           "color":"#173177"
                       },
                       "keyword2": {
                           "value":"即将上线",
                           "color":"#173177"
                       },
                       "keyword3": {
                           "value":"2021年7月22日",
                           "color":"#173177"
                       },
                       "remark":{
                           "value":"快上号吧!",
                           "color":"#173177"
                       }
               }
    }
    

    参数说明:

    参数 是否必填 说明
    touser 接收者openid
    template_id 模板ID
    url 模板跳转链接(海外帐号没有跳转能力)
    miniprogram 跳小程序所需数据,不需跳小程序可不用传该数据
    appid 所需跳转到的小程序appid(该小程序appid必须与发模板消息的公众号是绑定关联关系,暂不支持小游戏)
    pagepath 所需跳转到小程序的具体页面路径,支持带参数,(示例index?foo=bar),要求该小程序已发布,暂不支持小游戏
    data 模板数据
    color 模板内容字体颜色,不填默认为黑色

在调用模板消息接口后,会返回JSON数据包。正常时的返回JSON数据包示例:

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

第三个接口:获取Access_Token接口

接口调用请求说明

https请求方式: GET https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET

参数说明

参数 是否必须 说明
grant_type 获取access_token填写client_credential
appid 第三方用户唯一凭证
secret 第三方用户唯一凭证密钥,即appsecret

返回说明

正常情况下,微信会返回下述JSON数据包给公众号:

{"access_token":"ACCESS_TOKEN","expires_in":7200}

参数说明

参数 说明
access_token 获取到的凭证
expires_in 凭证有效时间,单位:秒

错误时微信会返回错误码等信息,JSON数据包示例如下(该示例为AppID无效错误):

{"errcode":40013,"errmsg":"invalid appid"}

返回码说明

返回码 说明
-1 系统繁忙,此时请开发者稍候再试
0 请求成功
40001 AppSecret错误或者AppSecret不属于这个公众号,请开发者确认AppSecret的正确性
40002 请确保grant_type字段值为client_credential
40164 调用接口的IP地址不在白名单中,请在接口IP白名单中进行设置。(小程序及小游戏调用不要求IP地址在白名单内。)
89503 此IP调用需要管理员确认,请联系管理员
89501 此IP正在等待管理员确认,请联系管理员
89506 24小时内该IP被管理员拒绝调用两次,24小时内不可再使用该IP调用
89507 1小时内该IP被管理员拒绝调用一次,1小时内不可再使用该IP调用
上一篇:高中信息技术教资知识点(二)


下一篇:单细胞核测序技术