域名注册API接口, 它是给开发者还有企业客户用的那个程序化的域名称管理通道。它支持通过HTTP或者HTTPS请求来把那些操作都做完。比如你去查一下域名。又或者是去注册一个新名字。再不就是续费。或者进行转移操作。还能设置DNS解析。这和你在后台里面手工一个个操作比起来是不太一样的。

因为用API接口的话。你就可以一次性批量处理很多东西。也能让系统自己实现自动化的集成工作。所以呢。它是建站平台这些东西。还有SaaS工具这些。再就是企业IT运维系统里面最重要的基础设备之一。它能帮助这些系统把域名从出生到结束整个生命周期的事都打通连起来。

接入前置条件

在调用域名注册接口之前, 需要进行一些准备工作。

首先进行开发者账号的注册操作, 紧接着去获取API Key和API Secret这些物品, 因为这两个东西是必须要拿来用于给请求做签名认证的。

我们需要去确认计费的模式, 这个模式是看它属于按量付费, 还是属于包年包月的, 同时, 还需要对账户里面的余额进行确认。

在控制台内完成IP白名单的配置工作, 部分敏感接口要求访问的源IP地址必须在白名单之内。

阅读接口文档,熟悉各端点的HTTP方法、必传参数与返回结构。

核心接口说明

接口功能 方法/路径 说明
域名可用性查询 GET /domain/check 传入域名域名注册API接口,返回是否可注册及支持的TLD
域名注册 POST /domain/register 提交域名、年限、DNS、联系人域名注册API接口,返回订单号
域名续费 POST /domain/renew 指定域名与续费年限,延长到期时间
域名转入/转出 POST /domain/transfer 发起转移请求灵音心图,需校验转移密码
DNS记录管理 POST /domain/dns 增删改查A、CNAME、MX、TXT等记录
域名列表/详情 GET /domain/list 返回账户下全部域名、状态与到期时间

标准调用流程

① 构造请求这一步, 要依据那个目标操作去把端点给选定好, 然后再往里填充各种业务方面的参数, 这些东西里面包含了域名, 还有年限什么的, 另外还有DNS等这些内容。

这里是一个关于签名认证的具体步骤。首先, 需要使用API Secret去对请求体执行HMAC-SHA256的计算和签名操作。然后, 要把最终得到的签名值以及时间戳还有API Key这几个内容, 一并写入到请求头里面去。

域名注册API接口对接全流程:从接入认证到批量调用的完整指南(图1)

③ 发送请求: 使用HTTPS将数据发送到网关的地址, 超时时间建议设置为30秒。

④ 对返回回来的响应结果进行解析的环节, 会把得到的JSON格式数据拆开来看, 在这个数据里面, 包含有叫做code的部分, 那个是用来说明状态码的, 还包含有叫做data的部分, 那个是用来装业务具体的数据的, 同时也包含有叫做message的部分, 那个是用来提示信息内容的, 这些信息都在JSON里。

⑤ 异常处理当code不等于0的时候需要对message进行区分, 通过区分参数错误, 余额不足, 域名不可用这些不同的场景来决定是执行重新尝试操作, 还是进行告警提示。

关键注意事项

频率限制: 默认的每秒查询率是20次, 超过这个限制的话系统会返回HTTP 429的状态码, 所以用户需要进行请求队列管理, 还要采用指数退避的方式进行重试。

幂等保障这个功能的意思是, 在注册和续费这两个接口的地方, 系统是可以使用clientToken来实现去重的, 所以如果同一个Token被重复提交了的话, 是不会出现第二次扣费的情况的。

锁定规则是新的注册域名在开始的前六十天的时间内, 会被放在一个转移的保护状态里面, 这个保护状态叫做转出锁定期, 在这个锁定的期间里, 操作者是不能够提出把域名转移到别的地方去的。

使用现在人能直接看懂的普通话书面语表达, 内容涉及实名合规事项, 针对.cn等后缀域名在完成注册操作之后需要在规定时限内结束相关身份验证过程。具体规则要求为必须在24个小时这个时间段内部完成实名认证工作。一旦未能在限定时间内满足这项要求的话, 那么针对该域名的解析服务功能将会被立刻暂停处理。

在正式上线到生产环境之前, 必须使用测试端点来完成完整流程的联合调试动作, 以此来避免对生产数据造成误操作的情况发生。

适用场景与开发者资源

典型的场景包含这些情况, 比如建站系统自动分配域名, 企业批量域名到期监控与续费, 还有DNS解析批量变更, 以及域名投资工具的自动化监测与抢注等。

各个服务提供商都提供了在线的API调试台, 还提供了多种语言的SDK, 比如Java、Python、Go和Node.js这些语言, 并且还具备通过Webhook来实现异步回调的功能。

我们以gname.xin开放平台这个例子来说明事情, 它的接口文档中心里面包含了完整的端点清单, 以及错误码对照表, 还具备各语言示例代码的功能。不仅如此, 这个地方还能提供沙箱环境的支持, 从而允许开发者直接在线去完成任务验证和联合调试工作, 这样做的结果是大幅缩短了从开发到上线的周期。