使用说明WebApi
WebApi 的请求格式、参数规则、加密函数和调用示例。第一次接入先看这一页。
WebApi 是万捷网络验证系统提供的网络接口。任何能发 HTTP 请求的语言或脚本,都可以通过它实现注册、登录、充值、解绑、公告、多开控制等功能。不同文档里也叫“远程 API”“网络函数”“服务器函数”“自定义算法”,概念相同。
请求地址
http://服务器地址/api.php
服务器有 HTTPS 时使用 https://服务器地址/api.php。下面的示例用 http 表示,实际以你的服务器地址为准。
GET 与 POST
GET 把参数放在网址后面,适合调试和简单请求:
http://服务器地址/api.php?name=接口名称&c1=10001&c2=参数2&c3=参数3
POST 把参数放在请求体里,适合参数较多或不想暴露在网址中的场景:
name=接口名称&c1=10001&c2=参数2&c3=参数3
提交时 name 是接口名称,c1 固定为软件编号,c2 是第一个业务参数,c3 是第二个,以此类推。
参数规则
name:接口名称。只能使用数字、字母、下划线,不能包含中文、全角符号和特殊字符。c1:软件编号,例如10001。所有接口的第一个参数都是它。c2 / c3 / ...:业务参数。不同接口含义不同,按接口文档的顺序传。- 参数尽量使用数字和字母;必须传中文时先做 URL 编码,避免出现未知错误。
- 返回数据默认 UTF-8;如果客户端需要 GB2312,可在 URL 后追加
&code=1。
PHP 运算符
自定义接口必须使用标准 PHP 语法。常用的运算符如下:
| 运算符 | 名称 | 例子 | 结果 |
|---|---|---|---|
+ | 加法 | 1 + 2 | 3 |
- | 减法 | 3 - 1 | 2 |
* | 乘法 | 5 * 2 | 10 |
/ | 除法 | 10 / 2 | 5 |
. | 字符串相加 | "a" . "b" | ab |
% | 模数 | 10 % 4 | 2 |
内置加密函数
为了安全,接口内部建议使用系统提供的内置加密函数,不要直接把明文密码或密钥写进返回结果。
| 函数 | 用途 |
|---|---|
code_jzzh(字符串, 0/1) | 进制转换;0=加密,1=解密。 |
code_rc4(密钥, 数据) | RC4 加密 / 解密。 |
code_bs64(数据, 0/1) | Base64 编码 / 解码。 |
code_url(字符串, 0/1) | URL 编码 / 解码。 |
code_bmzh(字符串, 0/1) | UTF-8 与 GB2312 编码转换。 |
encrys(...) | 综合加密解密:RSA、AES、DES、RC4、Base64、HEX 等,详见 加密解密。 |
系统接口必须嵌套
login、pay、kd 等是系统接口,不能直接写 name=login 调用。需要先在后台创建一个自定义接口,在函数里调用系统接口,再让软件请求这个自定义接口。
例如把扣点接口 kd 包一层:
function zdy_koudian($rjbh,$user,$pass,$czlx,$ds){
return kd($rjbh,$user,$pass,$czlx,$ds);
}
软件请求 name=zdy_koudian,参数仍然按 c1,c2,c3... 顺序提交:
http://服务器地址/api.php?name=zdy_koudian&c1=10001&c2=账号&c3=密码MD5&c4=0&c5=10
示例
示例 1:返回一段文本
接口名 zdy_fhwb,不需要业务参数;软件请求 name=zdy_fhwb&c1=软件编号。
function zdy_fhwb(){
return '返回内容';
}
返回:返回内容
示例 2:字符串相加
接口名 zdy_zfcxj,接收 3 个参数;请求 name=zdy_zfcxj&c1=10001&c2=B&c3=C。
function zdy_zfcxj($c1,$c2,$c3){
return $c1.$c2.$c3;
}
返回:ABC
示例 3:数字相加
接口名 zdy_szxj,请求 name=zdy_szxj&c1=10001&c2=6。先把数值相加,再转成文本返回。
function zdy_szxj($c1,$c2){
return (string)($c1 + $c2);
}
返回:11
示例 4:调用扣点
系统接口 kd 的参数是:软件编号、用户账号、用户密码(MD5)、操作类型(0=扣点,1=查询)、扣除点数。包装后的自定义接口如下:
function zdy_koudian($rjbh,$user,$pass,$czlx,$ds){
return kd($rjbh,$user,$pass,$czlx,$ds);
}
返回:用户剩余点数。
注意事项
- 接口名称只能由数字、字母、下划线组成,不能包含中文、全角符号和特殊字符。
- 提交的参数尽量使用数字和字母;包含中文时先做 URL 编码,避免未知错误。
- 修改接口代码前先备份正确版本,方便出错时恢复和排查。
- 使用自定义接口前,必须在「软件管理 → 修改软件配置 → 选项设置 → API接口控制」中开启 API 接口权限。
- 系统接口不能直接调用,必须在自定义接口里嵌套使用。
- 提交时的参数名固定为
c1,c2,c3...,不需要和系统接口的参数名相同;第一个参数是c1,第二个是c2,以此类推。
在线测试
系统接口说明与在线测试(把“服务器地址”换成你的域名):
http://服务器地址/api/apitest/api_test.php
自定义接口在线测试:
http://服务器地址/api/apitest/api.php