短网址服务接入

  • 接口通用信息

    生产地址:https://openapi.wdqz.cc/api/
    请求方式:POST
    请求头信息:

    参数 格式 举例
    Authorization xxx.xxx.xxx eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczpcL1wvd3d3LnVyaS53aWtpXC8iLCJhdWQiOiJodHRwczpcL1wvd3d3LnVyaS53aWtpXC8iLCJpYXQiOjE2NzMzMzk2ODIsIm5iZiI6MTY3MzMzOTY4MiwiZXhwIjoxNjczMzQ2ODgyLCJkYXRhIjp7ImFwcF9pZCI6IjIwMjMwMTAxMDAwMTAwMDEifX0.nqrq_HJawI7RnGJ0A2P0qi7zagl-G0wgXydtS1RZS8E

    Authorization 的生成规则:JWT 。


    什么是 JWT?

    JWT 全称是:Json Web Token. 是一个开放的行业标准 RFC 7519。JWT 传输的信息可以被验证和信任,因为它经过了数字签名。
    JWT 的更多详细信息,可自行网络搜索。

    JWT token的生成,需要一个秘钥,这个秘钥需要在求知开放平台创建。
    创建路径:应用管理->创建应用->填写你自己的秘钥

    下面是 PHP 开发者可以直接使用的插件:
    https://github.com/firebase/php-jwt

    若无法下载,可以在这里直接下载:
    php.jwt.zip

    JAVA JWT:
    https://github.com/jwtk/jjwt

    PHP 实例代码:

      /**
       * jwt 加密
       *
       * @param array $data 数据体
       * @param string $jwtKey jwt秘钥
       * @param int $expire jwt-token过期时间
       * @return mixed 加密后的jwt-token
       */
      private static function jwtEncode($data = [], $jwtKey = '')
      {
          $payload = array(
              'iss' => 'https://open.wdqz.cc/', // 固定值
              'aud' => 'https://open.wdqz.cc/', // 固定值
              'iat' => time(),    // 签发时间
              'nbf' => time(),     // 在此时间之前,该jwt都是不可用
              'exp' => time() + 7200,     // jwt 有效期 2 小时
              'data' => $data,    // 数据体, 
          );
          return JWT::encode($payload, $jwtKey);
      }
      // 调用(使用你自己的 appId 和 key)
      $Authorization = jwtEncode(['app_id' => '2023***********1'], '262bbc*********************792b9');
  • 创建短网址

    接口:link/link-create
    请求参数列表:

    字段名称 字段类型 长度 是否必填 示例 说明
    link string 1024 是 https://open.wdqz.cc/ 原始链接
    cost_type int 1 是 1 扣费方式(1:按时间;2:按次数)
    expire_time int 11 当 cost_type=1 时必填 2592000 短网址有效期(秒)
    可选值参见:有效期列表
    expire_times int 11 当 cost_type=2 时必填 20 短网址有效次数
    可选值参见:次数列表

    有效期&次数列表:

    按时间: 按次数:
    时间 数值 次数 数值
    30天 2592000 20次 20
    90天 7776000 2000次 2000
    180天 15552000 2万次 20000
    365天 31536000 10万次 100000
    730天 63072000 30万次 300000
    3650天 315360000 3百万次 3000000

    curl 请求实例:

      curl -i -k -X POST 'https://openapi.wdqz.cc/api/link/link-create' \
      -H 'Content-Type:application/json;charset=UTF-8' \
      -H 'Authorization: 生成的JwtToken' \
      -d '{"link": "https://open.wdqz.cc/", "cost_type": 2, "expire_tims": 20}'

    成功返回值:

      {
          "code": 10000,
          "msg": "success",
          "resultObject": {
              "slink": "P44y1K",
              "host": "https://wdqz.cc/"
          }
      }

    错误返回值:

      {
          "code": 30000,
          "msg": "错误的扣费方式",
          "resultObject": []
      }
  • 短网址列表查询

    接口:link/link-list
    缓存时间:1分钟
    请求参数列表:

    字段名称 字段类型 长度 是否必填 示例 说明
    link string 1024 否 https://open.wdqz.cc/ 原始链接
    (精准匹配)
    slink string 6 否 L4e54G 短网址
    (精准匹配)
    name string 32 否 求知开放平台 短网址名称
    (模糊匹配)
    page int 11 是 1 请求页数
    pagesize int 11 是 10 每页展示数据条数
    (最多50条)

    curl 请求实例:

      curl -i -k -X POST 'https://openapi.wdqz.cc/api/link/link-list' \
      -H 'Content-Type:application/json;charset=UTF-8' \
      -H 'Authorization: 生成的JwtToken' \

    成功返回值:

      {
      "code": 10000,
      "msg": "success",
      "resultObject": {
          "count": "2",
          "host": "https://wdqz.cc/",
          "list": [
              {
                  "name": "百度",    // 短网址名称
                  "link": "https://baidu.com",    // 原始链接
                  "slink": "L4e54G",    // 短网址
                  "visit_cnt": "7",    // 已访问次数
                  "create_time": "2023-01-10 16:39:27",    // 创建时间
                  "expire_time_to": "2031-04-18 23:16:21",    // 过期时间
              },
              {
                  "name": "求知开放平台",
                  "link": "https://open.wdqz.cc",
                  "slink": "fHifTO",
                  "visit_cnt": "0",
                  "create_time": "2023-01-20 23:16:21",
                  "expire_time_to": "2031-04-18 23:16:21",
              }
          ]
      }
    }

    错误返回值:

      {
          "code": 101401,
          "msg": "用户身份验证失败",
          "resultObject": []
      }
  • 访问统计

    接口:link/link-stat
    缓存时间:1分钟
    请求参数列表:

    字段名称 字段类型 长度 是否必填 示例 说明
    link string 1024 是
    (link和slink二者必填其一)
    https://www.baidu.com/ 原始链接
    (精准匹配)
    slink string 6 是
    (link和slink二者必填其一)
    L4e54G 短网址
    (精准匹配)
    equ string 32 否 手机 设备(模糊匹配)
    sys string 64 否 OSX 系统(模糊匹配)
    browser string 32 否 chrome 浏览器(模糊匹配)
    ip string 16 否 192.168.1.1 IP(模糊匹配)
    province string 16 否 河北省 省份(模糊匹配)
    city string 32 否 北京市 城市(模糊匹配)
    district string 32 否 海淀区 区县(模糊匹配)
    from_time string 32 否 2023-01-01 12:00:00 查询范围,起始时间(固定格式)
    to_time string 32 否 2023-01-02 12:00:00 查询范围,结束时间(固定格式)
    page int 11 是 1 请求页数
    pagesize int 11 是 10 每页展示数据条数
    (最多50条)

    curl 请求实例:

      curl -i -k -X POST 'https://openapi.wdqz.cc/api/link/link-stat' \
      -H 'Content-Type:application/json;charset=UTF-8' \
      -H 'Authorization: 生成的JwtToken' \

    成功返回值:

      {
      "code": 10000,
      "msg": "success",
      "resultObject": {
          "count": "2",
          "list": [
              {
                  "slink": "OafP0S",
                  "link": "https://www.qq.com",
                  "ip": "222.130.32.92",
                  "equ": "电脑",
                  "sys": "OSX:10_15_7",
                  "browser": "Chrome-简体中文",
                  "province": "北京市",
                  "city": "北京市",
                  "district": "密云区",
                  "ad_code": "",
                  "referer": "https://open.wdqz.cc/",
                  "visit_time": "2023-02-04 00:03",
                  "longitude": "116.831989",
                  "latitude": "40.408094",
                  "isp": "China Unicom",
                  "zip_code": "101500",
                  "continent": "亚洲",
                  "country": "中国"
              },
              {
                  "slink": "aL4y9S",
                  "link": "https://www.qq.com",
                  "ip": "222.130.32.92",
                  "equ": "电脑",
                  "sys": "OSX:10_15_7",
                  "browser": "Chrome-简体中文",
                  "province": "北京市",
                  "city": "北京市",
                  "district": "密云区",
                  "ad_code": "",
                  "referer": "https://open.wdqz.cc/",
                  "visit_time": "2023-02-04 00:01",
                  "longitude": "116.831989",
                  "latitude": "40.408094",
                  "isp": "China Unicom",
                  "zip_code": "101500",
                  "continent": "亚洲",
                  "country": "中国"
              }
          ]
      }
    }

    错误返回值:

      {
          "code": 30000,
          "msg": "此短网址不存在",
          "resultObject": []
      }
  • 错误码列表

    10000; // 成功
    30000; // 通用业务错误
    30002; // 请求参数异常(例如:数据体不是json格式)
    101401; // Jwt-Token 过期失效
    101404; // 请求接口未找到
    101405; // 请求方式错误(例如:使用GET请求)
    101500; // 系统错误
  • 其他注意事项

    本文档以 PHP 为例展示了 Token 的生成规则。
    JWT 各种语言都有成熟的封装好的类库。
    可以在 GitHub 上搜索 star 较多的类库使用。


— The End.

作者:admin  创建时间:2023-01-22 00:35
最后编辑:admin  更新时间:2025-07-12 21:04