微信认证接口文档 v1.1
第一章简介 RippleTek 微信认证服务 API 为开发者提供 HTTP 接口, 即开发者可通过发起包含 JSON 数据的 HTTP POST 请求, 向 RippleTek 微信认证服务器申请特定操作 ( 认证 URL 上网验证码 取消认证和查询用户 OPENID) 开发者可以使用此套 API 定制开发基于 RippleTek 热点解决方案的微信认证管理
第二章获取认证链接 2.1 适用场景 开发者可通过该方法获取认证 URL, 执行此 URL 可以完成用户在微信中认证, 开通上网权限 2.2 服务地址 http://wx.rippletek.com/portal/wx/get_auth_url 2.3 接口参数 输入参数 : 参数名称参数类型参数描述或者可选 api_id 请求认证 URL 的用户号 只能包含小写英文字符 及数字, 长度为 16 个字符 关于 api_id 和 api_key 的申请, 请参见附录 II api_key 请求认证 URL 的用户密钥 只能包含小写英文字 符及数字, 长度为 32 个字符 关于 api_id 和 api_key 的申请, 请参见附录 II node 整数 需要认证节点的节点号 可通过节点查看看到自 (Integer) 定义页面的节点号, 还可通过节点配置 API 获取 openid 需要认证的微信用户 OPENID 注 :1. 如果请求中包含任何上表中未列出的参数, 这些未定义的参数将被 RippleTek 微信 认证服务器忽略
2. 项不能为 null 输出参数 : 参数名称参数类型参数说明 status 整数 (Integer) 如果获取认证 URL 成功, 返回 0; 否则返回一个非零错误 代码 关于错误代码与错误信息的定义请参看附录 I auth_url 如果获取认证 URL 成功, 返回认证 URL, 在对应节点的路 由器下可以认证成功,URL 有效期 10 分钟, 之后 URL 失效, 若使用则会认证失败 如果获取认证 URL 失败, 则回复中不包含此参数 err_msg 如果获取认证 URL 失败, 此参数包含关于错误信息的详细描 述, 关于错误代码与错误信息的定义请参看附录 I 如果获取认证 URL 成功, 则回复中不包含此参数 2.4 接口示例 请求示例 : POST http://wx.rippletek.com/portal/wx/get_auth_url { "api_id":"sjl7ufzuqcblcfdn", "api_key":"7jceafuxrrxi95hz/v2r7jmez3azfdsj", "node": 12345, "openid":"ojzpgjhxbwch_svrbql2axmjs-ym" } 操作成功回复示例 :
{"status":0,"auth_url":"http://service.rippletek.com/portal/wx/wechat_login/nodeid /4543/token/m4033926869"} 操作失败回复示例 : {"status":-1,"err_msg":"bad request! Please validate the JSON format of your request."}
第三章获取上网验证码 3.1 适用场景 开发者可通过该方法获取上网验证码, 在未开通微信的电脑上可以通过输入验证码完成认证上网 3.2 服务地址 http://wx.rippletek.com/portal/wx/get_auth_token 3.3 接口参数 输入参数 : 参数名称参数类型参数描述或者可选 api_id 请求认证 URL 的用户号 只能包含小写英文字符 及数字, 长度为 16 个字符 关于 api_id 和 api_key 的申请, 请参见附录 II api_key 请求认证 URL 的用户密钥 只能包含小写英文字 符及数字, 长度为 32 个字符 关于 api_id 和 api_key 的申请, 请参见附录 II node 整数 需要认证节点的节点号 可通过节点查看看到自 (Integer) 定义页面的节点号, 还可通过节点配置 API 获取 openid 若传入微信用户 OPENID, 在调用取消认证时候, 可选 通过此用户获取验证码的电脑也会断网 若未传 入, 使用验证码的电脑不会断网 注 :1. 如果请求中包含任何上表中未列出的参数, 这些未定义的参数将被 RippleTek 微信
认证服务器忽略 2. 项不能为 null 输出参数 : 参数名称参数类型参数说明 status 整数 (Integer) 如果获取上网验证码成功, 返回 0; 否则返回一个非零错 误代码 关于错误代码与错误信息的定义请参看附录 I auth_token 整数 (Integer) 如果获取上网验证码成功, 返回上网验证码, 在对应节点 的路由器下可以认证成功, 验证码有效期 10 分钟, 之后 验证码失效, 若使用则会认证失败 如果获取上网验证码失败, 则回复中不包含此参数 err_msg 如果获取上网验证码失败, 此参数包含关于错误信息的详 细描述, 关于错误代码与错误信息的定义请参看附录 I 如果获取上网验证码成功, 则回复中不包含此参数 3.4 接口示例 请求示例 1: POST http://wx.rippletek.com/portal/wx/get_auth_token { "api_id":"sjl7ufzuqcblcfdn", "api_key":"7jceafuxrrxi95hz/v2r7jmez3azfdsj", "node": 12345, "openid":"ojzpgjhxbwch_svrbql2axmjs-ym" }
请求示例 2: POST http://wx.rippletek.com/portal/wx/get_auth_token { "api_id":"sjl7ufzuqcblcfdn", "api_key":"7jceafuxrrxi95hz/v2r7jmez3azfdsj", "node": 12345 } 操作成功回复示例 : {"status":0,"auth_token":5007} 操作失败回复示例 : {"status":-1,"err_msg":"bad request! Please validate the JSON format of your request."}
第四章取消认证 4.1 适用场景 开发者可通过该方法取消特定用户上网权限, 可使其断网重新认证 4.2 服务地址 http://wx.rippletek.com/portal/wx/unauth_user 4.3 接口参数 输入参数 : 参数名称参数类型参数描述或者可选 api_id 请求取消认证的用户号 只能包含小写英文字符 及数字, 长度为 16 个字符 关于 api_id 和 api_key 的申请, 请参见附录 II api_key 请求取消认证的用户密钥 只能包含小写英文字 符及数字, 长度为 32 个字符 关于 api_id 和 api_key 的申请, 请参见附录 II node 整数 需要取消认证的节点号 可通过节点查看看到自 (Integer) 定义页面的节点号, 还可通过节点配置 API 获取 openid 需要取消认证的微信用户 OPENID 注 :1. 如果请求中包含任何上表中未列出的参数, 这些未定义的参数将被 RippleTek 微信 认证服务器忽略
2. 项不能为 null 输出参数 : 参数名称参数类型参数说明 status 整数 (Integer) 如果取消认证成功, 返回 0; 否则返回一个非零错误代码 关于错误代码与错误信息的定义请参看附录 I msg 如果取消认证成功, 返回取消成功提示 如果取消认证失败, 则回复中不包含此参数 err_msg 如果取消认证失败, 此参数包含关于错误信息的详细描述, 关于错误代码与错误信息的定义请参看附录 I 如果取消认证成功, 则回复中不包含此参数 4.4 接口示例 请求示例 : POST http://wx.rippletek.com/portal/wx/unauth_user { "api_id":"sjl7ufzuqcblcfdn", "api_key":"7jceafuxrrxi95hz/v2r7jmez3azfdsj", "node": 12345, "openid":"ojzpgjhxbwch_svrbql2axmjs-ym" } 操作成功回复示例 : {"status":0,"msg":"unauth success"} 操作失败回复示例 :
{"status":-1,"err_msg":"bad request! Please validate the JSON format of your request."}
第五章获取 OPENID 5.1 适用场景 开发者可通过该方法获取对应 MAC 地址终端的微信 OPENID 5.2 服务地址 http://wx.rippletek.com/portal/wx/get_openid_by_mac 5.3 接口参数 输入参数 : 参数名称参数类型参数描述或者可选 api_id 请求获取 OPENID 的用户号 只能包含小写英文 字符及数字, 长度为 16 个字符 关于 api_id 和 api_key 的申请, 请参见附录 II api_key 请求获取 OPENID 的用户密钥 只能包含小写英 文字符及数字, 长度为 32 个字符 关于 api_id 和 api_key 的申请, 请参见附录 II node 整数 需要获取 OPENID 的节点号 可通过节点查看看 (Integer) 到自定义页面的节点号, 还可通过节点配置 API 获取 mac 需要获取 OPENID 的终端 MAC 地址 注 :1. 如果请求中包含任何上表中未列出的参数, 这些未定义的参数将被 RippleTek 微信 认证服务器忽略
2. 项不能为 null 3.mac 地址长度为 17 位, 十六进制字符间以 : 分隔 输出参数 : 参数名称参数类型参数说明 status 整数 (Integer) 如果获取成功, 返回 0; 否则返回一个非零错误代码 关于 错误代码与错误信息的定义请参看附录 I openid 如果获取成功, 返回用户的 OPENID 如果获取失败, 则回复中不包含此参数 err_msg 如果获取失败, 此参数包含关于错误信息的详细描述, 关于 错误代码与错误信息的定义请参看附录 I 如果获取成功, 则回复中不包含此参数 5.4 接口示例 请求示例 : POST http://wx.rippletek.com/portal/wx/get_openid_by_mac { "api_id":"sjl7ufzuqcblcfdn", "api_key":"7jceafuxrrxi95hz/v2r7jmez3azfdsj", "node": 12345, "mac":"14:10:9f:37:90:d0" } 操作成功回复示例 : {"status":0,"openid":"ojzpgjhxbwch_svrbql2axmjs-ym"}
操作失败回复示例 : {"status":-1,"err_msg":"bad request! Please validate the JSON format of your request."}
附录 I: 错误代码及相应消息定义 错误代码 (status) 错误信息 (err_msg) 错误描述 -1 Bad request! Please 用户请求的格式错误导致服 validate the JSON format 务器不能识别用户的请求, 例 of your request. 如传入了非 JSON 格式的数 据或者 JSON 格式错误等 -2 One or more mandatory 用户的输入参数中缺少 fields are missing from 的参数 the request. -3 Parameter value in 用户的输入参数格式没有满 erroneous format. 足参数列表中对参数的要求, 例如参数类型或字符长度限 制或者数字范围限制等 -4 An internal error has 服务器内部错误 occurred, please have a try in a moment.. -5 The node <node-id> that 用户请求的节点并不存在 you have requested cannot be found. -6 Your api_id and api_key 用户提供的 <api_id, are missing or incorrect. api_key> 不存在, 不匹配或 者并无权限进行操作
-7 mac not found 使用获取 OPENID 接口时 候, 对应的 mac 地址不存在 或者无对应的 OPENID
附录 II: 申请微信认证 api_id 和 api_key 请使用您的 RippleTek 云端管理平台的 API 申请 进行申请, 管理员会在一个工作日之内把审核结果反馈