公众平台开发者文档
1 新手接入 1
1,1 接入指南 1
1.2 开发者规范 2
2 基础支持 3
2.1 获取access_token 3
2.2 全局返回码说明 4
2.3 接口频率限制说明 7
2.4 上传下载多媒体文件 9
1 新手接入
1,1 接入指南
第一步:申请消息接口
在公众平台网站的高级功能 – 开发模式页,点击“成为开发者”按钮,填写URL和Token,其中URL是开发者用来接收服务器数据的接口URL。Token可由开发者任意填写,用作生成签名(该Token会和接口URL中包含的Token进行比对,从而验证安全性)。
第二步:验证URL有效性
开发者提交信息后,服务器将发送GET请求到填写的URL上,GET请求携带四个参数:
开发者通过检验signature对请求进行校验(下面有校验方式)。若确认此次GET请求来自服务器,请原样返回echostr参数内容,则接入生效,成为开发者成功,否则接入失败。
检验signature的PHP示例代码:
第三步:成为开发者
验证URL有效性成功后即接入生效,成为开发者。如果类型为服务号(只能使用普通消息接口),可以在公众平台网站中申请认证,认证成功的服务号将获得众多接口权限,以满足开发者需求。
此后用户每次向发送消息、或者产生自定义菜单点击事件时,响应URL将得到推送。
调用各接口时,一般会获得正确的结果,具体结果可见对应接口的说明。返回错误时,可根据返回码来查询错误原因。全局返回码说明
用户向发送消息时,方收到的消息发送者是一个OpenID,是使用用户号加密后的结果,每个用户对每个有一个唯一的OpenID。
此外请注意,接口只支持80接口。
1.2 开发者规范
开发者进行开发时,除了需要满足每个接口的规范限制、调用频率限制外,还需特别注意模版消息、用户数据等敏感信息的使用规范。
涉及用户数据时:
∙ 您的服务需要收集用户任何数据的,必须事先获得用户的明确同意,且仅应当收集为运营及功能实现目的而必要的用户数据, 同时应当告知用户相关数据收集的目的、范围及使用方式等,保障用户知情权。
∙ 您收集用户的数据后,必须采取必要的保护措施,防止用户数据被盗、泄漏等。
∙ 您在特定中收集的用户数据仅可以在该特定中使用,不得将其使用在该特定之外或为其他任何目的进行使用,也不得以任何方式将其提供给他人。
∙ 如果腾讯认为您收集、使用用户数据的方式,可能损害用户体验,腾讯有权要求您删除相关数据并不得再以该方式收集、使用用户数据。
∙ 一旦您停止使用本服务,或腾讯基于任何原因终止您使用本服务,您必须立即删除全部因使用本服务而获得的数据(包括各种备份), 且不得再以任何方式进行使用。
其他规范:
∙ 请勿为任何用户自动登录到公众平台提供代理身份验证凭据。
∙ 请勿提供跟踪功能,包括但不限于识别其他用户在个人主页上查看、点击等操作行为。
∙ 请勿自动将浏览器窗口定向到其他网页。
∙ 请勿设置或发布任何违反相关法规、公序良俗、社会公德等的玩法、内容等。
∙ 请勿公开表达或暗示,您与腾讯之间存在合作关系,包括但不限于相互持股、商业往来或合作关系等,或声称腾讯对您的认可。
完整的开发者规范和接口限制,请详见开发者接口文档,以及腾讯公众平台开发者协议。
2 基础支持
2.1 获取access_token
access_token是的全局唯一票据,调用各接口时都需使用access_token。正常情况下access_token有效期为7200秒,重复获取将导致上次获取的access_token失效。由于获取access_token的api调用次数非常有限,建议开发者全局存储与更新access_token,频繁刷新access_token会导致api调用受限,影响自身业务。
请开发者注意,由于技术升级,公众平台的开发接口的access_token长度将增长,其存储至少要保留512个字符空间。此修改将在1个月后生效,请开发者尽快修改兼容。
可以使用AppID和AppSecret调用本接口来获取access_token。AppID和AppSecret可在开发模式中获得(需要已经成为开发者,且帐号没有异常状态)。注意调用所有接口时均需使用https协议。
接口调用请求说明:
http请求方式:GET
api.weixin.qq/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET
参数说明
返回说明
正常情况下,会返回下述JSON数据包给
错误时会返回错误码等信息,JSON数据包示例如下(该示例为AppID无效错误):
2.2 全局返回码说明
每次调用接口时,可能获得正确或错误的返回码,开发者可以根据返回码信息调试接口,排查错误。
全局返回码说明如下:
返回码 | 说明 |
-1 | 系统繁忙 |
0 | 请求成功 |
40001 | 获取access_token时AppSecret错误,或者access_token无效 |
40002 | 不合法的凭证类型 |
40003 | 不合法的OpenID |
40004 | 不合法的媒体文件类型 |
40005 | 不合法的文件类型 |
40006 | 不合法的文件大小 |
40007 | 不合法的媒体文件id |
40008 | 不合法的消息类型 |
40009 | 不合法的图片文件大小 |
40010 | 不合法的语音文件大小 |
40011 | 不合法的视频文件大小 |
40012 | 不合法的缩略图文件大小 |
40013 | 不合法的APPID |
40014 | 不合法的access_token |
40015 | 不合法的菜单类型 |
40016 | 不合法的按钮个数 |
40017 | 不合法的按钮个数 |
40018 | 不合法的按钮名字长度 |
40019 | 不合法的按钮KEY长度 |
40020 | 不合法的按钮URL长度 |
40021 | 不合法的菜单版本号 |
40022 | 不合法的子菜单级数 |
40023 | 不合法的子菜单按钮个数 |
40024 | 不合法的子菜单按钮类型 |
40025 | 不合法的子菜单按钮名字长度 |
40026 | 不合法的子菜单按钮KEY长度 |
40027 | 不合法的子菜单按钮URL长度 |
40028 | 不合法的自定义菜单使用用户 |
40029 | 不合法的oauth_code |
40030 | 不合法的refresh_token |
40031 | 不合法的openid列表 |
40032 | 不合法的openid列表长度 |
40033 | 不合法的请求字符,不能包含\uxxxx格式的字符 |
40035 | 不合法的参数 |
40038 | 不合法的请求格式 |
40039 | 不合法的URL长度 |
40050 | 不合法的分组id |
40051 | 分组名字不合法 |
41001 | 缺少access_token参数 |
41002 | 缺少appid参数 |
41003 | 缺少refresh_token参数 |
41004 | 缺少secret参数 |
41005 | 缺少多媒体文件数据 |
41006 | 缺少media_id参数 |
41007 | 缺少子菜单数据 |
41008 | 缺少oauth code |
41009 | 缺少openid |
42001 | access_token超时 |
42002 | refresh_token超时 |
42003 | oauth_code超时 |
43001 | 需要GET请求 |
43002 | 需要POST请求 |
43003 | 需要HTTPS请求 |
43004 | 需要接收者关注 |
43005 | 需要好友关系 |
44001 | 多媒体文件为空 |
44002 | POST的数据包为空 |
44003 | 图文消息内容为空 |
44004 | 文本消息内容为空 |
45001 | 多媒体文件大小超过限制 |
45002 | 消息内容超过限制 |
45003 | 标题字段超过限制 |
45004 | 描述字段超过限制 |
45005 | 链接字段超过限制 |
45006 | 图片链接字段超过限制 |
45007 | 语音播放时间超过限制 |
45008 | 图文消息超过限制 |
45009 | 接口调用超过限制 |
45010 | 创建菜单个数超过限制 |
45015 | 回复时间超过限制 |
45016 | 系统分组,不允许修改 |
45017 | 分组名字过长 |
45018 | 分组数量超过上限 |
46001 | 不存在媒体数据 |
46002 | 不存在的菜单版本 |
46003 | 不存在的菜单数据 |
46004 | 不存在的用户 |
47001 | 解析JSON/XML内容错误 |
48001 | api功能未授权 |
50001 | 用户未授权该api |
2.3 接口频率限制说明
调用接口并不是无限制的。为了防止的程序错误而引发服务器负载异常,默认情况下,每个调用接口都不能超过一定限制,当超过一定限制时,调用对应接口会收到如下错误返回码:
各接口调用频率限制如下:
接口 | 每日限额 |
获取access_token | 2000 |
自定义菜单创建 | 1000 |
自定义菜单查询 | 10000 |
自定义菜单删除 | 1000 |
创建分组 | 1000 |
获取分组 | 1000 |
修改分组名 | 1000 |
移动用户分组 | 100000 |
上传多媒体文件 | 5000 |
下载多媒体文件 | 10000 |
发送客服消息 | 500000 |
高级发接口 | 100 |
上传图文消息接口 | 10 |
删除图文消息接口 | 10 |
获取带参数的二维码 | 100000 |
获取关注者列表 开发程序 | 500 |
获取用户基本信息 | 5000000 |
获取网页授权access_token | 无 |
刷新网页授权access_token | 无 |
网页授权获取用户信息 | 无 |
请注意,在测试号申请页中申请的测试号,接口调用频率限制如下:
接口 | 每日限额 |
获取access_token | 200 |
自定义菜单创建 | 100 |
自定义菜单查询 | 1000 |
自定义菜单删除 | 100 |
创建分组 | 100 |
获取分组 | 100 |
修改分组名 | 100 |
移动用户分组 | 1000 |
上传多媒体文件 | 500 |
下载多媒体文件 | 1000 |
发送客服消息 | 50000 |
获取带参数的二维码 | 10000 |
获取关注者列表 | 100 |
获取用户基本信息 | 500000 |
获取网页授权access_token | 无 |
刷新网页授权access_token | 无 |
网页授权获取用户信息 | 无 |
2.4 上传下载多媒体文件
在使用接口时,对多媒体文件、多媒体消息的获取和调用等操作,是通过media_id来进行的。通过本接口,可以上传或下载多媒体文件。但请注意,每个多媒体文件(media_id)会在上传、用户发送到服务器3天后自动删除,以节省服务器资源。
上传多媒体文件
可调用本接口来上传图片、语音、视频等文件到服务器,上传后服务器会返回对应的media_id,此后可根据该media_id来获取多媒体。请注意,media_id是可复用的,调用该接口需http协议。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论