标签 wifidog认证 下的文章

wifidog 认证 Wiwiz Setup API参考手册与接口规范

1. 功能描述
Wiwiz Setup API是Wiwiz HotSpot Builder提供的基于Web的外部开发接口。调用它可以用于查询热点信息,创建、修改、删除热点,查询、添加、删除电子招待券,查询、创建、修改、删除访问控制规则等。

2. 使用条件与准备工作

  1. 已拥有Wiwiz专业版账户。
  2. 查询Wiwiz账户的User Key。
    查询User Key的方法是:登录Wiwiz Web面板,点击“用户菜单”页面上的“升级选项”->“查询User Key”。

3. 调用概要
调用本API时,用户需向指定URL发送HTTP请求,发送请求时应根据接口规范指定参数(POST方式)。结果数据以HTTP响应的形式(XML格式)返回。

4. 共通说明

  1. 请求URL:
    所有的请求都必须发送至 http://cp.wiwiz.com/as/s/setupapi/
    所有的HTTP请求参数必须以HTTP POST的方式传送。
  2. 共通请求参数:
    所有的请求都必须包含以下HTTP请求参数:
    1.png

5. 接口规范
5.1. 查询热点基本信息
请求参数说明:
2.png

返回数据示例与说明:

<?xml version="1.0" encoding="UTF-8"?>
<result>
  <status>
        <!-- code: 调用结果状态码。
            值为OK代表调用成功;如果为以ERR开头的文字,则代表错误(*注1) -->
      <code>OK</code>
      <!-- message:  调用结果状态说明(供调试参考) -->
      <message>Operation Completed</message>
  </status>
  <data> <!-- 仅在code为OK时出现 -->
      <record> <!-- 每个record标签代表一条热点信息记录 -->
          <hotspot_id>1374085CF3C</hotspot_id> <!-- HotSpot ID -->
          <name>XXXXXX</name> <!-- 热点名称 -->
          <running_status>1</running_status> <!-- 认证接受状态。1代表接受认证,0代表拒绝认证 -->
      </record>
  </data>
</result>

5.2. 查询热点详细设置信息
请求参数说明:
3.png

返回数据示例与说明:

<?xml version="1.0" encoding="UTF-8"?>
<result>
    <status>
        <!-- code: 调用结果状态码。
            值为OK代表调用成功;如果为以ERR开头的文字,则代表错误 -->
        <code>OK</code>
        <!-- message:  调用结果状态说明(供调试参考) -->
        <message>Query Completed</message>
    </status>
<data> <!-- 仅在code为OK时出现 -->
        <name>XXXXXX</name> <!-- 热点名称-->
        <running_status>1</running_status> <!-- 认证接受状态。1代表接受认证,0代表拒绝认证 -->
        <location>XXXX</location> <!-- 地点/街道地址 -->
        <timezone>Etc/GMT-8</timezone> <!-- 所在时区 -->
        <longitude></longitude> <!-- 经度 -->
        <latitude></latitude> <!-- 纬度 -->
        <owner_name>XXXX</owner_name> <!-- 管理员姓名 -->
        <owner_contact>XXXX</owner_contact> <!-- 管理员联系方式 -->
        <auth_agree>0</auth_agree> <!-- 要求认同条款认证方式。1代表启用,0代表禁用 -->
        <auth_voucher>0</auth_voucher> <!-- 电子招待券认证方式。1代表启用,0代表禁用 -->
        <auth_login>1</auth_login> <!-- 要求登录认证方式。1代表启用,0代表禁用 -->
        <logintype>0</logintype> <!-- 0代表“Wiwiz.com注册用户”方式,1代表“自定义账户”方式 -->
        <single_login>0</single_login> <!-- 禁止同一用户同时使用多个客户端。1代表启用,0代表禁用 -->
        <auth_api>0</auth_api> <!-- 调用Wiwiz Auth API认证方式。1代表启用,0代表禁用 -->
        <authapi_url></authapi_url> <!-- 认证URL(Wiwiz Auth API) -->
        <auth_sms>0</auth_sms> <!-- 手机验证认证方式。1代表启用,0代表禁用 -->
        <phone_country></phone_country> <!-- 国家地区代码(手机验证) -->
        <phone_repeat_interval>1</phone_repeat_interval> <!-- 重复验证间隔(手机验证) -->
        <phone_valid_interval>30</phone_valid_interval> <!-- 验证码有效期(手机验证) -->
        <phone_resend>0</phone_resend> <!-- 允许验证码有效期内重发短信(手机验证)。1代表启用,0代表禁用 -->
        <phone_maxtimes>5</phone_maxtimes> <!-- 每号码每日限制次数(手机验证) -->
        <phone_onlyonce>0</phone_onlyonce> <!-- 验证码仅限使用一次(手机验证)。1代表启用,0代表禁用 -->
        <phone_blacklst></phone_blacklst> <!-- 手机号码黑名单(手机验证)。多个值以“;”字符间隔 -->
        <phone_magic_code></phone_magic_code> <!-- 万能验证码(手机验证)。多个值以“;”字符间隔 -->
        <timeout>10</timeout> <!-- 认证超时 -->
        <isfree>0</isfree> <!-- 认证是否收取费用。1代表收费,0代表免费 -->
        <fee_min></fee_min> <!-- 费率(每分钟) -->
        <fee_quarter></fee_quarter> <!-- 费率(每一刻钟/15分钟) -->
        <fee_halfhr></fee_halfhr> <!-- 费率(每30分钟)  -->
        <fee_hr></fee_hr> <!-- 费率(每小时) -->
        <fee_day></fee_day> <!-- 费率(每天)  -->
        <fee_week></fee_week> <!-- 费率(每周) -->
        <fee_month></fee_month> <!-- 费率(每月) -->
        <fee_year></fee_year> <!-- 费率(每年) -->
        <currency></currency> <!-- 币种 -->
        <trial_time>0</trial_time> <!-- 可试用时长(分钟) -->
        <trymac_chk>0</trymac_chk> <!-- 阻止同一MAC地址设备重复试用。1代表启用,0代表禁用 -->
        <whiteaddr></whiteaddr> <!-- 域名/IP地址白名单。多个值以“;”字符间隔 -->
        <blackaddr></blackaddr> <!-- 域名/IP地址黑名单。多个值以“;”字符间隔 -->
        <incoming_max></incoming_max> <!-- 每连接最大接收流量 -->
        <outgoing_max></outgoing_max> <!-- 每连接最大发送流量 -->
        <authpage_type>1</authpage_type> <!-- 认证页面类型。0: 自定义URL; 1~99: 默认认证页面; 9999: 自定义HTML -->
        <authpage_url></authpage_url> <!-- 自定义认证页面URL -->
        <authpage_html></authpage_html> <!-- 自定义HTML -->
        <postauthpage_type></postauthpage_type> <!-- 认证后页面类型。0: 自定义URL; 1: 默认页面; 9999: 自定义HTML -->
        <postauthpage_url></postauthpage_url> <!-- 自定义认证后页面URL -->
        <postauthpage_html></postauthpage_html> <!-- 自定义认证后页面HTML -->
    </data>
</result>

5.3 创建新热点
请求参数说明:
4.png

5.png

6.png

7.png

返回数据示例与说明:

<?xml version="1.0" encoding="UTF-8"?>
<result>
    <status>
        <!-- code: 调用结果状态码。
            值为OK代表调用成功;如果为以ERR开头的文字,则代表错误 -->
        <code>OK</code>
        <!-- message: 调用结果状态说明(供调试参考)-->
        <message>HotSpot Created</message>
    </status>
<data> <!-- 仅在code为OK时出现 -->
        <!-- 创建的热点的HotSpot ID -->
        <hotspot_id>14006BD8DC6</hotspot_id>
    </data>
</result>

5.4 修改热点设置
请求参数说明:
8.png

返回数据示例与说明:

<?xml version="1.0" encoding="UTF-8"?>
<result>
    <status>
        <!-- code: 调用结果状态码。
            值为OK代表调用成功;如果为以ERR开头的文字,则代表错误 -->
        <code>OK</code>
        <!-- message: 调用结果状态说明(供调试参考)-->
        <message>HotSpot Updated</message>
    </status>
</result>

5.5 删除热点
请求参数说明:
9.png

返回数据示例与说明:

<?xml version="1.0" encoding="UTF-8"?>
<result>
    <status>
        <!-- code: 调用结果状态码。
            值为OK代表调用成功;如果为以ERR开头的文字,则代表错误 -->
        <code>OK</code>
        <!-- message: 调用结果状态说明(供调试参考)-->
        <message>HotSpot Deleted</message>
    </status>
</result>

5.6 查询电子招待券
请求参数说明:
11.png

返回数据示例与说明:

<?xml version="1.0" encoding="UTF-8"?>
<result>
    <status>
        <!-- code: 调用结果状态码。
            值为OK代表调用成功;如果为以ERR开头的文字,则代表错误 -->
        <code>OK</code>
        <!-- message: 调用结果状态说明(供调试参考)-->
        <message>Operation Completed</message>
    </status>
    <data> <!-- 仅在code为OK时出现 -->
        <record> <!-- 每个record标签代表一条电子招待券记录 -->
            <voucher_id>9</voucher_id> <!-- 电子招待券的唯一存储标识 -->
            <voucher>123</voucher> <!-- 电子招待券文本。如果是多个电子招待券,则以“;”间隔 -->
            <onceonly>0</onceonly> <!-- 1代表仅可使用一次;0代表不限制;2代表仅可使用一次且已使用过 -->
            <minute>30</minute> <!-- 使用时长(分钟) -->
            <end_time></end_time> <!-- 截止时间 -->
            <expiretime></expiretime> <!-- 有效期 -->
            <client_num>0</client_num> <!-- 最大用户数。0代表不限制 -->
        </record>
    </data>
</result>

本文章由 http://www.wifidog.pro/2015/03/23/wifidog-wiwiz-setup-api.html 整理编辑,转载请注明出处

wifidog认证Wiwiz Query API参考手册与接口规范

功能描述
Wiwiz Query API是Wiwiz HotSpot Builder提供的基于Web的外部开发接口。调用它可以用于查询以下信息:

  1. 当前热点连接信息
  2. 热点的连接履历
  3. 热点使用者在使用热点认证时输入的手机号码

使用条件与要求
1.已拥有Wiwiz专业版账户。
2.查询Wiwiz账户的User Key(*注1)

调用概要
调用Wiwiz Query API时,用户需向指定URL发送HTTP请求,发送请求时应根据接口规范指定参数(GET或POST方式皆可)。查询的结果数据以HTTP响应的形式(XML格式)返回。

无报错情况下的HTTP响应数据的格式样例:

<?xml version="1.0" encoding="UTF-8"?>
<result>
    <status>
        <code>OK</code>
        <message>Query Completed</message>
    </status>
    <data>
        <record>
            ……
        </record>
        <record>
            ……
        </record>
        ……
    </data>
</result>

有报错情况下的HTTP响应数据的格式样例:

<?xml version="1.0" encoding="UTF-8"?>
<result>
    <status>
        <code>STATUS CODE</code>
        <message>STATUS CODE DESCIRPTION</message>
    </status>
    <data></data>
</result>

接口规范

  1. 查询当前热点连接信息

请求URL: http://cp.wiwiz.com/as/qapi/conn/

请求参数说明:

1.png

返回数据说明:

2.png

  1. 查询热点的连接履历

请求URL: http://cp.wiwiz.com/as/qapi/connlog/

请求参数说明:
3.png

返回数据说明:
4.png

  1. 查询热点使用者在使用热点认证时输入的手机号码

请求URL: http://cp.wiwiz.com/as/qapi/mobile/

请求参数说明:
5.png

返回数据说明:
6.png

注解
注1:User Key可在Wiwiz Web面板的“用户菜单”->“升级选项”->“查询User Key”中查询。

注2:状态码说明:
7.png

注3:国家地区代码的含义:
AR:阿根廷
AT:奥地利
AU:澳大利亚
BE:比利时
BR:巴西
CA:加拿大
CH:瑞士
CN:中国
DE:德国
DK:丹麦
ES:西班牙
FR:法国
GB:英国
HK:中国香港特别行政区
ID:印度尼西亚
IE:爱尔兰
IL:以色列
IN:印度
IT:意大利
JO:约旦
JP:日本
KR:韩国
KY:开曼群岛
LU:卢森堡
MO:中国澳门特别行政区
MX:墨西哥
MY:马来西亚
NL:荷兰
NO:挪威
NZ:新西兰
PH:菲律宾
PK:巴基斯坦
PL:波兰
SE:瑞典
SG:新加坡
TH:泰国
TR:土耳其
TW:台湾
US:美国
ZA:南非

本文章由 http://www.wifidog.pro/2015/03/23/wifidog%E8%AE%A4%E8%AF%81wiwiz-query-API.html 整理编辑,转载请注明出处

wifidog认证Wiwiz Auth API集成示例代码(ASP.Net)

WiwizAuthApiSample.aspx:

<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="WiwizAuthApiSample_aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    用户名: <asp:TextBox ID="username" runat="server"></asp:TextBox>
    <br />
    密码: <asp:TextBox ID="pswd" runat="server" TextMode="Password"></asp:TextBox>
    <br />
    <asp:Button ID="login" runat="server" onclick="Login_Click" Text="登录" />
    <br />
    <asp:Label ID="LabelMsg" runat="server" Text=""></asp:Label>
    <br />


    </form>
</body>
</html>

WiwizAuthApiSample_aspx.cs:

using System;
using System.IO;
using System.Text;
using System.Web;
using System.Net;

public partial class _Default : System.Web.UI.Page 
{
    string userkey = "246DD22C084BB40E";    // 替换为你的User Key

    protected void Page_Load(object sender, EventArgs e)
    {

        //****************************************************
        // 取得接收到的传入参数 
        //****************************************************

        Session.Add("tokencode", Request.Params["tokencode"]);      // 接收到的传入参数"tokencode"
        Session.Add("srvurl", Request.Params["srvurl"]);            // 接收到的传入参数"srvurl" 
    }

    protected void Login_Click(object sender, EventArgs e)
    {
        //****************************************************
        // 第1步. 根据您的具体需要或业务,进行用户登录验证处理
        //****************************************************

        bool loginSuccess = false;

        // 根据系统自身的业务需求进行自己的账户验证/登录验证等处理
        //      ......
        //

        loginSuccess = true; // 这里假设用户登录已验证

        if(loginSuccess == false) {

            LabelMsg.Text = "登录失败!";    // 如果登录失败则报错            

        } else {

            //****************************************************
            // 第2步. 调用Wiwiz Auth API,进行预认证
            // 重要: 请在服务器端的程序中进行此处理(例如,ASP、C#、JSP/Servet、PHP...),
            //      而不要在直接客户端代码中进行此处理(例如,HTML/Javascript)
            //****************************************************

            // 参数 "action" : 必须!
            // 设置为"1"将使用户认证成功
            // 设置为"0"将使用户认证失败
            string action = "1";

            // 参数 "tokencode": 必须!
            // 设置与同名传入参数相同的值
            string tokencode = (string) Session["tokencode"];

            // 参数 "srvurl": 必须!
            // 设置与同名传入参数相同的值
            string srvurl = (string) Session["srvurl"];

            // 参数 "endtime" : 可选
            // 格式: yyyy-mm-dd hh:MM:ss  例如: 2014-05-31 21:39:00
            // 设置此参数将使用户的Internet连接在指定时间关闭
            // 注意: 对此参数的值必须进行url编码  
            string endtime = Server.UrlEncode("2014-05-31 21:39:00");

            // 参数 "postauth" : 可选
            // 例如: http://www.YourDomain.com
            // 设置此参数将设置用户在通过认证后显示的页面地址
            string postauth = "http://www.wiwiz.com";

            string parameters =
                    "wiwiz_auth_api=1&ver=1.0"+ // 参数 "wiwiz_auth_api" 与 "ver". 固定值
                    "&tokencode="+ tokencode +  // 参数 "tokencode". 设置方法参考上面的说明
                    "&userkey="+ userkey +      // 参数 "userkey". 设置方法参考上面的说明
                    "&action="+ action +        // 参数 "action". 设置方法参考上面的说明
                    "&endtime="+ endtime +      // 参数 "endtime". 设置方法参考上面的说明
                    "&postauth="+ postauth;     // 参数 "postauth". 设置方法参考上面的说明

            HttpWebRequest req = (HttpWebRequest)WebRequest.Create(srvurl);
            req.Method = "POST";
            req.ContentType = "application/x-www-form-urlencoded";

            StreamWriter streamOut = new StreamWriter(req.GetRequestStream(), System.Text.Encoding.ASCII);
            streamOut.Write(parameters);
            streamOut.Close();

            StreamReader streamIn = new StreamReader(req.GetResponse().GetResponseStream());
            string verifycode = streamIn.ReadToEnd();            // 获取verifycode,即Wiwiz服务端返回的验证结果
            streamIn.Close();

            string userstring = "username:" + username.Text;    // 设置自定义追踪信息(可选),本例中设为用户名

            if(verifycode.StartsWith("ERR")) {
                // 如果报错,则显示错误代码
                LabelMsg.Text = "Error: " + verifycode;

            } else {
                // 如没有报错则进行第3步。

                //****************************************************
                // 第3步. 调用Wiwiz Auth API,完成认证
                //****************************************************  
                string redirectUrl = srvurl +       // 使用传入参数"srvurl"的值作为跳转地址的前缀
                        "?wiwiz_auth_api_login=1" + // 参数 "wiwiz_auth_api_login",固定值
                        "&tokencode=" + tokencode + // 参数 "tokencode",设置与同名传入参数相同的值
                        "&verifycode=" + verifycode +   // 参数 "verifycode",Wiwiz服务端返回的验证结果
                        "&userstring=" + userstring;    // 参数 "userstring"(可选),用户设置的自定义追踪信息

                Response.Redirect(redirectUrl); // 最后,进行跳转
            }
        }
    }
}
  1. 本文章由 http://www.wifidog.pro/2015/03/23/wifidog%E8%AE%A4%E8%AF%81APS%E7%89%88.html 整理编辑,转载请注明出处