这个叫做域名注册API的东西, 就是通过那个HTTP的接口去调用那些注册商的系统。它可以用程序自动完成找域名、下订单、付钱, 再到最后把域名注册下来的所有过程。这东西是给那些想批量拿到域名、想要自动盯着别人抢注消息、或者把自己的SaaS平台跟域名服务连起来的开发者和企业用的。

接入前准备

1. 获取API凭证的步骤是, 你需要先在域名注册商的控制台里创建一个开发者账号, 然后生成Access Key与Secret Key。你要是用gname.xin的话, 只需要进入那个叫做"开发者中心"的地方, 就可以一键生成那些凭证了, 它还能让你在上面切换沙箱环境和使用环境。

2. 你要去确认这个支持的后缀是什么样子, 因为那个不同的注册商它开放出来的TLD和CCLD的范围是不一样的, 所以你在接入之前, 必须要先去确认一下那个你想要用的后缀域名注册api邓州平安中西结合医院,也就是像点.com、点.cn、点.ai这类的东西, 是不是确实存在在你的API列表里面。

3. 对于实名认证的预先设置这一事项, 涉及到像.cn这样的域名后缀的情况。在用户进行注册操作之前, 需要先把注册者的姓名还有证件号码这些实名信息提前提交上去。当接下来调用API接口的时候, 就可以引用已经获取的实名ID, 这样做的话, 就可以避免因为身份信息问题导致注册被拒绝的情况发生。

核心调用流程(三步)

Step 1 域名可用性查询

请求方法这个是要用到POST, 然后访问的路径是这个/v1/domain/available。

那个被叫做域名的参数, 它的样子就像example.com。

返回的内容应当包括available这个字段的值, 这个值是用true或者false来表示的, 同时还要加上price这个字段。

这个结果的有效期大约是60秒, 时间一长就失效了, 必须得重新查询一次。

Step 2 创建注册订单

接口:POST /v1/domain/create-order

需要提供域名、周期, 这个周期的取值范围是一到十年之间, 还需要提供注册人联系人的标识符。

返回的是, order-id、total-amount。

在这一步骤当中, 仅仅是对订单进行锁定处理, 不会扣取任何费用, 通常所设置的锁定时间窗口一般为30分钟。

Step 3 支付并完成注册

接口, POST /v1/domain/pay。

域名注册API怎么接?三步搞定程序化批量注册(图1)

参数, order-id、payment-method。

返回的内容里包含的是status, 这个字段的值可能是completed, 也可能是pending或者是failed, 还有一个是dns-servers。

支付成功的这个动作完成以后域名会马上生效, 并且用户可以进行DNS配网解析的操作。

异常码与处理

异常码 含义 处理建议
4001 域名已被注册 更换域名或走转入流程
4002 实名未通过 补全实名信息后重试
4003 超出批量上限 拆分多次调用
5001 上游注册局超时 10秒后重试域名注册api,最多3次

开发与合规要点

关于频率限制的问题是这样的, 单个密钥默认的情况下每秒能处理一百个请求也就是说QPS是一百, 如果需要的话你是可以申请把这个数值提升到每秒五百个请求的也就是500 QPS, 一旦超过这个限制了系统就会返回429这样的状态码。

幂等设计方面, create-order这一功能点是支持使用idempotency-key的, 这么做的目的就是为了防止因为网络进行重试这个行为而导致出现了重复下单的情况。

在隐私合规方面, 我们要依据ICANN注册数据政策来办事。API返回的注册者联系方式必须做脱敏处理。完整信息只能在走法定流程的时候才能调取。

关于日志留存这件事, 建议大家记录每一次请求的信息以及对应的响应结果, 要确保把这些东西保存下来, 而且不能少于6个月的时间段, 这么做的好处是能够方便大家去进行审计工作, 并且有利于在出现故障的时候对问题进行回溯。

上线前验证清单

目前沙箱环境已经把从查询开始, 接着去下单, 最后再进行支付这个完整的流程全部弄完了。

通过对WHOIS查询结果的仔细核验与确认, 目前注册者所提交的相关信息已经被证实为完全正确。

DNS解析的相关记录在进行生效这个操作的过程中, 会涉及到A记录的情况, 还有MX记录的情况。

批量100个域名5分钟内全部完成

对于异常订单, 其自动执行退款的整个业务流程目前已经成功打通。

在完成上述的接入工作以后, 用户方就可以把域名注册的相应功能嵌入到企业的IT采购系统当中或者SaaS产品里面, 进而达成涵盖查询环节直至最终生效环节在内的全过程自动化闭环状态, 彻底省去了需要由人工来对每条数据进行逐一操作的这一麻烦步骤。