API
了解 netcup API 的运作方式。
您可以在此处查阅 API 的技术文档:API 技术文档
客户控制面板 API (CCP-API)
CCP 中的 API 允许您以编程方式执行各种操作。
当前可用的 API 服务
- DNS API
- 通过 DNS API,您可以修改通过 netcup 域名服务器(Nameserver)连接的域名的 DNS 区域(Zone),并获取有关 DNS 区域和解析记录的信息。
- 域名分销 API (Domain Reselling API)
- 仅在与我们签订域名分销合同后方可使用。
- 该 API 允许您注册和转入域名、创建联系人标识(Handle)、将联系人标识分配给域名等。
身份验证
申请 API 密码和 API 密钥
要使用 API 功能,您需要准备以下凭证:
- 传统 DNS (Legacy DNS):传统 API 密钥 (Legacy API Key) 和 API 密码 (API Password)
- CloudDNS:API 密钥 (API Key)
要检查您的域名使用的是传统 DNS 还是 CloudDNS,请按照以下步骤操作:
- 登录客户控制面板 (CCP)。
- 前往左侧的 Domains(域名)菜单项。
- 在 Results(结果)区域中,点击相应域名旁边的放大镜图标。
如果域名使用的是 CloudDNS,您会看到 CloudDNS 选项卡,此时您需要一个 API Key。
如果域名使用的是普通 DNS,您会看到 DNS 选项卡,此时您需要一个 Legacy API Key。
您可以在 CCP 的 Master Data(主数据)> API 下找到所需的 API Key、Legacy API Key 和 Legacy API Password 相关信息。
创建 API 密钥 (API Key)
要连接到接口,您至少需要一个 API Key——您也可以在 CCP 的 Master Data > API 下创建。如需创建 API Key,请点击 API Keys 区域右下角的 Creating an API Key(创建 API 密钥)按钮。
API Key 由系统生成,长度足够长,以确保高安全性。
- 在提供的字段中输入新 API Key 的描述(最多 50 个字符)。
- 阅读 API 使用条款并勾选复选框表示同意。
- 然后,点击右下角的 Confirm(确认)按钮。
创建传统 API 密钥 (Legacy API Key)
如需创建 Legacy API Key,请点击 Legacy API Keys 区域右下角的 Creating an API Key(创建 API 密钥)按钮。
Legacy API Key 同样由系统生成,具备足够的长度以确保安全性。
- 阅读 API 使用条款并勾选复选框表示同意。
- 然后,点击右下角的 Confirm(确认)按钮。
您新创建的 API Key 将显示在 API Keys 或 Legacy API Keys 区域中,现在您可以将其配置到您的客户端中了。
重新生成传统 API 密码 (Legacy API Password)
在 Legacy API Keys 区域中,点击右下角的 Regenerating API Password(重新生成 API 密码)按钮。该密码由系统生成,您无法自行指定。
创建新密码后,您必须立即在客户端中更新该密码。API 密码仅在确认消息中向您显示一次。如果遗忘,您需要重新创建新密码,因为每个客户账户只能分配一个 Legacy API Password。因此,请务必妥善保管该密码。
勾选复选框以表示您同意创建密码的条款和条件,然后点击右下角的 Confirm(确认)按钮。
安全保存密码后,点击右下角的 Close(关闭)按钮。
删除 API 密钥
您可以创建多个 API Key 并分别进行删除。
如果删除了某个 API Key,您将无法再使用该密钥访问 API。
- 点击要删除的 API Key 旁边的垃圾桶图标。
- 点击右下角的 Confirm(确认)按钮。
API 身份验证机制
使用 API 时,您必须进行身份验证。每个操作任务都需要使用有效会话(以会话 ID / Session ID 形式)进行身份验证。
调用 login 方法时,您需要向我们发送:
- 您的客户编号 (Customer Number)
- 您的 API 密钥 (API Key)
- 您的 API 密码 (API Password)
系统验证后将返回一个生成的会话 ID。您需要该会话 ID 与 API 密钥配合使用以调用其他方法。通过该会话 ID,您即通过了我们 API 的身份验证。
在 15 分钟无操作后,会话将自动失效。或者,您也可以调用 logout 方法,该方法会立即使会话失效。
API 日志
在您的客户控制面板 (CCP)中,您可以在 Domains(域名)区域下的 API Log(API 日志)中查看最近执行的 API 操作。如果您不是域名分销商,该按钮将在您执行至少一次 API 操作后显示。
在该页面中,您可以查看时间、操作名称、状态、简要反馈、操作涉及的联系人标识 (Handle) 或域名、所使用的 API Key,以及消息被读取的时间(通过 ackpoll)。
正如截图中所示,在同一天的同一小时、分、秒内执行的操作不一定会按严格的时间先后顺序显示。
点击操作左侧的放大镜图标,您可以看到详细反馈、请求消息和响应消息。您还可以查看服务器请求 ID、客户端请求 ID、反馈编号以及所使用的消息格式。
反馈编号基于常见的 HTTP 状态码分组:
- 2*** 成功消息
- 4*** 通常为客户端错误
- 5*** 通常为服务端错误
系统会记录以下操作的日志:
- cancelDomain
- changeOwnerDomain
- createDomain
- createHandle
- deleteHandle
- getAuthcodeDomain
- transferDomain
- updateDnsRecords
- updateDnsZone
- updateDomain
- updateHandle
技术信息
API 端点 (Endpoint)
API 端点位于以下 URI:
https://ccp.netcup.net/run/webservice/servers/endpoint.php
API 请求的一般说明
- 输入与输出均为 UTF-8 编码。
- 包含特殊字符(例如德语变音字母)的域名在传输前必须转换为 Punycode。根据注册局的不同,某些特殊字符可能仍然不被支持,此时您将收到错误信息。
- 如果注册局的反馈发生变化(例如在转入过程中,从订单受理 “return receipt” 变为 “transfer successful”),即便之前已通过 ackpoll 读取过,该消息在 poll 期间也会附带新的反馈重新传输。
数据验证
- 可以使用 WSDL 中包含的 XSD 进行验证。
SOAP 请求 URI
https://ccp.netcup.net/run/webservice/servers/endpoint.php?WSDL
SOAP 请求说明
- 请按照函数定义或 WSDL 中的说明在客户端的 SOAP 调用中指定参数。
- 例如,可以使用我们生成的 SOAP 客户端:
https://ccp.netcup.net/run/webservice/servers/endpoint.php?PHPSOAPCLIENT
- 我们不保证该客户端完全无错误。市面上有许多免费的解决方案可以从 WSDL 生成您偏好编程语言的代码。
JSON 请求说明
发往服务器的消息(负载 payload)必须通过 POST 方式发送。登录请求示例如下:
{ "action":"login", "param":{ "apikey":"xxxxxxxxxxxx", "apipassword":"xxxx", "customernumber":"123456" }}JSON 请求 URI (REST)
https://ccp.netcup.net/run/webservice/servers/endpoint.php?JSON
JSON 请求重要说明
- 对于 REST 风格的请求,请使用 JSON URI。
- JSON 请求中参数的顺序无关紧要,因为参数是通过键名(Key)来标识的。
技术客户端与第三方库
请注意,我们对以下客户端的功能性、稳定性、可靠性等不承担任何责任。这些客户端并非由 netcup GmbH 开发或代表 netcup 开发,也未经过我们的测试。我们无法为其提供技术支持。如有任何疑问,请联系对应客户端的开发者。
我们的一些用户开发了可与我们 API 配合使用的客户端。我们非常赞赏用户的付出,并在此向大家推荐这些项目。如果您也为我们的 API 开发了客户端但未在下方列出,欢迎通过电子邮件向我们发送项目的简要说明,我们会将其收录进来。
目录
- 1 CCP API 客户端列表
- 1.1 DNS API
- 1.1.1 DNS 管理
- 1.1.2 动态 DNS (DDNS)
- 1.1.3 Let’s Encrypt 客户端
- 1.1.4 库与接口
- 1.1 DNS API
CCP API 客户端列表
DNS API
DNS 管理
- ncdapi (非官方 netcup DNS API 客户端)
- 适用于 netcup DNS API 的 Bash 客户端,允许修改和创建 DNS 记录以及导出和导入区域
- https://github.com/linux-insideDE/ncdapi
动态 DNS (Dynamic DNS)
- netcup DNS API 动态 DNS 客户端
- 支持 IPv6 的 PHP 版动态 DNS (DDNS) API 客户端
- https://github.com/stecklars/dynamic-dns-netcup-api
- 在 Netcup vServer 上通过 API 实现自建 DynDNS
- “Netcup 提供了用于查询和修改 DNS 数据的 API。Lars-Sören Steck 在 Github 上发布了可在客户端运行并通过该 API 更新动态 DNS 记录的代码。我将该代码库与我现有的代码融合,为 Netcup 搭建了一个 DynDNS 服务器。”
- https://www.onderka.com/computer-und-netzwerk/eigener-dyndns-auf-netcup-vserver-mit-api
- Go 编写的 netcup DNS API DynDNS 客户端
- 支持 IPv6 的 Go 语言动态 DNS (DDNS) API 客户端
- https://github.com/Hentra/dyndns-netcup-go
- ownDynDNS (适用于 FRITZ!Box 和 netcup DNS API 的自建动态 DNS PHP 脚本)
- 适用于 FRITZ!Box 路由器的 PHP 动态 DNS API 客户端(可直接集成到路由器中)
- https://github.com/fernwerker/ownDynDNS
- netcup-ddns
- 适用于运行 OpenWRT 的路由器的 Lua 动态 DNS API 客户端
- https://github.com/hazzl/netcup-ddns
- NetCupDynDNS
- 支持 IPv6 的 C# 动态 DNS (DDNS) API 客户端
- https://github.com/DjNemas/NetCupDynDNS
- netcup-ddns-for-mikrotik
- 用于在 Mikrotik 路由器上通过 netcup API 实现 DynDNS 的脚本
- https://github.com/toscdesign/netcup-ddns-for-mikrotik
Let’s Encrypt 客户端
- ACME-DNS-NC
- 适用于多种 Let’s Encrypt 客户端(如 GetSSL 和 acme.sh)的辅助脚本,用于自动化 dns-01 验证挑战 (DNS API)
- https://github.com/froonix/acme-dns-nc
- certbot-dns-netcup
- 适用于 Certbot 的 netcup DNS Authenticator 插件
- https://github.com/coldfix/certbot-dns-netcup
库与接口
- netcup_dns module
- Ansible 的 netcup_dns 模块(管理 netcup 托管的 DNS 记录)
- https://github.com/ansible/ansible/pull/44063
- nc_dnsapi
- 针对 netcup DNS API 的轻量级 Python API 包装库
- https://pypi.org/project/nc-dnsapi/
- dnssync_nc
- dnssync_nc 是一个 Python 包,可与 ISP netcup 的(公开非分销商)DNS API 进行交互
- https://github.com/johndoe31415/dnssync_nc
- phpnetcuplib
- phpnetcuplib 是一个 PHP 库,可与 ISP netcup 的公开分销商 API 进行交互
- https://github.com/goINPUT-IT-Solutions/phpnetcuplib
- netcup-node
- 适用于 Netcup CCP API 的 Node 包装库
- https://github.com/proohit/netcup-node
- https://www.npmjs.com/package/netcup-node
DNS API
CCP API 的 DNS 功能 (DNS API) 允许您修改通过 netcup 域名服务器解析的域名的 DNS 区域,并获取有关 DNS 区域及记录的信息。
所提供的功能以 CCP 中“DNS”区域已有功能为基础。我们的帮助中心中已提供了详细文档。
下面我们将介绍使用 DNS API 的基础知识。
前提条件
使用 DNS API 无需满足特殊门槛。任何在 netcup 拥有域名的客户均可使用 DNS API。关键前提是待编辑的域名必须设置使用 netcup 的域名服务器。如果您使用的是外部域名服务器,我们无法为其提供 API。DNS API 面向具有 DNS 解析记录修改和创建经验的用户。
请注意:无效或错误的 DNS 记录可能会影响域名的正常访问。
功能列表
通过 DNS API,您目前可以:
- 登录或登出 API
- 方法: login 或 logout
- 获取域名的 DNS 区域信息
- 方法: infoDnsZone
- 获取某个区域的所有 DNS 记录
- 方法: infoDnsRecords
- 修改域名的 DNS 区域
- 方法: updateDnsZone
- 修改某个区域的 DNS 记录
- 方法: updateDnsRecords
您通过 API 所做的所有更改均可在 CCP 中实时查看,反之亦然。
域名分销 API (Domain Reselling API)
通过 CCP API 的域名分销功能 (Domain Reselling API),您可以作为域名分销商对域名执行各种操作。该 API 允许您注册和转入域名、创建联系人标识 (Handle)、为域名分配联系人标识等。
所提供的功能以 CCP 中域名分销已有功能为基础。您可以参考相关的文档。
下面我们将介绍使用域名分销 API 的基础知识。
前提条件
要使用域名分销 API,您需要满足以下条件:
- 您必须是 netcup 的域名分销商才能使用该域名分销 API:订购分销等级 (Reseller Level)
- 域名分销 API 面向对域名操作具有一定经验的客户。
- 当使用需要指定域名服务器的 API 功能时,必须运行至少两台自有的域名服务器。在此情况下,您无法使用我们提供的域名服务器。如果希望使用我们的域名服务器,请在注册或转入后通过 CCP 执行相应操作。
- 例如,可以在您的 VPS / 虚拟专用服务器上使用 netcup 预配置的 PowerDNS 镜像来自行安装域名服务器。
功能列表
通过域名分销 API,您目前可以:
- 登录或登出 API
- 方法: login 或 logout
- 创建、编辑和删除联系人标识 (Handle)
- 方法: createHandle、updateHandle 和 deleteHandle
- 列出所有已创建的联系人标识
- 方法: listallHandle
- 注册和转入域名
- 方法: createDomain 和 transferDomain
- 列出所有已创建的域名
- 方法: listallDomains
- 获取域名的授权码 (Authcode)
- 方法: getAuthcodeDomain
- 赎回/取消域名
- 方法: cancelDomain
- 执行域名所有权过户变更
- 方法: changeOwnerDomain
- 执行域名更新(修改联系人标识和域名服务器)
- 方法: updateDomain
- 获取域名或联系人标识的信息
- 方法: infoDomain 或 infoHandle
- 查询特定顶级域名 (TLD) 的价格
- 方法: priceTopleveldomain
- 接收已执行域名订单的反馈并将其标记为已读
- 方法: poll 和 ackpoll
您通过 API 所做的所有更改均可在 CCP 中实时查看,反之亦然。
限制条件
- 通过 API 执行域名订单时(使用 createDomain / transferDomain 方法):
- 必须指定您自己的联系人标识 (Handle)。无法使用我们的标准标识。
- 如果域名设置了我们的标准标识,则该域名的解约和所有权变更只能通过 CCP 进行。
- 域名始终作为额外域名创建。无法通过 API 注册包含在套餐内的包月域名 (inclusive domain)。
- 必须指定您自己的联系人标识 (Handle)。无法使用我们的标准标识。
- 如前述前提条件中所述,当使用需要域名服务器信息的 API 功能时,您需要指定并运行自有的域名服务器。您也可以在我们的 VPS 上使用 PowerDNS 镜像。
如果您仍希望使用上述功能,可以通过您的 CCP 执行所需操作。
- 日志中仅记录以下操作:cancelDomain、createDomain、changeOwnerDomain、createHandle、deleteHandle、getAuthcodeDomain、transferDomain、updateDnsRecords、updateDnsZone、updateDomain、updateHandle
您可能还感兴趣:
最后更新:2026年8月18日