微信公众号 扫码自动回复消息

临时二维码请求说明 必须携带参数 expire_seconds

http请求方式: POST URL: https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token=TOKEN POST数据格式:json POST数据例子:{"expire_seconds": 604800, "action_name": "QR_SCENE", "action_info": {"scene": {"scene_id": 123}}} 或者也可以使用以下POST数据创建字符串形式的二维码参数:{"expire_seconds": 604800, "action_name": "QR_STR_SCENE", "action_info": {"scene": {"scene_str": "test"}}}

永久二维码请求说明

http请求方式: POST URL: https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token=TOKEN POST数据格式:json POST数据例子:{"action_name": "QR_LIMIT_SCENE", "action_info": {"scene": {"scene_id": 123}}} 或者也可以使用以下POST数据创建字符串形式的二维码参数: {"action_name": "QR_LIMIT_STR_SCENE", "action_info": {"scene": {"scene_str": "test"}}}

参数说明
expire_seconds该二维码有效时间,以秒为单位。 最大不超过2592000(即30天),此字段如果不填,则默认有效期为30秒。
action_name二维码类型,QR_SCENE为临时的整型参数值,QR_STR_SCENE为临时的字符串参数值,QR_LIMIT_SCENE为永久的整型参数值,QR_LIMIT_STR_SCENE为永久的字符串参数值
action_info二维码详细信息
scene_id场景值ID,临时二维码时为32位非0整型,永久二维码时最大值为100000(目前参数只支持1--100000)
scene_str场景值ID(字符串形式的ID),字符串类型,长度限制为1到64
// 创建二维
$barcode = array(
    'expire_seconds' => 2592000,
    'action_name' => 'QR_STR_SCENE',
    'action_info' => array(
        'scene' => array(
//  action_name 参数为  QR_SCENE 时为临时的整型参数值  使用 scene_id
            'scene_id' => 1572,
// action_name 参数为  QR_STR_SCENE为临时的字符串参数值 使用 scene_str
            'scene_str' => "oid_dasdasd",
        ),
    )
);

正确的Json返回结果:

{"ticket":"gQH47joAAAAAAAAAASxodHRwOi8vd2VpeGluLnFxLmNvbS9xL2taZ2Z3TVRtNzJXV1Brb3ZhYmJJAAIEZ23sUwMEmm
3sUw==","expire_seconds":60,"url":"http://weixin.qq.com/q/kZgfwMTm72WWPkovabbI"}
参数说明
ticket获取的二维码ticket,凭借此ticket可以在有效时间内换取二维码。
expire_seconds该二维码有效时间,以秒为单位。 最大不超过2592000(即30天)。
url二维码图片解析后的地址,开发者可根据该地址自行生成需要的二维码图片

HTTP GET请求(请使用https协议)

https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=TICKET

提醒:TICKET记得进行UrlEncode

即可直接显示图片

扫码识别后跳转到公众号 将数据推送到  配置的api

返回的数据内容  有两种情况

第一种情况就是用户未关注的情况下 返回数据

tousername=gh_a2e329ac4fee;
// 用户openid
fromusername=owzrh5mbCgCa7akxfZR7Dj86tsUA;
createtime=1629625491;
// 消息类型  事件
msgtype=event;
// 订阅 事件
event=subscribe;
// 事件key 二维码扫识别时 并关注公众号 微信端会在将设置 scene_str 或 scene_id 设置的值 拼接上qescene_ 一起传入
eventkey=qrscene_oid_asda; 
// 图片 ticketticket=gQH57zwAAAAAAAAAAS5odHRwOi8vd2VpeGluLnFxLmNvbS9xLzAyU2w1TmMtM1dmeEMxb2RqOXh4Y28AAgQNBiJhAwQAjScA;
// 用户openid
from=owzrh5mbCgCa7akxfZR7Dj86tsUA;
// 公众号原始id
to=gh_a2e329ac4fee;
time=1629625491;
type=text;
// 传过来的参数  scene_id 或 scene_str
scene=oid_dasdasd;
redirection=1;
// 来源 关注公众号
source=subscribe; 

第二种情况 用户已经关注公众号

tousername=gh_a2e329ac4fee;
fromusername=owzrh5pLYQwSMMWS1InUlkMnAqMI;
createtime=1629624394;
msgtype=event;
// 扫码事件
event=SCAN;
// 传过来的参数  scene_str 或 scene_id 设置的值
eventkey=oid_asda; ticket=gQH57zwAAAAAAAAAAS5odHRwOi8vd2VpeGluLnFxLmNvbS9xLzAyU2w1TmMtM1dmeEMxb2RqOXh4Y28AAgQNBiJhAwQAjScA;
from=owzrh5pLYQwSMMWS1InUlkMnAqMI;
to=gh_a2e329ac4fee;
time=1629624394;
type=text;
// scene_str 或 scene_id 设置的值
scene=oid_asda;
redirection=1;
// 来源 二维码
source=qr;
// 判断是否是扫码 事件
if ($message['event'] == 'SCAN' || $message['event'] == "subscribe"){
                $status = true;
// 判断关注是否是通过二维码扫码 跳转 
                if (strpos($message['scene'],'oid_') === false){
                    $status = false;
                }
                $oid = substr($message['scene'],4,strlen($message['scene']));
                $content = "您的订单号为:".$oid;

                if($status){
                    $account_api = WeAccount::create($_GET['id']);
                    $custom = array(
// 用户openid
                        'touser' => $message['fromusername'],
// 销售类型
                        'msgtype' => 'text',
                        'text' => array(
// 发送内容 url 编码
                            'content' => urlencode($content),
                        )
                    );
// 客服消息接口
                    $result = $account_api->sendCustomNotice($custom);
                }


            }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fuchto

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值