API文档
开放API接口使用说明
一、接口地址
请求地址:{站点}/api.php,请求方式:POST,接口名通过 URL 参数 action 传递(如 {站点}/api.php?action=domain/check)。
参数以 application/x-www-form-urlencoded 方式提交(推荐)。
涉及资金的操作(域名注册/续费)一律从账户余额扣除,余额不足时返回 code=1、msg="余额不足"
二、认证与签名
每次请求需携带公共参数:
参数必填说明
app_idAPI应用的 App ID
timestamp10位秒级时间戳,与服务器时间差超过10分钟则拒绝
sign签名值
签名算法:除 sign 外所有非空参数按 key 的 ASCII 升序拼接为 key=value&key=value...(末尾无多余的 &),然后计算:
sign = md5(app_secret . $str . app_secret)
// 签名算法(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);
}
三、通用响应格式
所有接口统一返回 JSON,code=0 表示成功:
{"code":0,"msg":"success","data":{...}}
失败时 code 为非 0 值,msg 为错误原因,例如余额不足返回:{"code":1,"msg":"余额不足"}
四、接口列表
1. domain/check 查询域名
domain/check
查询域名是否可注册及注册价格
参数必填说明
domain要查询的域名,如 example.com
period注册年限(年),默认 1
返回:available(1=可注册 0=不可注册)、price(元/年,已含服务费)、currency(币种)
2. domain/register 注册域名
domain/register
注册域名,直接从账户余额扣款。需先完成实名认证
参数必填说明
domain要注册的域名
period注册年限(年),默认 1,最多 10
template_id已审核通过的注册信息模板 ID
返回:domain、period、amount(扣款金额)、balance(扣款后余额)。余额不足返回 code=1、msg="余额不足"
3. domain/list 我的域名列表
domain/list
分页获取当前账号的域名列表
参数必填说明
page页码,默认 1
page_size每页数量,默认 20,最大 50
返回:total、page、page_size、list(域名数组)
4. domain/renew 域名续费
domain/renew
续费域名,直接从账户余额扣款
参数必填说明
domain要续费的域名
years续费年限,默认 1,最多 10
返回:domain、years、amount(扣款金额)、expire_time(新的到期时间)、balance(扣款后余额)
5. domain/dns/list 解析记录列表
domain/dns/list
获取指定域名的全部解析记录
参数必填说明
domain域名
返回:list(解析记录数组,含 type/host/value/mx/ttl 等)
6. domain/dns/create 添加解析记录
domain/dns/create
为指定域名添加一条解析记录
参数必填说明
domain域名
type记录类型:A/AAAA/CNAME/MX/TXT/SRV/NS/CAA
host主机记录,默认 @
value记录值
mx优先级,仅 MX 类型使用,默认 10
ttlTTL(秒),默认 600
返回:record_id、domain、type、host、value
7. domain/dns/update 修改解析记录
domain/dns/update
修改指定域名的一条解析记录
参数必填说明
domain域名
record_id解析记录 ID
type记录类型:A/AAAA/CNAME/MX/TXT/SRV/NS/CAA
host主机记录,默认 @
value记录值
mx优先级,仅 MX 类型使用
ttlTTL(秒),默认 600
返回:record_id、domain、type、host、value
8. domain/dns/delete 删除解析记录
domain/dns/delete
删除指定域名的一条解析记录
参数必填说明
domain域名
record_id解析记录 ID
返回:record_id
9. balance/query 余额查询
balance/query
查询当前账号余额与实名状态
参数必填说明
无参数
返回:balance(余额)、currency、realname_status(0未实名 1已实名)
10. template/list 注册信息模板列表
template/list
获取当前账号的域名注册信息模板列表
参数必填说明
无参数
返回:total、list(模板数组,含 template_id/type/name/status 等)
五、完整调用示例
以下为查询域名的完整 PHP 调用示例(curl POST + 签名函数):
<?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
//         )
// )