短网址服务接入
接口通用信息
生产地址: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.zipJAVA JWT:
https://github.com/jwtk/jjwtPHP 实例代码:
/** * 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-02-06 17:27
最后编辑:admin 更新时间:2025-02-06 17:27
admin2024-07-29 12:30:30
1#
lishaojie2024-07-29 12:32:09
2#