为了帮助公众号实现灵活的业务运营,微信公众平台新增了个性化菜单接口,开发者可以通过该接口,让公众号的不同用户群体看到不一样的自定义菜单。该接口开放给已认证订阅号和已认证服务号。

开发者可以通过以下条件来设置用户看到的菜单:

1、用户分组(开发者的业务需求可以借助用户分组来完成)

2、性别

3、手机操作系统

4、地区(用户在微信客户端设置的地区)

5、语言(用户在微信客户端设置的语言)

个性化菜单接口说明:

1、个性化菜单要求用户的微信客户端版本在iPhone6.2.2,Android 6.2.4以上。

2、菜单的刷新策略是,在用户进入公众号会话页或公众号profile页时,如果发现上一次拉取菜单的请求在5分钟以前,就会拉取一下菜单,如果菜单有更新,就会刷新客户端的菜单。测试时可以尝试取消关注公众账号后再次关注,则可以看到创建后的效果。

3、普通公众号的个性化菜单的新增接口每日限制次数为2000次,删除接口也是2000次,测试个性化菜单匹配结果接口为20000次

4、出于安全考虑,一个公众号的所有个性化菜单,最多只能设置为跳转到3个域名下的链接

5、创建个性化菜单之前必须先创建默认菜单(默认菜单是指使用普通自定义菜单创建接口创建的菜单)。如果删除默认菜单,个性化菜单也会全部删除

个性化菜单匹配规则说明:

当公众号创建多个个性化菜单时,将按照发布顺序,由新到旧逐一匹配,直到用户信息与matchrule相符合。如果全部个性化菜单都没有匹配成功,则返回默认菜单。

例如公众号先后发布了默认菜单,个性化菜单1,个性化菜单2,个性化菜单3。那么当用户进入公众号页面时,将从个性化菜单3开始匹配,如果个性化菜单3匹配成功,则直接返回个性化菜单3,否则继续尝试匹配个性化菜单2,直到成功匹配到一个菜单。

根据上述匹配规则,为了避免菜单生效时间的混淆,决定不予提供个性化菜单编辑API,开发者需要更新菜单时,需将完整配置重新发布一轮。

目录

1 创建个性化菜单

2 删除个性化菜单

3 测试个性化菜单匹配结果

4 查询个性化菜单

5 删除所有菜单

创建个性化菜单

http请求方式:POST(请使用https协议)

api.weixin.qq.com/cgi-bin/menu/addconditional?access_token=ACCESS_TOKEN

请求示例{

"button":[

{

"type":"click",

"name":"今日歌曲",

"key":"V1001_TODAY_MUSIC"

},

{

"name":"菜单",

"sub_button":[

{

"type":"view",

"name":"搜索",

"url":"http://www.soso.com/"

},

{

"type":"view",

"name":"视频",

"url":"http://v.qq.com/"

},

{

"type":"click",

"name":"赞一下我们",

"key":"V1001_GOOD"

}]

}],

"matchrule":{

"group_id":"2",

"sex":"1",

"country":"中国",

"province":"广东",

"city":"广州",

"client_platform_type":"2"

"language":"zh_CN"

}

}

参数说明

matchrule共六个字段,均可为空,但不能全部为空,至少要有一个匹配信息是不为空的。 country、province、city组成地区信息,将按照country、province、city的顺序进行验证,要符合地区信息表的内容。地区信息从大到小验证,小的可以不填,即若填写了省份信息,则国家信息也必填并且匹配,城市信息可以不填。 例如 “中国 广东省 广州市”、“中国 广东省”都是合法的地域信息,而“中国 广州市”则不合法,因为填写了城市信息但没有填写省份信息。 地区信息表请点击下载。

返回结果

正确时的返回JSON数据包如下,错误时的返回码请见接口返回码说明。{

"menuid":"208379533"

}

删除个性化菜单

http请求方式:POST(请使用https协议)

api.weixin.qq.com/cgi-bin/menu/delconditional?access_token=ACCESS_TOKEN

请求示例{"menuid":"208379533"}

menuid为菜单id,可以通过自定义菜单查询接口获取。

正确时的返回JSON数据包如下,错误时的返回码请见接口返回码说明。:{"errcode":0,"errmsg":"ok"}

测试个性化菜单匹配结果

http请求方式:POST(请使用https协议)

api.weixin.qq.com/cgi-bin/menu/trymatch?access_token=ACCESS_TOKEN

请求示例{

"user_id":"weixin"

}

user_id可以是粉丝的OpenID,也可以是粉丝的微信号。

返回结果 该接口将返回菜单配置,示例如下:{

"button": [

{

"type": "view",

"name": "tx",

"url": "http://www.qq.com/",

"sub_button": [ ]

},

{

"type": "view",

"name": "tx",

"url": "http://www.qq.com/",

"sub_button": [ ]

},

{

"type": "view",

"name": "tx",

"url": "http://www.qq.com/",

"sub_button": [ ]

}

]

}

错误时的返回码请见接口返回码说明。

查询个性化菜单

使用普通自定义菜单查询接口可以获取默认菜单和全部个性化菜单信息,请见自定义菜单查询接口的说明。

删除所有菜单

使用普通自定义菜单删除接口可以删除所有自定义菜单(包括默认菜单和全部个性化菜单),请见自定义菜单删除接口的说明。

【相关推荐】

php微信自定个性化菜单,微信开发之个性化菜单相关推荐

  1. php 微信开发 菜单,微信公众号中个性化菜单的开发实例

    微信公众号中个性化菜单的开发实例 个性化菜单让公众号的不同用户群体看到不一样的自定义菜单.该接口开放给已认证订阅号和已认证服务号,个性化菜单要求用户的微信客户端版本在iPhone6.2.2,Andro ...

  2. 微信开发学习总结(四)——自定义菜单(5)——个性化菜单接口

    一.个性化菜单接口说明 为了帮助公众号实现灵活的业务运营,微信公众平台新增了个性化菜单接口,开发者可以通过该接口,让公众号的不同用户群体看到不一样的自定义菜单.该接口开放给已认证订阅号和已认证服务号. ...

  3. 微信服务号开发----创建个性化菜单

    官方链接http://mp.weixin.qq.com/wiki/0/c48ccd12b69ae023159b4bfaa7c39c20.html 1.目的:让公众号的不同用户群体看到不一样的自定义菜单 ...

  4. 微信公众平台开发(24) 自定义菜单功能开发

    原文: http://www.cnblogs.com/imaker/p/5491433.html 一.简介 微信公众平台服务号以及之前成功申请内测资格的订阅号都具有自定义菜单的功能.开发者可利用该功能 ...

  5. php 自定义菜单 openid,微信公众平台开发(99) 自定义菜单获取OpenID

    关键字 微信公众平台 自定义菜单 OpenID 作者:方倍工作室 原文:http://www.cnblogs.com/txw1958/p/weixin-menu-get-openid.html 在这篇 ...

  6. (转)C#开发微信门户及应用(6)--微信门户菜单的管理操作

    http://www.cnblogs.com/wuhuacong/p/3701961.html 前面几篇继续了我自己对于C#开发微信门户及应用的技术探索和相关的经验总结,继续探索微信API并分享相关的 ...

  7. 自定义菜单 微信公众平台开发教程(2)

    自定义菜单 Senparc.Weixin SDK 是由盛派网络(Senparc)团队自主研发的针对微信各模块的开发套件(C# SDK). 自定义菜单开发时,需要使用到Token, 关于Token获取 ...

  8. php微信自定义菜单开发,微信公众平台开发自定义菜单功能开发

    一.简介 微信公众平台服务号以及之前成功申请内测资格的订阅号都具有自定义菜单的功能.开发者可利用该功能为公众账号的会话界面底部增加自定义菜单,用户点击菜单中的选项,可以调出相应的回复信息或网页链接.自 ...

  9. 微信小程序生态13-微信公众号自定义菜单、个性化菜单配置

    文章导航 微信小程序生态1-初识小程序 微信小程序生态2-创建一个微信小程序 微信小程序生态3-微信小程序登录流程设计 微信小程序生态4-扫普通二维码进入小程序.打开短链接进入小程序 微信小程序生态5 ...

最新文章

  1. VS2019 Android .so开发
  2. 离线轻量级大数据平台Spark之MLib机器学习库TF-IDF实例
  3. Android服务之Service(其一)
  4. 调查:新冠病毒对全球结构化布线市场的影响
  5. 面试官问你B树和B 树,就把这篇文章丢给他
  6. 准备开始考试系统分析员
  7. yum安装mysql5.7
  8. [CF920G]List Of Integers
  9. Excel之数据透视表
  10. ITUNES更改备份保存路径(不放C盘,不占C盘)、C盘空间不够
  11. 自动文本摘要任务背景调研
  12. JQuery中三元运算
  13. python序列的应用
  14. python飞机游戏视频教程_10分钟教你用Python做个打飞机小游戏超详细教程
  15. html—显示照片(方法一)
  16. 前端绘制小猪佩奇(CSS)
  17. 计算机设备替换方案,电脑升级cpu的方案
  18. 小米 红米NOTE5 解BL锁教程 申请BootLoader解锁教程
  19. [c#] DirectoryInfo.GetDirectories() 能扫描读取到文件夹,目录里却不存在。
  20. C 程序设计语言-上

热门文章

  1. Go关键字--var
  2. GDAL/OGR/OSR 坐标系ERROR 4: Unable to open EPSG support file gcs.csv osr.SpatialReference()
  3. DTU是什么?浅解DTU
  4. 多领域常见的一种NB-IoT温湿度传感器
  5. UnityShader解决小地图或UGUI无法显示特效黑色Shader问题
  6. 论文翻译:2021_语音增强模型压缩_Towards model compression for deep learning based speech enhancement...
  7. eclipse下载网址收藏
  8. ATA接口寄存器详解
  9. 百度地图js简单路径规划
  10. 用Python批量修改hex文件的内容