接口文档

标准 HTTP 接口,三分钟完成软件授权接入。

接入说明

接口基地址:https://api.9awl.com/api,全部接口使用 POST 提交(查询授权信息接口支持 GET),返回 JSON。

通讯密钥(secret):9awl_api_secret_2026,请勿泄露给第三方。

接口地址方式
授权验证/api/license/verifyPOST
激活绑定/api/license/activatePOST
解绑设备/api/license/unbindPOST
绑定域名/api/license/bindDomainPOST
解绑域名/api/license/unbindDomainPOST
域名验证/api/license/verifyDomainPOST
查询授权/api/license/infoGET

签名算法

为防止接口被伪造调用,除查询接口外均需携带 sign 参数,计算方式如下(结果转为大写):

sign = MD5( 授权码 + 设备号 + 通讯密钥 )    // 转大写

示例:授权码 DEMO-9AWL-2026-VIP1-0001,设备号 PC-8F21-4C90,则

sign = strtoupper(md5('DEMO-9AWL-2026-VIP1-0001' + 'PC-8F21-4C90' + secret))

域名授权接口(绑定 / 解绑 / 验证)的签名计算方式相同,仅将「设备号」替换为「域名」:

sign = MD5( 授权码 + 域名 + 通讯密钥 )    // 转大写,域名小写

授权验证

软件启动或定时心跳时调用,用于校验授权是否有效。

参数类型必填说明
codestring是授权码
device_idstring是设备唯一标识(建议取硬件指纹)
signstring是签名,见上
// 返回示例
{
  "code": 0,
  "msg": "验证通过",
  "data": {
    "code": "DEMO-9AWL-2026-VIP1-0001",
    "product": "就爱云控系统",
    "plan": "年度授权",
    "status": 1,
    "status_text": "已激活",
    "max_devices": 3,
    "used_devices": 1,
    "expires_at": "2027-06-01 10:00:00",
    "is_forever": false,
    "remain_days": 243
  },
  "time": 1780000000
}

激活绑定

首次在设备上使用授权码时调用,用于激活授权并绑定设备。参数在验证接口基础上增加 device_name(域名,可选)。

POST {$baseUrl}/license/activate
code=DEMO-9AWL-2026-VIP1-0001
device_id=PC-8F21-4C90
device_name=www.9awl.com
sign=XXXXXXXX

解绑设备

用于换机场景。解绑后该设备不再占用授权名额,可重新绑定新设备。参数:code、device_id、sign。

绑定域名

用于将授权码与部署域名绑定,常见于 SaaS / 在线服务场景。首次绑定会自动激活授权(同设备激活逻辑),域名额度与设备共享 max_devices 上限。

参数类型必填说明
codestring是授权码
domainstring是绑定的域名(如 www.9awl.com,自动转小写)
signstring是签名 = MD5(授权码 + 域名 + 密钥),转大写
POST {$baseUrl}/license/bindDomain
code=DEMO-9AWL-2026-VIP1-0001
domain=www.9awl.com
sign=XXXXXXXX

解绑域名

用于更换部署域名。解绑后该域名释放名额,可重新绑定新域名。参数:code、domain、sign。

域名验证

在线服务运行期间定时调用,校验授权与域名绑定是否有效。验证通过会刷新 last_verify_at(日志做 30 秒节流)。

参数类型必填说明
codestring是授权码
domainstring是需验证的域名
signstring是签名 = MD5(授权码 + 域名 + 密钥),转大写

查询授权

无需签名,仅用于查询授权基础信息(脱敏场景请改用用户中心)。

GET {$baseUrl}/license/info?code=DEMO-9AWL-2026-VIP1-0001

返回码说明

code说明
0成功
1001授权码不存在
1002授权已被冻结
1003授权已过期
1004绑定设备数已达上限
1005签名校验失败
1006参数错误
1007当前设备未绑定该授权
1008授权尚未激活
1009授权归属其他账号
1010当前域名未绑定该授权

调用示例(PHP)

$code     = 'DEMO-9AWL-2026-VIP1-0001';
$deviceId = 'PC-8F21-4C90';
$secret   = '你的通讯密钥';

$sign = strtoupper(md5($code . $deviceId . $secret));

$params = http_build_query([
    'code'      => $code,
    'device_id' => $deviceId,
    'sign'      => $sign,
]);

$ch = curl_init('https://api.9awl.com/api/license/verify');
curl_setopt_array($ch, [
    CURLOPT_POST           => true,
    CURLOPT_POSTFIELDS     => $params,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_TIMEOUT        => 5,
]);

$result = json_decode(curl_exec($ch), true);

if ($result['code'] === 0) {
    echo '授权有效,剩余 ' . $result['data']['remain_days'] . ' 天';
} else {
    echo '授权校验失败:' . $result['msg'];
}
基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-10-13 14:07:57 HTTP/2.0 GET : https://www.9awl.com/doc
  2. 运行时间 : 0.036015s [ 吞吐率:27.77req/s ] 内存消耗:2,957.05kb 文件加载:125
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=8aabcdd5b2429369e66ee5b7dc4e2d64
  1. /www/wwwroot/www.9awl.com/public/index.php ( 0.52 KB )
  2. /www/wwwroot/www.9awl.com/vendor/autoload.php ( 0.73 KB )
  3. /www/wwwroot/www.9awl.com/vendor/composer/autoload_real.php ( 1.63 KB )
  4. /www/wwwroot/www.9awl.com/vendor/composer/platform_check.php ( 0.90 KB )
  5. /www/wwwroot/www.9awl.com/vendor/composer/ClassLoader.php ( 15.99 KB )
  6. /www/wwwroot/www.9awl.com/vendor/composer/autoload_static.php ( 4.62 KB )
  7. /www/wwwroot/www.9awl.com/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /www/wwwroot/www.9awl.com/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /www/wwwroot/www.9awl.com/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /www/wwwroot/www.9awl.com/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /www/wwwroot/www.9awl.com/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /www/wwwroot/www.9awl.com/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /www/wwwroot/www.9awl.com/vendor/symfony/polyfill-mbstring/bootstrap.php ( 0.35 KB )
  14. /www/wwwroot/www.9awl.com/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.81 KB )
  15. /www/wwwroot/www.9awl.com/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.60 KB )
  16. /www/wwwroot/www.9awl.com/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  17. /www/wwwroot/www.9awl.com/vendor/symfony/var-dumper/VarDumper.php ( 4.23 KB )
  18. /www/wwwroot/www.9awl.com/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  19. /www/wwwroot/www.9awl.com/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  20. /www/wwwroot/www.9awl.com/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  21. /www/wwwroot/www.9awl.com/app/provider.php ( 0.19 KB )
  22. /www/wwwroot/www.9awl.com/vendor/topthink/framework/src/think/Http.php ( 6.22 KB )
  23. /www/wwwroot/www.9awl.com/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  24. /www/wwwroot/www.9awl.com/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  25. /www/wwwroot/www.9awl.com/app/common.php ( 4.36 KB )
  26. /www/wwwroot/www.9awl.com/vendor/topthink/framework/src/helper.php ( 18.77 KB )
  27. /www/wwwroot/www.9awl.com/vendor/topthink/framework/src/think/Config.php ( 5.93 KB )
  28. /www/wwwroot/www.9awl.com/config/app.php ( 0.95 KB )
  29. /www/wwwroot/www.9awl.com/config/cache.php ( 0.78 KB )
  30. /www/wwwroot/www.9awl.com/config/console.php ( 0.28 KB )
  31. /www/wwwroot/www.9awl.com/config/cookie.php ( 0.56 KB )
  32. /www/wwwroot/www.9awl.com/config/database.php ( 2.22 KB )
  33. /www/wwwroot/www.9awl.com/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  34. /www/wwwroot/www.9awl.com/config/filesystem.php ( 0.61 KB )
  35. /www/wwwroot/www.9awl.com/config/lang.php ( 0.91 KB )
  36. /www/wwwroot/www.9awl.com/config/log.php ( 1.35 KB )
  37. /www/wwwroot/www.9awl.com/config/middleware.php ( 0.19 KB )
  38. /www/wwwroot/www.9awl.com/config/route.php ( 1.88 KB )
  39. /www/wwwroot/www.9awl.com/config/session.php ( 0.57 KB )
  40. /www/wwwroot/www.9awl.com/config/trace.php ( 0.34 KB )
  41. /www/wwwroot/www.9awl.com/config/view.php ( 1.00 KB )
  42. /www/wwwroot/www.9awl.com/app/event.php ( 0.25 KB )
  43. /www/wwwroot/www.9awl.com/vendor/topthink/framework/src/think/Event.php ( 7.77 KB )
  44. /www/wwwroot/www.9awl.com/app/service.php ( 0.13 KB )
  45. /www/wwwroot/www.9awl.com/app/AppService.php ( 0.26 KB )
  46. /www/wwwroot/www.9awl.com/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  47. /www/wwwroot/www.9awl.com/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  48. /www/wwwroot/www.9awl.com/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  49. /www/wwwroot/www.9awl.com/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  50. /www/wwwroot/www.9awl.com/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  51. /www/wwwroot/www.9awl.com/vendor/services.php ( 0.14 KB )
  52. /www/wwwroot/www.9awl.com/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  53. /www/wwwroot/www.9awl.com/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  54. /www/wwwroot/www.9awl.com/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  55. /www/wwwroot/www.9awl.com/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  56. /www/wwwroot/www.9awl.com/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  57. /www/wwwroot/www.9awl.com/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  58. /www/wwwroot/www.9awl.com/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  59. /www/wwwroot/www.9awl.com/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  60. /www/wwwroot/www.9awl.com/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  61. /www/wwwroot/www.9awl.com/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  62. /www/wwwroot/www.9awl.com/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.20 KB )
  63. /www/wwwroot/www.9awl.com/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.75 KB )
  64. /www/wwwroot/www.9awl.com/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  65. /www/wwwroot/www.9awl.com/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  66. /www/wwwroot/www.9awl.com/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.30 KB )
  67. /www/wwwroot/www.9awl.com/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  68. /www/wwwroot/www.9awl.com/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  69. /www/wwwroot/www.9awl.com/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  70. /www/wwwroot/www.9awl.com/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  71. /www/wwwroot/www.9awl.com/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  72. /www/wwwroot/www.9awl.com/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  73. /www/wwwroot/www.9awl.com/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  74. /www/wwwroot/www.9awl.com/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  75. /www/wwwroot/www.9awl.com/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  76. /www/wwwroot/www.9awl.com/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  77. /www/wwwroot/www.9awl.com/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  78. /www/wwwroot/www.9awl.com/vendor/topthink/think-helper/src/helper/Arr.php ( 17.45 KB )
  79. /www/wwwroot/www.9awl.com/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  80. /www/wwwroot/www.9awl.com/vendor/topthink/framework/src/think/cache/Driver.php ( 9.02 KB )
  81. /www/wwwroot/www.9awl.com/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  82. /www/wwwroot/www.9awl.com/app/Request.php ( 0.09 KB )
  83. /www/wwwroot/www.9awl.com/vendor/topthink/framework/src/think/Request.php ( 54.64 KB )
  84. /www/wwwroot/www.9awl.com/vendor/topthink/framework/src/think/traits/UrlHandler.php ( 6.05 KB )
  85. /www/wwwroot/www.9awl.com/vendor/topthink/framework/src/think/traits/DomainHandler.php ( 5.49 KB )
  86. /www/wwwroot/www.9awl.com/vendor/topthink/framework/src/think/traits/HttpMethodHandler.php ( 4.74 KB )
  87. /www/wwwroot/www.9awl.com/app/middleware.php ( 0.44 KB )
  88. /www/wwwroot/www.9awl.com/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  89. /www/wwwroot/www.9awl.com/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  90. /www/wwwroot/www.9awl.com/app/middleware/ApiHost.php ( 1.37 KB )
  91. /www/wwwroot/www.9awl.com/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  92. /www/wwwroot/www.9awl.com/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  93. /www/wwwroot/www.9awl.com/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  94. /www/wwwroot/www.9awl.com/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  95. /www/wwwroot/www.9awl.com/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  96. /www/wwwroot/www.9awl.com/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  97. /www/wwwroot/www.9awl.com/vendor/topthink/framework/src/think/route/RuleName.php ( 5.74 KB )
  98. /www/wwwroot/www.9awl.com/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  99. /www/wwwroot/www.9awl.com/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.41 KB )
  100. /www/wwwroot/www.9awl.com/vendor/topthink/framework/src/think/route/Rule.php ( 27.49 KB )
  101. /www/wwwroot/www.9awl.com/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  102. /www/wwwroot/www.9awl.com/route/app.php ( 5.48 KB )
  103. /www/wwwroot/www.9awl.com/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  104. /www/wwwroot/www.9awl.com/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  105. /www/wwwroot/www.9awl.com/vendor/topthink/framework/src/think/route/Dispatch.php ( 11.32 KB )
  106. /www/wwwroot/www.9awl.com/app/controller/Index.php ( 6.96 KB )
  107. /www/wwwroot/www.9awl.com/app/controller/Frontend.php ( 2.37 KB )
  108. /www/wwwroot/www.9awl.com/app/BaseController.php ( 2.05 KB )
  109. /www/wwwroot/www.9awl.com/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  110. /www/wwwroot/www.9awl.com/vendor/topthink/framework/src/think/facade/Cache.php ( 2.06 KB )
  111. /www/wwwroot/www.9awl.com/vendor/topthink/framework/src/think/facade/Session.php ( 1.79 KB )
  112. /www/wwwroot/www.9awl.com/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  113. /www/wwwroot/www.9awl.com/vendor/topthink/framework/src/think/Response.php ( 9.07 KB )
  114. /www/wwwroot/www.9awl.com/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  115. /www/wwwroot/www.9awl.com/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  116. /www/wwwroot/www.9awl.com/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  117. /www/wwwroot/www.9awl.com/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  118. /www/wwwroot/www.9awl.com/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  119. /www/wwwroot/www.9awl.com/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  120. /www/wwwroot/www.9awl.com/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  121. /www/wwwroot/www.9awl.com/runtime/temp/e9ca1dec0701c9e9a0245d3f00be5781.php ( 25.90 KB )
  122. /www/wwwroot/www.9awl.com/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  123. /www/wwwroot/www.9awl.com/vendor/topthink/framework/src/think/log/driver/File.php ( 6.10 KB )
  124. /www/wwwroot/www.9awl.com/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  125. /www/wwwroot/www.9awl.com/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
0.038511s