{站点}/api.php,请求方式:POST,接口名通过 URL 参数 action 传递(如 {站点}/api.php?action=domain/check)。application/x-www-form-urlencoded 方式提交(推荐)。code=1、msg="余额不足"。
| 参数 | 必填 | 说明 |
|---|---|---|
| app_id | 是 | API应用的 App ID |
| timestamp | 是 | 10位秒级时间戳,与服务器时间差超过10分钟则拒绝 |
| sign | 是 | 签名值 |
key=value&key=value...(末尾无多余的 &),然后计算:
// 签名算法(PHP示例)
function api_sign($params, $app_secret)
{
ksort($params); // 按 key ASCII 升序排序
$str = '';
foreach ($params as $k => $v) {
if ($k === 'sign' || is_array($v)) { // 剔除 sign 与数组参数
continue;
}
$str .= $k . '=' . $v . '&'; // 拼接 key=value&key=value...
}
$str = rtrim($str, '&');
return md5($app_secret . $str . $app_secret);
}
code=0 表示成功:{"code":0,"msg":"success","data":{...}}
code 为非 0 值,msg 为错误原因,例如余额不足返回:{"code":1,"msg":"余额不足"}
| 参数 | 必填 | 说明 |
|---|---|---|
domain | 是 | 要查询的域名,如 example.com |
period | 否 | 注册年限(年),默认 1 |
| 参数 | 必填 | 说明 |
|---|---|---|
domain | 是 | 要注册的域名 |
period | 否 | 注册年限(年),默认 1,最多 10 |
template_id | 是 | 已审核通过的注册信息模板 ID |
| 参数 | 必填 | 说明 |
|---|---|---|
page | 否 | 页码,默认 1 |
page_size | 否 | 每页数量,默认 20,最大 50 |
| 参数 | 必填 | 说明 |
|---|---|---|
domain | 是 | 要续费的域名 |
years | 否 | 续费年限,默认 1,最多 10 |
| 参数 | 必填 | 说明 |
|---|---|---|
domain | 是 | 域名 |
| 参数 | 必填 | 说明 |
|---|---|---|
domain | 是 | 域名 |
type | 是 | 记录类型:A/AAAA/CNAME/MX/TXT/SRV/NS/CAA |
host | 否 | 主机记录,默认 @ |
value | 是 | 记录值 |
mx | 否 | 优先级,仅 MX 类型使用,默认 10 |
ttl | 否 | TTL(秒),默认 600 |
| 参数 | 必填 | 说明 |
|---|---|---|
domain | 是 | 域名 |
record_id | 是 | 解析记录 ID |
type | 是 | 记录类型:A/AAAA/CNAME/MX/TXT/SRV/NS/CAA |
host | 否 | 主机记录,默认 @ |
value | 是 | 记录值 |
mx | 否 | 优先级,仅 MX 类型使用 |
ttl | 否 | TTL(秒),默认 600 |
| 参数 | 必填 | 说明 |
|---|---|---|
domain | 是 | 域名 |
record_id | 是 | 解析记录 ID |
| 参数 | 必填 | 说明 |
|---|---|---|
| 无参数 | ||
| 参数 | 必填 | 说明 |
|---|---|---|
| 无参数 | ||
<?php
// 完整调用示例:查询域名
function api_sign($params, $app_secret)
{
ksort($params);
$str = '';
foreach ($params as $k => $v) {
if ($k === 'sign' || $v === '') continue;
$str .= $k . '=' . $v . '&';
}
$str = rtrim($str, '&');
return md5($app_secret . $str . $app_secret);
}
$app_id = '您的App ID';
$app_secret = '您的App Secret';
// 公共参数 + 业务参数(签名时均参与)
$params = array(
'app_id' => $app_id,
'timestamp' => time(), // 10位秒级时间戳,与服务器时间差不能超过10分钟
'action' => 'domain/check', // 接口名
'domain' => 'example.com',
'period' => 1,
);
$params['sign'] = api_sign($params, $app_secret);
// 发送POST请求(接口名同时通过URL参数传递)
$url = 'https://您的站点/api.php?action=' . urlencode($params['action']);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($params));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 15);
$resp = curl_exec($ch);
curl_close($ch);
$result = json_decode($resp, true);
print_r($result);
// 输出示例:
// Array
// (
// [code] => 0
// [msg] => success
// [data] => Array
// (
// [domain] => example.com
// [available] => 1
// [price] => 58.00
// [currency] => CNY
// )
// )