首页 > QQ技巧 > 微信用户分组管理接口基础教程

微信用户分组管理接口基础教程

时间:2016-12-19 11:03 作者:QQ地带 我要评论

我们都用过qq号,当我们的qq号里面添加的好友人数很多时,这时候我们可以使用qq上面提供的“分组”功能对qq用户进行分组,这样可以很方便的管理我们的好友,至于按什么分组完全取决于我们自己的需求。同样的当我们的微信公众号的粉丝的数量不断增加时,我们也可以根据自己的业务需要进行分组,把粉丝们根据自己的业务需要进行分组是非常有必要的,例如,有大量老客户是您的产品的粉丝,您可以把这些用户放在一组,有刚进来的粉丝对您的产品不太了解的你可以单独放在一组,然后,对其引导了解您企业的产品,还有已经成为您的粉丝但是长期的没有买过您的产品,您可以把他们分到一组里面,这样您就可以对不同组进行研究分析对不同组的粉丝采取不同的措施,增加企业产品的销售量,公众号的分组重要目的之一就是营销。
 
  微信公众号里面在编辑模式下也可以进行分组,如下图所示:
 
编辑模式下分组
  但是,编辑模式下的分组分组的数量有限制而且也不灵活,编辑模式下的分组只能满足粉丝量不大的公众号用户,如果您的企业的粉丝数量大,而且又要实现多种分组功能的要求,那么,编辑模式下的分组就不能满足了,这时就需要开启“开发模式”,然后,使用开发模式下的分组接口对分组进行开发,开发模式下的分组也是我们学习的重点,开发模式下的分组不仅分组数量大而且更加灵活,企业可以根据自己的需要进行开发处理,这是编辑模式下的分组所不具备的。
 
  要进行用户分组开发需要对分组的一些基本常识和接口知识有一个系统的了解,因为,分组相对其它接口来说不仅内容多而且知识相对零散,本教程将对分组的相关知识作一个系统的总结。
 
用户分组的操作
 
  我们可以编写程序对用户的分组进行创建、查询、修改、删除和移动操作,而且,还可以批量移动操作,这几个功能非常类似我们通过php程序对数据库进行增、删、改和查等操作,所以,如果您学过php操作数据库的相关知识的话,那么理解起对用户分组的这些操作就容易多了。
 
  腾讯官方目前规定一个公众账号,最多支持创建100个分组。 所以,我们在创建分组时要规划一下,否则分组太多超出了限制就会出问题。
 
  腾讯提供了三个默认分组,用json格式表示为:
 
 
{
 
  "groups": [
 
      {
 
          "id": 0,
 
          "name": "未分组",
 
          "count": 72596
 
      },
 
      {
 
          "id": 1,
 
          "name": "黑名单",
 
          "count": 36
 
      },
 
      {
 
          "id": 2,
 
          "name": "星标组",
 
          "count": 8
 
      }
 
 
 
       ]
 
}
 
各种接口对比分析
 
  因为,对用户分组可以进行各种操作,而操作时使用的接口都不一样,所以,我们需要对这些接口url进行分析看看这些接口有什么不同,这样可以对用户分组的接口更有深刻的了解便于日后开发。
 
  创建分组接口:https://api.weixin.qq.com/cgi-bin/groups/create?access_token=ACCESS_TOKEN
 
  删除分组接口:https://api.weixin.qq.com/cgi-bin/groups/delete?access_token=ACCESS_TOKEN
 
  修改分组名接口:https://api.weixin.qq.com/cgi-bin/groups/update?access_token=ACCESS_TOKEN
 
  查询用户所在分组接口:https://api.weixin.qq.com/cgi-bin/groups/getid?access_token=ACCESS_TOKEN
 
  查询所有分组接口:https://api.weixin.qq.com/cgi-bin/groups/get?access_token=ACCESS_TOKEN
 
  移动用户分组接口:https://api.weixin.qq.com/cgi-bin/groups/members/update?access_token=ACCESS_TOKEN
 
  批量移动用户分组接口:https://api.weixin.qq.com/cgi-bin/groups/members/batchupdate?access_token=ACCESS_TOKEN
 
  对比上面的7个接口发现,前5个接口唯一不同是groups后面问号前面的单词不同,即上面加红色的单词,其它完全一样。
 
  后面2个移动用户分组接口与前面5个接口相比增加了一个members路径(显示绿色单词),这2个接口的不同是在members后面问号前面单词的不同,即显示蓝色的单词,其它的跟前面5个完全一样,这样一总结在我们开发时就不会写错接口url了,理解起来也好理解了,创建创建是create、删除是delete、修改是update等,这是不是非常像数据库里面操作数据库的sql语言,这样一比就更好理解这些接口了。
 
  这些接口还有一个共同点就是都使用http请求方式: POST(请使用https协议)。
 
分组操作的POST数据
 
  这7个接口就对应着7个对用户分组不同的操作,而要进行不同的操作就一般都使用json数据格式进行操作,例如,创建分组就要通过json数据把要创建的分组名称写到json数据结构里面,通过http协议把要创建分组的json传递给创建分组的接口的url,然后,根据access_token把分组创建好,其它的接口使用跟创建分组的流程完全一样,只是有的分组操作不需要json数据,例如,查询分组。
 
  现对这些分组操作作一个详细总结,也可以起到一定的对比,目的就是为了在做开发的时候更好的理解这些分组操作。
 
  1)创建分组:
 
 
POST数据例子:{"group":{"name":"php"}}
 
 
  因为,要创建一个分组,所以,只需要要创始的分组的名称name即可,这个name值就是要创建的分组的名称,上面示例表示要创建一个名称为php的分组,在这个分组里面可以只添加喜欢php的公众号分丝。
 
  正常时的返回JSON数据包示例:
 
 
{
 
 "group": {
 
     "id": 107,
 
     "name": "php"
 
 }
 
}
 
 
  当创建分组成功后,就返回上面的类似的json数据,这里面包括了我们创建的分组的名称php和一个id,这个id是创建分组接口分配给我们的,这个id相当于我们在网站里面发表了一篇文章,然后,生成一个id,以后我们可以通过id来查询、删除等操作,同样的当我们创建了分组也分得到一个id,以后我们在做微信开发时,可以通过这个id对这个分组进行操作。
 
  注意:分组名字(30个字符以内) 且,最多可以创建100个分组。
 
 
2)删除分组:
 
 
POST数据例子:{"group":{"id":108}}
 
 
  我们知道在把数据库表里同的某条记录删除掉,只需要知道要删除的记录的id就可以通过sql语句,把这条记录删除掉。同样的道理当删除一个分组时,必须指明要删除哪个id,因为,这个id就像我们的身份证一样,是唯一标识用户身份的,同样分组的id也是唯一的,所以,要删除哪个id就要提供要删除的这个id,所以,这个json数据只需要提供一个id即可删除这个id对应的分组。
 
  返回说明 正常时的返回JSON数据包示例:
 
  {"errcode": 0, "errmsg": "ok"}
 
  错误时的JSON数据包示例(该示例为AppID无效错误):
 
  {"errcode":40013,"errmsg":"invalid appid"}
 
  注意本接口是删除一个用户分组,删除分组后,所有该分组内的用户自动进入默认分组,删除一个分组并不是把分组里面的粉丝一起删除了,而只是把分组的名称给删除掉了,里面的粉丝不会被删除。
 
 
3)修改分组名:
 
POST数据例子:{"group":{"id":108,"name":"php_modify2"}}
 
  想一下要修改数据库表里面的一条记录,就要知道要修改的记录的id和要修改的字段的名,同样的道理要修改分组名就要指定是哪个id,因为,id是识别用户分组的标识,然后就是要修改的名称。上面提供的json数据里面的php_modify2就是要修改的分组名。
 
  上面的json的数据的含义是:修改id为108的分组名,把这个id对应的分组名称修改为php_m modify2。
 
  返回说明 正常时的返回JSON数据包示例:
 
  {"errcode": 0, "errmsg": "ok"}
 
  错误时的JSON数据包示例(该示例为AppID无效错误):
 
  {"errcode":40013,"errmsg":"invalid appid"}
 
 
4)查询分组:
 
    a)查询所有分组: 如果要查询一表数据库表的数据,就不需要id信息了,因为,要把表中的所有的记录全部查询出来,同样的道理,如果想把所有分组查询出来,也不用任何json数据,只需要一个access_token,然后,使用查询接口即可。
 
  返回说明 正常时的返回JSON数据包示例:
 
 
{
 
  "groups": [
 
      {
 
          "id": 0,
 
          "name": "未分组",
 
          "count": 72596
 
      },
 
      {
 
          "id": 1,
 
          "name": "黑名单",
 
          "count": 36
 
      },
 
      {
 
          "id": 2,
 
          "name": "星标组",
 
          "count": 8
 
      },
 
      {
 
          "id": 104,
 
          "name": "华东媒",
 
          "count": 4
 
      },
 
      {
 
          "id": 106,
 
          "name": "微信连",
 
          "count": 1
 
      }
 
  ]
 
}
 
 
  注意:上面返回的json数据里面的id表示分组id;name表示分组名称;count值表示在这个分组的粉丝数量。
 
    b)查询用户所在分组:
 
1
POST数据例子:{"openid":"od8XIjsmk6QdVTETa9jLtGWA6KBc"}
 
 
    为什么查询用户所在分组就要json例子呢?因为,不像查询所有分组那样,查询用户所在分组明确指出要查询的是某个用户所在的分组,所以,就要使用这个用户的openid,这有点类似于知道了数据库表中的某个字段,然后,查询一下这个字段对应的文章的id是多少一样。
 
  查询后返回的肯定是一个分组id为什么?因为,能识别分组的唯一标识就是分组id。
 
  返回说明 正常时的返回JSON数据包示例:
 
{
 
    "groupid": 102
 
}
 
 
  5)移动用户分组:
 
1
POST数据例子:{"openid":"oDF3iYx0ro3_7jD4HFRDfrjdCM58","to_groupid":108}
 
 
  移动一个用户到别外一个用户分组,只需要把标识用户的id移动到分组id里面即可,标识用户id的是openid,这是用户的“身份证”,标识分组的分组id是to_groupid,这就是为什么移动用户时,需要这二个参数了。
 
  批量移动用户分组:上面是把一个用户移动到其它分组里面,如果想移动多个用户即批量移动用户,json数据如何写?
 
  腾讯给我们的示例是:{"openid_list":["oDF3iYx0ro3_7jD4HFRDfrjdCM58","oDF3iY9FGSSRHom3B-0w5j4jlEyY"],"to_groupid":108}
 
  openid_list表示的是:openid列表,也就是用户列表。
 
  to_groupid表示的是:分组id,含义跟上面一样。
 
  返回说明 正常时的返回JSON数据包示例:
 
  {"errcode": 0, "errmsg": "ok"}
 
  错误时的JSON数据包示例(该示例为AppID无效错误):
 
  {"errcode":40013,"errmsg":"invalid appid"}
 
使用接口调试工具测试分组的各种操作
 
  腾讯已经提供了用于对分组的创建、删除、修改、查询和移动的微信公众平台接口调试工具,用这个工具我们可以调试测试各种分组操作。
 
  微信公众平台接口调试工具:http://mp.weixin.qq.com/debug/
 
  因为,分组的各种操作都基本一样,所以,我们只讲“创建分组”这一个例子来演示如何使用这个接口测试工具,其它操作删除、查询、修改和移动分组,跟创建分组方法完全一样。
 
使用接口工具创建分组方法
 
  1)打开上面的链接,然后,在“接口类型”后面选择“用户管理”(因为,分组的操作就在这一个大类里面);在“接口列表”里面选择“创建分组接口/groups/create”选项,如下图所示:
 
接口调试工具
 
  2)填写access_token:填写您的微信公众账号里面的生成的access_token(根据公众号时面的appid和appsecret生成的)。
 
  我的access_token是:
 
Tr2nwAQBdFLdkM9ZDR2Uj7vlIVlZL81ZEbISfxFen9UxvrFKiFOwzW2rz94QYD0K4YauSOtyVefHmxAx41tqfkX2nZi71i_h3z6-2BP2vQGfgOfvyXCJjHqmdNls9eokYVSbACAIFC
 
 
  3)填写body:这个body内容就是腾讯提供给我们各种分组操作里面的post数据。
 
  假设我们创建一个分组名称为“php”,那么,json数据为:{"group":{"name":"php"}}
 
  把这个json数据填写到body里面。
 
  然后,点击“查询问题”后就可以创建一个分组php如下图所示:
 
 
 
这样便创建了一个分组名为php,分组的id为100的分组了。

标签: 微信
顶一下
(0)
0%
踩一下
(0)
0%

Google提供的广告