微信摇一摇周边需商户后台申请资质、部署设备并调用服务端接口,PHP接入须规范构造参数、管理设备标识、同步红包信息;资质审核3日内完成,设备ID须严格按格式构造,红包活动需串联支付与摇周边接口,用户触发后通过ticket实时获取openid等数据。

微信摇一摇周边不是前端“晃手机”就能触发的简单交互,而是需要商户在微信后台申请资质、部署设备、调用服务端接口的一整套线下连接方案。PHP接入的核心在于正确构造请求参数、管理设备标识、同步活动与红包信息,并严格遵循微信对数据类型和权限的要求。
开通与资质准备
非第三方平台开发者,直接登录摇一摇周边商户后台提交申请。需上传营业执照、行业资质等材料——注意:所有图片必须通过后台“素材管理”上传,不能混用公众号素材接口;行业代码务必传字符串(如"0110"),避免以0开头的数字被PHP解析为八进制。
- 提交后3个工作日内审核,期间不可重复提交
- 审核中状态可通过
$shakearound->status()实时查询 - 审核通过即获得设备管理权限和API调用能力
设备注册与标识规范
摇一摇周边依赖iBeacon或微信定制硬件,每个设备有唯一身份标识。PHP中必须按微信要求格式构造$deviceIdentifier,否则接口会静默失败。
解析微信公众号文章,提取标题、作者、正文、图片等信息。用户发送链接(mp.weixin.qq.com)时触发,自动提取内容并可保存至飞书表格。
- 单设备ID形式:
['device_id' => 10097] - iBeacon形式:
['uuid' => 'FDA50693-A4E2-4FB1-AFCF-C6EB07647825', 'major' => 10001, 'minor' => 12102] - 批量操作时,
$deviceIdentifiers必须是二维数组,外层索引、内层关联键
红包活动全流程实现
摇一摇红包是典型三步链路:预下单 → 创建活动 → 录入红包。PHP需串联微信支付与摇周边两个体系,且红包提供方与发放方公众号必须一致。
立即学习“PHP免费学习笔记(深入)”;
- 先调用微信支付红包预下单接口,获取
repackage和paySign - 再调用
POST /shakearound/lottery/addlotteryinfo创建活动,URL中带use_template=1启用自动加载页 - 最后用
/shakearound/lottery/enterlottery录入红包ticket,绑定设备ID列表
用户行为与数据获取
用户摇动触发后,微信服务器会推送ShakearoundUser事件,后端需监听该事件并调用$shakearound->user($ticket)解码用户与设备关系。
- 返回字段含
openid、distance(米)、poi_id(门店ID)等关键信息 - 若需关联门店,调用时传
true第二参数:$shakearound->user($ticket, true) - 注意:
$ticket是微信推送的临时凭证,5分钟内有效,不可缓存复用


















