不再犹豫
分享是一种美德

微信公众号之生成带参数的二维码

为了满足用户渠道推广分析和用户帐号绑定等场景的需要,公众平台提供了生成带参数二维码的接口。使用该接口可以获得多个带不同场景值的二维码,用户扫描后,公众号可以接收到事件推送。

目前有2种类型的二维码:

1、临时二维码,是有过期时间的,最长可以设置为在二维码生成后的30天(即2592000秒)后过期,但能够生成较多数量。临时二维码主要用于帐号绑定等不要求二维码永久保存的业务场景

2、永久二维码,是无过期时间的,但数量较少(目前为最多10万个)。永久二维码主要用于适用于帐号绑定、用户来源统计等场景。

用户扫描带场景值二维码时,可能推送以下两种事件:

如果用户还未关注公众号,则用户可以关注公众号,关注后微信会将带场景值关注事件推送给开发者。

如果用户已经关注公众号,在用户扫描后会自动进入会话,微信也会将带场景值扫描事件推送给开发者。

获取带参数的二维码的过程包括两步,首先创建二维码ticket,然后凭借ticket到指定URL换取二维码。

一、开发流程

  • 调用生成ticket接口,生成ticket。
  • 调用获取二维码接口,需传递ticket。
  • 在后台获取事件推送消息,从中提取二维码携带的参数。

二、接口

ticket接口

url https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token=TOKEN
格式 JSON
HTTP请求方式 POST
接口说明 生成ticket接口

参数说明

参数名称 是否必填 类型 说明
access_token String 公众号token,不通过jsonbody传递,拼接在url后
expire_seconds Integer 该二维码有效时间,以秒为单位。 最大不超过2592000(即30天),此字段如果不填,则默认有效期为60秒。
action_name String 二维码类型,QR_SCENE为临时的整型参数值,QR_STR_SCENE为临时的字符串参数值,QR_LIMIT_SCENE为永久的整型参数值,QR_LIMIT_STR_SCENE为永久的字符串参数值
action_info Object 二维码详细信息,其中包含了场景值id
scene_id Integer 场景值ID,临时二维码时为32位非0整型,永久二维码时最大值为100000(目前参数只支持1–100000)
scene_str String 场景值ID(字符串形式的ID),字符串类型,长度限制为1到64

返回参数说明

{

"ticket":"gQH47joAAAAAAAAAASxodHRwOi8vd2VpeGluLnFxLmNvbS9xL2taZ2Z3TVRtNzJXV1Brb3ZhYmJJAAIEZ23sUwMEmm

3sUw==",

"expire_seconds":60,

"url":"http://weixin.qq.com/q/kZgfwMTm72WWPkovabbI"

}
参数名称 描述
ticket 获取二维码所需
expire_seconds 过期时间
url 扫码后跳转的地址,可以用这个地址自行生成二维码

 

请求说明

  • action_name选择QR_LIMIT_SCENE或QR_LIMIT_STR_SCENE生成永久二维码,不需要传递expire_seconds参数。
  • scene_id和scene_str只需传递其中一个,需对应action_name传递的是整型还是字符串类型。
  • JSON参数示例
  • 整型:{“action_name”: “QR_LIMIT_SCENE”, “action_info”: {“scene”: {“scene_id”: 123}}}
  • 字符串类型:{“action_name”: “QR_LIMIT_STR_SCENE”, “action_info”: {“scene”: {“scene_str”: “test”}}}

官方文档

https://developers.weixin.qq.com/doc/offiaccount/Account_Management/Generating_a_Parametric_QR_Code.html

获取二维码接口

url https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=TICKET
HTTP请求方式 get
接口说明 获取二维码接口

 

返回说明

ticket正确情况下,http 返回码是200,是一张图片,可以直接展示或者下载。

官方文档

https://developers.weixin.qq.com/doc/offiaccount/Account_Management/Generating_a_Parametric_QR_Code.html

 

三、配置事件推送

(1) 微信会将扫描带参数二维码事件的数据推送到服务器配置的地址。

(2) 在后台解析微信推送的数据即可获得二维码携带的信息,其中包含生成时二维码是传递的场景值id。

官方文档

https://developers.weixin.qq.com/doc/offiaccount/Message_Management/Receiving_event_pushes.html

 

欢迎大家关注公众号:

赞(4)
转载请注明来源地址:不再犹豫 » 微信公众号之生成带参数的二维码

评论 抢沙发

评论前必须登录!