cloudns/cloudns-sdk

ClouDNS HTTP API 的 PHP SDK

安装: 1,382

依赖: 0

建议者: 0

安全: 0

星标: 17

关注者: 6

分支: 9

开放问题: 0

类型:项目

dev-master 2023-12-06 13:58 UTC

This package is not auto-updated.

Last update: 2024-09-26 04:28:49 UTC


README

简介

这是 ClouDNS HTTP API 的 SDK。本文件提供了如何实现和使用 ClouDNS SDK 的指南和示例。您可以在 cloudns.net 上了解更多关于 API 的信息。

SDK 基于以下 HTTP API 中使用的方法。

目录

基本集成和需求

这是使用/实现 ClouDNS SDK 的最小要求

  • PHP 5 或更高版本;
  • 访问 ClouDNS HTTP API;

安装

下载

  1. 下载 SDK 文件。
  2. 将 SDK 文件添加到您的项目文件夹中。
  3. 将其包含在您的项目中。以下是一个基本示例:
<?php
include "ClouDNS_SDK.php";

...

?>

composer

  1. 使用 composer require cloudns/cloudns-sdk 安装。
<?php

require_once(__DIR__."/vendor/autoload.php");

use ClouDNS\ClouDNS_SDK;

初始化

要访问和使用 SDK 中包含的方法,需要输入并验证 HTTP API 凭证。

  • 对于 API 用户
<?php
$exampleVar = new ClouDNS_SDK('0000', '123456789', false);

?>

其中 0000 是 API 用户的 ID (auth-id),123456789 是 API 用户的密码 (auth-password),false 表示 API 用户的类型。

  • 对于具有 ID 授权的 API 子用户(sub-auth-id)
<?php
$exampleVar = new ClouDNS_SDK('0000', '123456789', true);

?>

其中 0000 是 API 子用户的 ID (sub-auth-id),123456789 是 API 子用户的密码 (auth-password),true 表示 API 用户的类型。

  • 对于具有用户授权的 API 子用户(sub-auth-user)
<?php
$exampleVar = new ClouDNS_SDK('username', '123456789', true);

?>

其中 username 是为 API 子用户设置的名称(sub-auth-user),123456789 是 API 子用户的密码(auth-password),true 表示 API 用户的类型。

SDK 函数

在这里,您可以找到 SDK 中每个方法的使用示例。方法以 PHP 函数调用的形式呈现,并分为四个主要类别 - DNS(用于 DNS 区域、记录等)、Domain(用于注册的域名)、SSL(用于 SSL 证书)和 Sub(用于子用户)。它们只能在成功登录到 API 后使用。

函数的基本结构如下

exampleFunction (arg1, arg2, arg3, ... , argN);

其中 exampleFunction 是将被调用的函数名称,(arg1, arg2, arg3, ... , argN) 是当前函数所需的参数。除了必需的参数外,还有 可选 参数,仅在特定情况下使用,因此始终位于函数的末尾。如果某些函数不需要 可选 参数,则可以将其输入为空、NULL 值或跳过。以下是一个函数,其中 arg1arg2 是必需参数,而 arg3arg4 是可选参数

exampleFunction (arg1, arg2, NULL, " ");

exampleFunction (arg1, arg2);

如你所见,可选 参数位于函数的末尾,可以输入为 NULL 和/或空值和/或跳过。

请注意,在某些情况下,您必须输入某些 可选 参数并忽略其他参数 - 例如,忽略 arg3 并输入 arg4。在这种情况下,您可以输入 arg3NULL 或空值 ' ',但不能跳过它。

DNS

1. 可用名称服务器。
  • 描述:获取可用的域名服务器列表。

  • 示例:


<?php
$exampleVar->dnsAvailableNameServers();

?>

2. 创建新的DNS区域。
  • 描述:在您的账户中创建/添加一个新的DNS区域。适用于主DNS区域、从DNS区域、停机DNS区域、GeoDNS和反向DNS区域。

  • 示例:


<?php
$exampleVar->dnsResgisterDomainZone('domain.tld', 'zone type', array ('ns1', 'ns2', 'nsn'...), '1.2.3.4');

?>

3. 删除DNS区域。
  • 描述:删除现有的DNS区域。适用于主DNS区域、从DNS区域以及反向区域和云/批量域名。

  • 示例:

<?php
$exampleVar->dnsDeleteDomainZone('domain.tld');

?>

4. 列出DNS区域。
  • 描述:获取您账户中所有DNS区域或仅匹配特定条件(关键字)的DNS区域列表。

  • 示例:

<?php
$exampleVar->dnsListZones('current page', 'results per page', 'keyword');

?>

5. 获取页面数。
  • 描述:当前账户中DNS区域的页面数量。可以与条件(关键字)结合使用以给出结果。

  • 示例:

<?php
$exampleVar->dnsGetPagesCount('results per page', 'keyword');

?>

6. 获取区域统计信息。
  • 描述:显示账户中当前DNS区域数量以及账户订阅计划可用的区域限制信息。

  • 示例:

<?php
$exampleVar->dnsGetZonesStatistics();

?>

7. 获取区域信息。
  • 描述:显示DNS区域的信息 - 状态、类型。

  • 示例:

<?php
$exampleVar->dnsGetZoneInformation('domain.tld');

?>

8. 更新区域。
  • 描述:更新DNS区域。

  • 示例:

<?php
$exampleVar->dnsUpdateZone('domain.tld');

?>

9. 更新状态。
  • 描述:显示DNS区域更新状态以及名称服务器列表的信息。

  • 示例:

<?php
$exampleVar->dnsUpdateStatus('domain.tld');

?>

10. 是否已更新。
  • 描述:显示DNS区域列表的更新状态 - 如果所有服务器都已更新则为TRUE,否则为FALSE

  • 示例:

<?php
$exampleVar->dnsIsUpdated('domain.tld');

?>

11. 更改区域状态。
  • 描述:更改DNS区域的状态 - 活跃/非活跃。

  • 示例:

<?php
$exampleVar->dnsChangeZonesStatus('domain.tld', 'status');

?>

12. 列出记录。
  • 描述:显示当前DNS区域中的记录列表。结果也可以基于主机名和/或记录类型。

  • 示例:

<?php
$exampleVar->dnsListRecords('domain.tld', 'host', 'record type');

?>

13. 添加记录。
  • 描述:向DNS区域添加记录。

  • 示例:

<?php
$exampleVar->dnsAddRecord("domain.tld", "record type", "host", "record", ttl, priority, weight, port, frame, "frame-title", "frame-keywords", "frame-description", save-path, redirect-type, "mail", "txt", algorithm, fptype, status, geodns-location, caa-flag, "caa-type", "caa-value");

?>

14. 删除记录。
  • 描述:在DNS区域中删除记录。

  • 示例:

<?php
$exampleVar->dnsDeleteRecord('domain.tld', "recordID");

?>

15. 修改记录。
  • 描述:修改(编辑)记录。

  • 示例:

<?php
$exampleVar->dnsModifyRecord("domain.tld", "recordID", "host", "record", ttl, priority, weight, port, frame, "frame-title", "frame-keywords", "frame-description", save-path, redirect-type, "mail", "txt", algorithm, fptype, status, geodns-location, caa-flag, "caa-type", "caa-value");

?>

16. 复制记录。
  • 描述:从特定区域复制所有记录。

  • 示例:

<?php
$exampleVar->dnsCopyRecords('domain.tld', 'domain2.tld', delete-records);

?>

17. 导入记录。
  • 描述:导入区域记录。

  • 示例:

<?php
$exampleVar->dnsImportRecords('domain.tld', 'format', 'records-list', delete-records);

?>

18. 以BIND格式导出记录。
  • 描述:以BIND格式导出区域记录。

  • 示例:

<?php
$exampleVar->dnsExportRecordsBIND('domain.tld');

?>

19. 获取可用的记录类型。
  • 描述:显示基于DNS区域类型的可设置的可用的记录类型。

  • 示例:

<?php
$exampleVar->dnsGetAvailableRecords('zone-type');

?>

20. 获取可用的TTL。
  • 描述:显示可设置的记录的可用的TTL。

  • 示例:

<?php
$exampleVar->dnsGetAvailableTTL();

?>

21. 获取SOA详细信息。
  • 描述:显示DNS区域的SOA详细信息。

  • 示例:

<?php
$exampleVar->dnsGetSOA('domain.tld');

?>

22. 修改SOA详细信息。
  • 描述:修改(编辑)DNS区域的SOA详细信息。

  • 示例:

<?php
$exampleVar->dnsModifySOA('domain.tld', 'ns.nameserver.tld', 'example@email.tld', refresh, retry, expire, ttl);

?>

23. 获取DynamicURL。
  • 描述:返回A或AAAA记录的DynamicURL。

  • 示例:

<?php
$exampleVar->dnsGetDynamicURL('domain.tld', recordID);

?>

24. 禁用DynamicURL。
  • 描述:禁用A或AAAA记录的DynamicURL。

  • 示例:

<?php
$exampleVar->dnsDisableDynamicURL('domain.tld', recordID);

?>

25. 更改DynamicURL。
  • 描述:更改A或AAAA记录的DynamicURL。

  • 示例:

<?php
$exampleVar->dnsChangeDynamicURL('domain.tld', recordID);

?>

26. 更改记录的状态。
  • 描述:更改记录的状态为活跃/非活跃。

  • 示例:

<?php
$exampleVar->dnsChangeRecordStatus('domain.tld', recordID, status);

?>

27. 添加主服务器。
  • 描述:将新的主服务器添加到DNS区域。仅适用于辅助DNS区域和辅助反向DNS区域。

  • 示例:

<?php
$exampleVar->dnsAddMasterServer('domain.tld', 'IP');

?>

28. 删除主服务器。
  • 描述:删除DNS区域的主服务器。仅适用于从DNS区域和从反向DNS区域。

  • 示例:

<?php
$exampleVar->dnsDeleteMasterServer('domain.tld', masterID);

?>

29. 列出主服务器。
  • 描述:列出DNS区域的主服务器。仅适用于从DNS区域和从反向DNS区域。

  • 示例:

<?php
$exampleVar->dnsListMasterServer('domain.tld');

?>

30. 获取邮件转发统计信息。
  • 描述:提供有关账户中邮件服务器数量和可用邮件转发限制的详细信息。

  • 示例:

<?php
$exampleVar->dnsMailForwardsStats();

?>

31. 可用的邮件转发服务器。
  • 描述:显示账户的可用的邮件转发服务器。

  • 示例:

<?php
$exampleVar->dnsAvailableMailForwards();

?>

32. 添加邮件转发。
  • 描述: 向DNS区域添加新的邮件转发。

  • 示例:

<?php
$exampleVar->dnsAddMailForward('domain.tld', 'box', 'host', 'destination-mail');

?>

33. 删除邮件转发。
  • 描述: 删除指定DNS区域的邮件转发。

  • 示例:

<?php
$exampleVar->dnsDeleteMailForward('domain.tld', mailID);

?>

34. 修改(编辑)邮件转发。
  • 描述: 修改DNS区域的邮件转发。

  • 示例:

<?php
$exampleVar->dnsModifyMailForward('domain.tld', 'box', 'host', 'destination-mail', mailID);

?>

35. 列出邮件转发。
  • 描述: 列出DNS区域的邮件转发。

  • 示例:

<?php
$exampleVar->dnsListMailForwards('domain.tld');

?>

36. 添加云域名。
  • 描述: 添加云域名。

  • 示例:

<?php
$exampleVar->dnsAddCloudDomain('domain.tld', 'cloud-domain.tld');

?>

37. 删除云域名。
  • 描述: 删除云域名。

  • 示例:

<?php
$exampleVar->dnsDeleteCloudDomain('cloud-domain.tld');

?>

38. 更改云域名主。
  • 描述: 设置云域名的新的主域名。

  • 示例:

<?php
$exampleVar->dnsChangeCloudMaster('domain.tld');

?>

39. 列出云域名。
  • 描述: 列出云中的所有域名。

  • 示例:

<?php
$exampleVar->dnsListCloudDomains('domain.tld');

?>

40. 允许新的IP。
  • 描述: 允许从服务器进行区域传输的新IP地址。

  • 示例:

<?php
$exampleVar->dnsAllowNewIP('domain.tld', 'IP');

?>

41. 删除允许的IP。
  • 描述: 从区域传输中移除从服务器的IP地址。

  • 示例:

<?php
$exampleVar->dnsDeleteAllowedIP('domain.tld', serverID);

?>

42. 列出允许的IP。
  • 描述: 列出用于区域传输的所有允许的IP地址。

  • 示例:

<?php
$exampleVar->dnsListAllowedIP('domain.tld');

?>

43. 每小时统计。
  • 描述: 显示DNS区域的每小时统计信息。

  • 示例:

<?php
$exampleVar->dnsHourlyStatistics('domain.tld', year, month, day);

?>

44. 每日统计。
  • 描述: 显示DNS区域的每日统计信息。

  • 示例:

<?php
$exampleVar->dnsDailyStatistics('domain.tld', year, month);

?>

45. 每月统计。
  • 描述: 显示DNS区域的每月统计信息。

  • 示例:

<?php
$exampleVar->dnsMonthlyStatistics('domain.tld', year);

?>

46. 年度统计。
  • 描述: 显示DNS区域的年度统计信息。

  • 示例:

<?php
$exampleVar->dnsYearlyStatistics('domain.tld');

?>

47. 近30天的统计。
  • 描述: 显示DNS区域过去30天的统计信息。

  • 示例:

<?php
$exampleVar->dnsLast30DaysStatistics('domain.tld');

?>

48. 获取停用页面的模板。
  • 描述: 显示我们提供的模板。

  • 示例:

<?php
$exampleVar->dnsGetParkedTemplates();

?>

49. 获取停用区域设置。
  • 描述: 显示停用区域的设置。

  • 示例:

<?php
$exampleVar->dnsGetParkedSettings('domain.tld');

?>

50. 修改停用区域设置。
  • 描述: 修改(编辑)停用区域的设置。

  • 示例:

<?php
$exampleVar->dnsModifyParkedSettings('domain.tld', templateID, 'title', 'description', 'keywords', contact-form);

?>

51. 列出GeoDNS位置。
  • 描述: 列出所有GeoDNS位置。

  • 示例:

<?php
$exampleVar->dnsListGeoDNSLocations('domain.tld');

?>

52. 添加组。
  • 描述: 创建新组并立即将该DNS区域添加到组中。

  • 示例:

<?php
$exampleVar->dnsAddGroup('domain.tld', 'name');

?>

53. 更改组。
  • 描述: 更改DNS区域所属的组。

  • 示例:

<?php
$exampleVar->dnsAddGroup('domain.tld', 'group-id');

?>

54. 列出组。
  • 描述: 获取您为DNS区域添加的所有组的列表。

  • 示例:

<?php
$exampleVar->dnsListGroups();

?>

55. 删除组。
  • 描述: 删除您的某个组。

  • 示例:

<?php
$exampleVar->dnsDeleteGroup('group-id');

?>

56. 重命名组。
  • 描述: 重命名您的某个组。

  • 示例:

<?php
$exampleVar->dnsRenameGroup('group-id', 'new-name);

?>

域名

1. 检查可用性。
  • 描述: 检查域名是否可用于注册。

  • 示例:

<?php
$exampleVar->domainCheckAvailability('domain', array ('com', 'net', ... , 'tld'));

?>

2. 域名价格表。
  • 描述: 显示域名价格表。

  • 示例:

<?php
$exampleVar->domainsPriceList();

?>

3. 注册新域名。
  • 描述: 提交新域名注册的订单。

  • 示例:

<?php
$exampleVar->domainsRegisterNewDomain('domain', 'tld', period, 'example@mail.tld', 'Name', 'Address', 'City', 'State', 'zip', 'Country', phone-code, phone-number, 'Company', fax-code, fax-number, array ('ns1.nameserver.tld', ... , 'nsn.nameserver.tld'), 'registrant-type', 'registrant-type-id', registrant-policy, 'birth-date', 'birth-cc', 'birth-city', 'city-postal-code', 'publication', 'VAT-number', 'Siren-number', 'DUNS-number', 'trademark', 'Waldec-number', 'organization-type', 'privacy-protection', code, 'publicity', 'kpp', 'passport-number', 'passport-issued-by', 'passport-issued-on');

?>

4. 续费域名。
  • 描述: 提交域名续费的订单。

  • 示例:

<?php
$exampleVar->domainsRenewDomain('domain.tld', period);

?>
  • 'domain.tld' - 将续费的域名。
  • '1' - 域名将续费的期限。

5. 转移域名。
  • 描述: 启动域名转移过程。

  • 示例:

<?php
$exampleVar->domainsTransferDomain('domain', 'tld', 'example@mail.tld', 'Name', 'Address', 'City', 'State', zip, 'Country', phone-code, phone-number, 'Company', fax-code, fax-number, transfer-code, 'registrant-type', 'birth-date', 'birth-cc', 'birth-city', 'city-postal-code', 'publication', 'VAT-number', 'Siren-number', 'DUNS-number', 'trademark', 'Waldec-number', 'organization-type-other', 'privacy-protection', 'code', 'registrant-type-id', 'publicity', array('ns'), 'kpp', 'passport-number', 'passport-issued-by', 'passport-issued-on');
;

?>

6. 列出已注册域名。
  • 描述: 获取已注册域名的列表。可以与特定的标准(关键字)结合,结果将基于此标准。

  • 示例:

<?php
$exampleVar->domainsListRegisteredDomains(rows-per-page, page, 'keyword');

?>

7. 获取页面数量。
  • 描述: 当前账户中注册域名的页面数量。可以与标准(关键字)结合,以提供基于标准的结果。

  • 示例:

<?php
$exampleVar->domainsGetPagesCount('rows-per-page', 'keyword');

?>

8. 域名信息。
  • 描述: 提供域名信息。

  • 示例:

<?php
$exampleVar->domainsDomainInfo('domain.tld');

?>

9. 联系方式。
  • 描述: 以四个组显示已注册域名的联系细节:注册人详细信息、行政联系人、技术联系人和账单联系人。

  • 示例:

<?php
$exampleVar->domainsGetContacts('domain.tld');

?>

10. 修改联系方式。
  • 描述: 以四个组显示已注册域名的联系细节:注册人详细信息、行政联系人、技术联系人和账单联系人。

  • 示例:

<?php
$exampleVar->domainsModifyContacts('domain', 'tld', 'details-type', 'example@mail.tld', 'John Doe', 'Company', 'Address', 'City', 'State', zip, 'Country', phone-code, phone-number, fax-code, fax-number);

?>

11. 列出域名服务器。
  • 描述: 显示已注册域名名称的域名服务器列表。

  • 示例:

<?php
$exampleVar->domainsListNameServers('domain.tld');

?>

12. 修改域名服务器。
  • 描述:修改已注册域名的主名服务器。

  • 示例:

<?php
$exampleVar->domainsModifyNameServers('domain.tld', array ('ns1.nameserver.tld', ... , 'nsn.nameserver.tld));

?>

13. 获取子名服务器。
  • 描述:显示域名的子名服务器列表(Glue记录)。

  • 示例:

<?php
$exampleVar->domainsGetChildNameServers('domain.tld');

?>

14. 添加子名服务器。
  • 描述:将子名服务器添加到域名。

  • 示例:

<?php
$exampleVar->domainsAddChildNameServers('domain.tld', 'host', 'IP');

?>

15. 删除子名服务器。
  • 描述:从域名中删除子名服务器。

  • 示例:

<?php
$exampleVar->domainsDeleteChildNameServers('domain.tld', 'host', 'IP');

?>

16. 修改子名服务器。
  • 描述:修改域名的子名服务器。

  • 示例:

<?php
$exampleVar->domainsModifyChildNameServers('domain.tld', 'host', 'IP', 'newIP');

?>

17. 修改隐私保护。
  • 描述:启用/禁用域名的隐私保护。其当前状态可以从“域名信息”功能中获取。

  • 示例:

<?php
$exampleVar->domainsModifyPrivacyProtection('domain.tld', status);

?>

18. 修改转移锁定。
  • 描述:启用/禁用域名的转移锁定。其当前状态可以从“域名信息”功能中获取。

  • 示例:

<?php
$exampleVar->domainsModifyTransferLock('domain.tld', status);

?>

19. 获取转移代码。
  • 描述:显示域名的转移代码(认证代码)。

  • 示例:

<?php
$exampleVar->domainsGetTransferCode('domain.tld');

?>

20. 重新发送RAA验证。
  • 描述:重新发送验证邮件到域名的管理联系人。

  • 示例:

<?php
$exampleVar->domainsResendRAAVerification('domain.tld');

?>

SSL

1. 订单新的SSL。
  • 描述:下单新的SSL证书。

  • 示例:

<?php
$exampleVar->sslOrderNewSSL('domain.tld', period, type);

?>

2. 列出证书。
  • 描述:获取已订购和拥有的SSL证书列表。

  • 示例:

<?php
$exampleVar->sslListOrderedCertificates('page', rows-per-page);

?>

3. 获取页面数量。
  • 描述:显示SSL证书的页面数量。

  • 示例:

<?php
$exampleVar->sslGetPagesCount(rows-per-page);

?>

4. SSL信息。
  • 描述:显示SSL证书的信息。

  • 示例:

<?php
$exampleVar->sslInformation(sslID);

?>

5. 提交CSR。
  • 描述:提交SSL证书的CSR密钥。

  • 示例:

<?php
$exampleVar->sslSubmitCSR(sslID, 'example@mail.tld', 'csr');

?>

6. 续订SSL。
  • 描述:续订SSL证书。

  • 示例:

<?php
$exampleVar->sslRenew('sslID', period);

?>

7. 更改SSL验证电子邮件。
  • 描述:更改SSL证书的验证电子邮件。

  • 示例:

<?php
$exampleVar->sslChangeVerificationMail('sslID', 'example@mail.tld');

?>

8. 重新发行SSL。
  • 描述:重新发行SSL证书。

  • 示例:

<?php
$exampleVar->sslReissue('sslID', 'example@mail.tld', 'csr');

?>

9. 列出SSL验证电子邮件。
  • 描述:显示所有允许的SSL证书验证电子邮件列表。

  • 示例:

<?php
$exampleVar->sslListVerificationMails('ssl_id');

?>

子用户

1. 添加新子用户。
  • 描述:添加新的API子用户。

  • 示例:

<?php
$exampleVar->subAddNewUser('password', zone-amount, mf-amount, 'IP');

?>

2. 获取子用户信息。
  • 描述:显示API子用户的信息。

  • 示例:

<?php
$exampleVar->subGetUserInfo('id');

?>

3. 获取页面数量。
  • 描述:显示具有子用户的页面数量。

  • 示例:

<?php
$exampleVar->subGetPagesCount(rows-per-page);

?>

4. 列出子用户。
  • 描述:显示所有API子用户列表。

  • 示例:

<?php
$exampleVar->subListSubUsers(page, rows-per-page);

?>

5. 修改区域限制。
  • 描述:修改(编辑)子用户可用的区域数量。

  • 示例:

<?php
$exampleVar->subModifyZonesLimit(id, zone-amount);

?>

6. 修改邮件转发限制。
  • 描述:修改(编辑)子用户可用的邮件转发数量。

  • 示例:

<?php
$exampleVar->subModifyMailForwardsLimit(id, mf-amount);

?>

7. 添加新IP。
  • 描述:将新IP地址添加到白名单中,子用户将从该IP地址访问。

  • 示例:

<?php
$exampleVar->subAddIP(id, 'IP');

?>

8. 移除IP。
  • 描述:从白名单中移除IP地址。

  • 示例:

<?php
$exampleVar->subRemoveIP('id', 'IP');

?>

9. 修改状态。
  • 描述:激活/停用API子用户。

  • 示例:

<?php
$exampleVar->subModifyStatus(id, status);

?>

10. 修改密码。
  • 描述:修改(更改)API子用户的密码。

  • 示例:

<?php
$exampleVar->subModifyPassword(id, 'password');

?>

11. 委托区域。
  • 描述:将DNS区域的托管委托给API子用户。

  • 示例:

<?php
$exampleVar->subDelegateZone(id, 'domain.tld');

?>

12. 移除区域委托。
  • 描述:从API子用户中移除已委托的DNS区域。

  • 示例:

<?php
$exampleVar->subRemoveZoneDelegation(id, 'domain.tld');

?>

13. 删除子用户。
  • 描述:删除子用户。

  • 示例:

<?php
$exampleVar->subDeleteSubUser(id);

?>