You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何通过GoDaddy API注册域名?查询订单接口返回空结果求助

用GoDaddy API注册域名的正确姿势

嘿,你现在调用的/v1/orders是查询已有订单的接口,不是注册域名的!所以返回空订单数组完全正常(毕竟还没注册目标域名嘛)。下面给你一步步讲清楚怎么用API注册域名:

第一步:先查域名能不能注册

注册前必须确认目标域名是可注册状态,用这个GET接口查询:

curl -X GET "https://api.godaddy.com/v1/domains/available?domain=example.guru&checkType=FULL" \
-H "accept: application/json" \
-H "X-Market-Id: en-US" \
-H "Authorization: sso-key [key]:[secret]"

看响应里的available字段,值为true就说明这个域名能注册,可以放心往下走。

第二步:调用注册接口提交请求

确认域名可用后,用POST请求到/v1/domains接口完成注册,需要填全必要的信息:

curl -X POST "https://api.godaddy.com/v1/domains" \
-H "accept: application/json" \
-H "Content-Type: application/json" \
-H "X-Market-Id: en-US" \
-H "Authorization: sso-key [key]:[secret]" \
-d '{
  "domain": "example.guru",
  "period": 1, # 注册年限,一般1-10年,具体看域名后缀支持情况
  "privacy": false, # 是否开启域名隐私保护
  "autoRenew": true, # 是否开启自动续费
  "contactRegistrant": {
    "addressMailing": {
      "address1": "123 Main St",
      "city": "Phoenix",
      "state": "AZ",
      "postalCode": "85001",
      "country": "US"
    },
    "email": "registrant@example.com",
    "nameFirst": "John",
    "nameLast": "Doe",
    "phone": "+1.6025551212" # 必须带国际区号,格式要正确
  },
  "contactAdmin": {
    # 格式和注册人一致,填写管理员信息
    "addressMailing": {
      "address1": "123 Main St",
      "city": "Phoenix",
      "state": "AZ",
      "postalCode": "85001",
      "country": "US"
    },
    "email": "admin@example.com",
    "nameFirst": "John",
    "nameLast": "Doe",
    "phone": "+1.6025551212"
  },
  "contactTech": {
    # 格式和注册人一致,填写技术联系人信息
    "addressMailing": {
      "address1": "123 Main St",
      "city": "Phoenix",
      "state": "AZ",
      "postalCode": "85001",
      "country": "US"
    },
    "email": "tech@example.com",
    "nameFirst": "John",
    "nameLast": "Doe",
    "phone": "+1.6025551212"
  }
}'

几个关键提醒:

  • 联系人信息是必填项,格式一定要准确,尤其是电话号码必须带国际区号(比如+1+86
  • 如果你的账户有默认支付方式,接口会自动使用该方式扣费;需要指定支付方式的话,在请求体里添加"paymentProfileId": "你的支付ID"即可
  • 部分特殊域名后缀可能有额外资质要求,注册前最好提前确认

第三步:验证注册结果

注册成功后,再调用你之前用的/v1/orders接口,去掉不必要的时间参数,只指定域名:

curl -X GET "https://api.godaddy.com/v1/orders?domain=example.guru" \
-H "accept: application/json" \
-H "X-Market-Id: en-US" \
-H "Authorization: sso-key [key]:[secret]"

这次就能查到对应域名的注册订单数据了~

另外,你之前调用/v1/orders返回空数组,要么是还没注册这个域名,要么是你填的periodStart/periodEnd时间范围不对,调整一下参数就能正常返回啦。

内容的提问来源于stack exchange,提问作者Denis Zavyalov

火山引擎 最新活动