
阿升
2022/07/08阅读:13主题:默认主题
微信公众号接口权限解释--对话服务和功能服务
对微信公众号二次开发,必然会用到微信公众号内置的接口服务。微信公众号接口服务[1]包括对话服务,功能服务和网页服务。对话服务包括基础支持、接收消息、发送消息、用户管理、推广支持、界面丰富和素材管理7个部分。功能服务包括智能接口、多客服、微信支付、微信小店、微信卡包和设备功能6个部分。网页服务包括网页授权、基础接口、分享接口、图像接口、音频接口、智能接口、设备信息、地理位置、界面操作、微信扫一扫、微信小店、微信卡券和微信支付13个部分。
一.对话服务

1.基础支持
(1)获取access_token
access_token是公众号的全局唯一接口调用凭据,有效期目前为2个小时,需定时刷新,重复获取将导致上次获取的access_token失效。接口调用请求说明:
https请求方式: GET https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET
(2)获取微信服务器IP地址
获取微信API接口IP地址,接口调用请求说明:
http请求方式: GET https://api.weixin.qq.com/cgi-bin/get_api_domain_ip?access_token=ACCESS_TOKEN
获取微信callback IP地址,接口调用请求说明:
http请求方式: GET https://api.weixin.qq.com/cgi-bin/getcallbackip?access_token=ACCESS_TOKEN
2.接收消息
(1)验证消息真实性
当普通微信用户向公众账号发消息时,微信服务器将POST消息的XML数据包到开发者填写的URL上。包括包括文本消息、图片消息、语音消息、视频消息、小视频消息、地理位置消息和链接消息。
(2)接收普通消息
同上(1)。
(3)接收事件推送
常见事件类型包括:关注/取消关注事件;扫描带参数二维码事件;上报地理位置事件;自定义菜单事件;点击菜单拉取消息时的事件推送;点击菜单跳转链接时的事件推送。
(4)接收语音识别结果
默认是关闭的,当开启后,用户发送给公众号的语音消息,将附带识别结果。
3.发送消息
(1)自动回复
回复消息类型包括:回复文本消息;回复图片消息;回复语音消息;回复视频消息;回复音乐消息;回复图文消息。
(2)客服接口
每个公众号最多添加100个客服账号,添加客服帐号接口调用请求如下:
http请求方式: POST https://api.weixin.qq.com/customservice/kfaccount/add?access_token=ACCESS_TOKEN
修改客服帐号接口调用请求如下:
http请求方式: POST https://api.weixin.qq.com/customservice/kfaccount/update?access_token=ACCESS_TOKEN
删除客服帐号接口调用请求如下:
http请求方式: POST https://api.weixin.qq.com/customservice/kfaccount/del?access_token=ACCESS_TOKEN
设置客服帐号的头像接口调用请求如下:
http请求方式: POST / FORM https://api.weixin.qq.com/customservice/kfaccount/uploadheadimg?access_token=ACCESS_TOKEN&kf_account=KFACCOUNT
获取所有客服账号接口调用请求如下:
http请求方式: GET https://api.weixin.qq.com/cgi-bin/customservice/getkflist?access_token=ACCESS_TOKEN
客服接口 - 发消息接口调用请求说明:
http请求方式: POST https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=ACCESS_TOKEN
客服输入状态接口调用请求说明:
http请求方式: POST https://api.weixin.qq.com/cgi-bin/message/custom/typing?access_token=ACCESS_TOKEN
(3)群发接口
公众号是以微信用户的一个联系人形式存在的,消息会话是公众号与用户交互的基础。目前公众号内主要有这样几类消息服务的类型,分别用于不同的场景:
-
群发消息:公众号可以以一定频次[订阅号为每天1次,服务号为每月4次],向用户群发消息,包括文字消息、图文消息、图片、视频、语音等。 -
被动回复消息:在用户给公众号发消息后,微信服务器会将消息发到开发者预先在开发者中心设置的服务器地址,公众号可以在5秒内做出回复,可以回复一个消息,也可以回复命令告诉微信服务器这条消息暂不回复。 -
客服消息:用户在公众号内发消息/触发特定行为后,公众号可以给用户发消息。 -
模板消息:在需要对用户发送服务通知[如刷卡提醒、服务预约成功通知等]时,公众号可以用特定内容模板,主动向用户发送消息。
(4)模板消息(业务通知)
模板消息仅用于公众号向用户发送重要的服务通知,只能用于符合其要求的服务场景中,如信用卡刷卡通知,商品购买成功通知等。不支持广告等营销类消息以及其它所有可能对用户造成骚扰的消息。
设置所属行业接口调用请求说明:
http请求方式: POST https://api.weixin.qq.com/cgi-bin/template/api_set_industry?access_token=ACCESS_TOKEN
获取设置的行业信息接口调用请求说明:
http请求方式:GET https://api.weixin.qq.com/cgi-bin/template/get_industry?access_token=ACCESS_TOKEN
获得模板ID接口调用请求说明:
http请求方式: POST https://api.weixin.qq.com/cgi-bin/template/api_add_template?access_token=ACCESS_TOKEN
获取模板列表接口调用请求说明:
http请求方式:GET https://api.weixin.qq.com/cgi-bin/template/get_all_private_template?access_token=ACCESS_TOKEN
删除模板接口调用请求说明:
http请求方式:POST https://api.weixin.qq.com/cgi-bin/template/del_private_template?access_token=ACCESS_TOKEN
发送模板消息接口调用请求说明:
http请求方式: POST https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=ACCESS_TOKEN
在模版消息发送任务完成后,微信服务器会将是否送达成功作为通知,发送到开发者中心中填写的服务器配置地址中。或者送达成功,或者用户拒收,或者其它原因失败。
(5)一次性订阅消息
需要用户同意授权,获取一次给用户推送一条订阅模板消息的机会。引导用户在微信客户端打开如下链接:
https://mp.weixin.qq.com/mp/subscribemsg?action=get_confirm&appid=wxaba38c7f163da69b&scene=1000&template_id=1uDxHNXwYQfBmXOfPJcjAS3FynHArD8aWMEFNRGSbCc&redirect_url=http%3a%2f%2fsupport.qq.com&reserved=test#wechat_redirect
如果用户点击同意或取消授权,页面将跳转至:
redirect_url/?openid=OPENID&template_id=TEMPLATE_ID&action=ACTION&scene=SCENE
通过API推送订阅模板消息给到授权微信用户接口请求说明:
https://api.weixin.qq.com/cgi-bin/message/template/subscribe?access_token=ACCESS_TOKEN
4.用户管理
(1)用户标签管理
开发者可以使用用户标签管理的相关接口,实现对公众号的标签进行创建、查询、修改、删除等操作,也可以对用户进行打标签、取消标签等操作。一个公众号,最多可以创建100个标签。标签功能目前支持公众号为用户打上最多20个标签。
创建标签接口调用请求说明:
http请求方式:POST(请使用 https 协议) https://api.weixin.qq.com/cgi-bin/tags/create?access_token=ACCESS_TOKEN
获取公众号已创建的标签接口调用请求说明:
http请求方式:GET(请使用 https 协议) https://api.weixin.qq.com/cgi-bin/tags/get?access_token=ACCESS_TOKEN
编辑标签接口调用请求说明:
http请求方式:POST(请使用 https 协议) https://api.weixin.qq.com/cgi-bin/tags/update?access_token=ACCESS_TOKEN
删除标签接口调用请求说明:
http请求方式:POST(请使用 https 协议) https://api.weixin.qq.com/cgi-bin/tags/delete?access_token=ACCESS_TOKEN
获取标签下粉丝列表接口调用请求说明:
http请求方式:POST(请使用 https 协议) https://api.weixin.qq.com/cgi-bin/user/tag/get?access_token=ACCESS_TOKEN
批量为用户打标签接口调用请求说明:
http请求方式:POST(请使用 https 协议) https://api.weixin.qq.com/cgi-bin/tags/members/batchtagging?access_token=ACCESS_TOKEN
批量为用户取消标签接口调用请求说明:
http请求方式:POST(请使用 https 协议) https://api.weixin.qq.com/cgi-bin/tags/members/batchuntagging?access_token=ACCESS_TOKEN
获取用户身上的标签列表接口调用请求说明:
http请求方式:POST(请使用 https 协议) https://api.weixin.qq.com/cgi-bin/tags/getidlist?access_token=ACCESS_TOKEN
(2)设置用户备注名
开发者可以通过该接口对指定用户设置备注名,该接口暂时开放给微信认证的服务号。接口调用请求说明:
http请求方式: POST(请使用 https 协议) https://api.weixin.qq.com/cgi-bin/user/info/updateremark?access_token=ACCESS_TOKEN
(3)获取用户基本信息
获取用户基本信息[包括UnionID机制]接口调用请求说明:
http请求方式: GET https://api.weixin.qq.com/cgi-bin/user/info?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN
批量获取用户基本信息,接口调用请求说明:
http请求方式: POST https://api.weixin.qq.com/cgi-bin/user/info/batchget?access_token=ACCESS_TOKEN
(4)获取用户列表
一次拉取调用最多拉取10000个关注者的OpenID,可以通过多次拉取的方式来满足需求。获取用户列表接口调用请求说明:
http请求方式: GET(请使用https协议)
https://api.weixin.qq.com/cgi-bin/user/get?access_token=ACCESS_TOKEN&next_openid=NEXT_OPENID
(5)获取用户地理位置
默认是关闭的,有两种获取地理位置的模式:用户进行对话时上报一次;用户进行对话后每隔5s上报一次。
5.推广支持
(1)生成带参数的二维码
获取带参数的二维码的过程包括两步,首先创建二维码ticket,然后凭借ticket到指定URL换取二维码。临时二维码请求说明:
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"}}}
获取二维码ticket后,开发者可用ticket换取二维码图片。请求说明:
HTTP GET请求(请使用 https 协议)https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=TICKET
(2)长链接转短链接接口
2021年03月15日后将停止该接口生成短链能力。
6.界面丰富
(1)自定义菜单
自定义菜单最多包括3个一级菜单,每个一级菜单最多包含5个二级菜单。接口调用请求说明:
http请求方式:POST(请使用 https 协议) https://api.weixin.qq.com/cgi-bin/menu/create?access_token=ACCESS_TOKEN
(2)个性化菜单
个性化菜单就是可以让公众号的不同用户群体看到不一样的自定义菜单。该接口开放给已认证订阅号和已认证服务号。通过什么条件来设置用户看到的菜单呢?用户标签和手机操作系统。
创建个性化菜单,接口调用请求说明:
http请求方式:POST(请使用https协议)
https://api.weixin.qq.com/cgi-bin/menu/addconditional?access_token=ACCESS_TOKEN
删除个性化菜单,接口调用请求说明:
http请求方式:POST(请使用https协议)
https://api.weixin.qq.com/cgi-bin/menu/delconditional?access_token=ACCESS_TOKEN
测试个性化菜单匹配结果,接口调用请求说明:
http请求方式:POST(请使用https协议)
https://api.weixin.qq.com/cgi-bin/menu/trymatch?access_token=ACCESS_TOKEN
其中,使用普通自定义菜单查询接口可以获取默认菜单和全部个性化菜单信息,使用普通自定义菜单删除接口可以删除所有自定义菜单[包括默认菜单和全部个性化菜单]。
7.素材管理
(1)永久素材管理接口
上传图文消息内的图片获取URL,接口调用请求说明:
http请求方式: POST,https协议 https://api.weixin.qq.com/cgi-bin/media/uploadimg?access_token=ACCESS_TOKEN 调用示例(使用curl命令,用FORM表单方式上传一个图片):curl -F media=@test.jpg "https://api.weixin.qq.com/cgi-bin/media/uploadimg?access_token=ACCESS_TOKEN"
新增其他类型永久素材,接口调用请求说明:
http请求方式: POST,需使用https https://api.weixin.qq.com/cgi-bin/material/add_material?access_token=ACCESS_TOKEN&type=TYPE 调用示例(使用curl命令,用FORM表单方式新增一个其它类型的永久素材)
(2)临时素材管理接口
新增临时素材,接口调用请求说明:
http请求方式:POST/FORM,使用https https://api.weixin.qq.com/cgi-bin/media/upload?access_token=ACCESS_TOKEN&type=TYPE 调用示例(使用curl命令,用FORM表单方式上传一个多媒体文件):curl -F media=@test.jpg "https://api.weixin.qq.com/cgi-bin/media/upload?access_token=ACCESS_TOKEN&type=TYPE"
二.功能服务

1.智能接口
(1)语义理解接口
微信NP原子服务,提供多项智能文本处理能力,包括词法分析、情感分析、机器翻译、新闻摘要、文章分类、闲聊服务、敏感内容检测、相似问题推荐、句子相似度计算、判断是否为问题、数字日期时间识别、智能对话服务等。
2.多客服
(1)获取客服聊天记录
没有对应介绍说明。
(2)客服管理
获取客服基本信息调用说明:
http请求方式: GET https://api.weixin.qq.com/cgi-bin/customservice/getkflist?access_token=ACCESS_TOKEN
添加客服帐号调用说明:
http请求方式: POST https://api.weixin.qq.com/customservice/kfaccount/add?access_token=ACCESS_TOKEN POST数据示例如下:
{
"kf_account" : "test1@test",
"nickname" : "客服1"
}
邀请绑定客服帐号调用说明:
http请求方式: POST https://api.weixin.qq.com/customservice/kfaccount/inviteworker?access_token=ACCESS_TOKEN POST数据示例如下:
{
"kf_account" : "test1@test",
"invite_wx" : "test_kfwx"
}
设置客服信息调用说明:
http请求方式: POST https://api.weixin.qq.com/customservice/kfaccount/update?access_token=ACCESS_TOKEN POST数据示例如下:
{
"kf_account" : "test1@test",
"nickname" : "客服1"
}
上传客服头像调用说明:
http请求方式: POST/FORM https://api.weixin.qq.com/customservice/kfaccount/uploadheadimg?access_token=ACCESS_TOKEN&kf_account=KFACCOUNT
调用示例(使用 curl 命令,用 FORM 表单方式上传一个多媒体文件):curl -F media=@test.jpg "https://api.weixin.qq.com/customservice/kfaccount/uploadheadimg?access_token=ACCESS_TOKEN&kf_account=KFACCOUNT"
删除客服帐号调用说明:
http请求方式: GET https://api.weixin.qq.com/customservice/kfaccount/del?access_token=ACCESS_TOKEN&kf_account=KFACCOUNT
(3)会话控制
创建会话调用说明:
http请求方式: POST https://api.weixin.qq.com/customservice/kfsession/create?access_token=ACCESS_TOKEN
POST数据示例如下:
{
"kf_account" : "test1@test",
"openid" : "OPENID"
}
关闭会话调用说明:
http请求方式: POST https: //api.weixin.qq.com/customservice/kfsession/close?access_token=ACCESS_TOKEN
POST数据示例如下:
{
"kf_account":"test1@test" ,
"openid": "OPENID"
}
获取客户会话状态调用说明:
http请求方式: GET https://api.weixin.qq.com/customservice/kfsession/getsession?access_token=ACCESS_TOKEN&openid=OPENID
获取客服会话列表调用说明:
http请求方式: GET https://api.weixin.qq.com/customservice/kfsession/getsessionlist?access_token=ACCESS_TOKEN&kf_account=KFACCOUNT
获取未接入会话列表调用说明:
http请求方式: GET https://api.weixin.qq.com/customservice/kfsession/getwaitcase?access_token=ACCESS_TOKEN
3.微信支付
(1)微信支付接口
微信支付分为普通商户版,服务商版,银行服务商版,参考文献[1]。
4.微信小店
(1)微信小店接口
微信小店功能已于2020年9月17日24时下线,自2020年9月3日24时起用户已无法下单。同时推出微信小商店,无需开发,可一键生成微信小商店。参考文献[2]。
5.微信卡包
(1)微信卡包接口
卡券功能,是提供给商户或第三方的一套派发优惠券,经营管理会员的工具,可在公众平台或通过接口创建卡券,多种渠道投放给用户,用户用券时需核销卡券,核销后可查看数据、进行对账。主要能力包括朋友共享的优惠券、普通优惠券、会员卡、微信买单、储值功能、第三方代制模式。
6.设备功能
(1)设备功能接口
设备功能是微信提供的连接人与物的方案,建立在微信硬件平台之上。产品接入后能做什么:
-
接入微信运动,设备可以向微信上报步数,厂商公众号可以拉入步数排行榜 -
通过公众号常规接口向设备发送微信消息,语音,文字,图片等 -
通过硬件设备数据接口向设备发送控制指令,获取设备状态等 -
用户可以转发微信朋友圈,聊天界面的图片,文档,地图位置给设备 -
访客加入家庭Wi-Fi时,如果与路由器主人是微信好友,即可快速加入 -
通过公众号下发消息通知,提醒,告警等 -
使用微信快速为Wi-Fi设备配置家庭网络 -
在用户首次使用设备时提供引导说明
参考文献:
[1]微信支付开发文档:https://pay.weixin.qq.com/wiki/doc/api/index.html
[2]微信小商店:https://developers.weixin.qq.com/doc/ministore/minishopquickstart/introduction.html
[3]测试号管理体验接口权限表:https://mp.weixin.qq.com/debug/cgi-bin/sandboxinfo?action=showinfo&t=sandbox/index
人工智能干货推荐 专注于人工智能领域的技术分享
游戏元宇宙 专注于游戏领域的技术分享
作者介绍

阿升
吾爱DotNet(公众号)