juangirini/osrs-toolkit-php

OpenSRS PHP 工具包

dev-master 2016-02-23 09:43 UTC

This package is auto-updated.

Last update: 2024-09-23 14:54:49 UTC


README

构建这些库的目的是为了帮助简化 OpenSRS API 的实现。它不仅为开发应用程序提供了一个起点,允许快速集成,而且还集成了新的通信标记语言,如 JSON 和 YAML。

入门指南

  1. 下载并安装工具包

  2. 在 opensrs 目录中,将 openSRS_config.php.template 重命名为 openSRS_config.php

  3. 在文本编辑器中打开 openSRS_config.php 并填写您的分销商详细信息 在此处

  4. 按照指南开始开发您的应用程序。

就是这样!

设置 openSRS_config.php

OSRS_HOST

  • 生产环境: rr-n1-tor.opensrs.net
  • 测试环境: horizon.opensrs.net

CRYPT_TYPE

OpenSRS 默认加密类型

  • ssl(默认)
  • sslv3
  • tls

请注意,OpenSSL 版本 1.0.1e 与 "ssl" 加密类型不兼容

OSRS_USERNAME

OpenSRS 分销商用户名

OSRS_KEY

OpenSRS 私钥 生成密钥,请登录以下地址的 RWI

在 RWI 中,配置文件管理 > 生成新私钥

OSRS_DEBUG

当设置为 1 时,工具包将输出原始 XML 请求/响应。

MAIL_HOST

MAIL_USERNAME

公司级电子邮件管理员用户名

MAIL_PASSWORD

公司级电子邮件管理员密码

MAIL_ENV

邮件环境 - 生产环境或测试环境

示例 API 调用

  • 查找域名
require_once ("your_root_path/opensrs/openSRS_loader.php");

$callArray = array (
        "func" => "lookupLookupDomain",
        "data" => array (
                "domain" => "sometest.com",
        )
);

$osrsHandler = processOpenSRS ("array", $callArray);

var_dump($osrsHandler);

要求

此 PHP 库目前支持以 JSON 和 YAML 格式传递数据(它还扩展到以 XML 和数组格式传递数据)。

OpenSRS PHP 工具包需要

注意:最好使用 PHP 5.3+,因为 json_encode 和 json_decode 在该版本及以上版本中是标准化的。如果需要 PHP 5 的早期版本,则需要从 http://pecl.php.net/package/json 获取 php-json 库。

生成私钥

要生成密钥,请登录以下地址的 RWI

LIVE:  https://rr-n1-tor.opensrs.net/resellers/
TEST:  https://horizon.opensrs.net/resellers/

注意:测试系统与生产系统非常不同。因此,在测试期间,您收到的结果与您在生产系统上得到的结果非常不同。个人名称和域名搜索将产生不同的结果。

一旦认证,请将页面滚动到底部,在标题为“配置文件管理”的地方。在这里,有一个名为“生成新私钥”的链接。如果您确定要继续,请单击警告窗口中的“确定”按钮。此窗口确保您希望生成新密钥。刷新后,您将看到一个类似以下结构的密钥

a2e308f4df69c969de9ada09c39bb43d0e4d0a88ce83fd2c0a193328d16e8bf5080ee7e0ef388fd8aa0dfb42d33dcd02d3de321c9af1f06b

这是您用于与API一起工作的基本认证密钥。务必将此密钥保密!

白名单IP地址

一旦您生成了密钥(如上所述),您还需要将您的IP地址添加到白名单。如果没有这样做,将收到错误,并且无法继续使用API。要添加IP地址到白名单,请登录RWI中的LIVE或TEST环境(如第2.1.0节所述)。滚动到屏幕底部的“配置文件管理”部分,那里有一个名为“添加脚本/API访问的IP地址”的链接。点击该链接后,您可以通过输入应用程序托管的主机子网来“添加新规则”。默认情况下,可以添加总共5个地址。

重要提示:添加新IP地址可能需要15分钟才能在我们的系统中传播。

账户配置协议(APP)服务

这些APP库最终将被OMA取代。

注意:APP_MAIL_USERNAME、APP_MAIL_PASSWORD和APP_MAIL_DOMAIN都是具有公司级访问权限的邮箱元素。

邮箱结构如下

邮箱地址:APP_MAIL_USERNAME@APP_MAIL_DOMAIN 邮箱密码:APP_MAIL_PASSWORD

define('APP_MAIL_HOST', 'ssl://admin.hostedemail.com'); /*  LIVE => ssl://admin.test.hostedemail.com, TEST => ssl://admin.hostedemail.com */
define('APP_MAIL_USERNAME', '');
define('APP_MAIL_DOMAIN', '');

定制实现的其他配置

如果计划更改包含文件夹的名称,则需要修改文件中的以下内容

opensrs/openSRS_config.php

需要对OPENSRSURI常量进行相应的更改。在某些服务器上可能需要使用完整路径名。

define ("OPENSRSURI", "/path/to/opensrs/");

还可以进一步更改功能文件夹

// Application core configurations.

define("OPENSRSCONFINGS", OPENSRSURI . DS . "configurations");
define("OPENSRSDOMAINS", OPENSRSURI . DS . "domains");
define("OPENSRSTRUST", OPENSRSURI . DS . "trust");
define("OPENSRSPUBLISHING", OPENSRSURI . DS . "publishing");
define("OPENSRSOMA", OPENSRSURI . DS . "OMA");
define("OPENSRSFASTLOOKUP", OPENSRSURI . DS . "fastlookup");
define("OPENSRSMAIL", OPENSRSURI . DS . "mail");

注意:建议保持这些文件夹名称不变,因为库的升级可能会将文件放入错误的文件夹中,从而可能影响未来的增强。

通用使用

在openSRS_loader中,有一个processOpenSRS函数,该函数将接受JSON数据并运行适当的函数。

	$returnedResult = processOpenSRS($data_type, $call_string)

返回的result变量将是一个对象,该对象包含使用指定数据类型(json或yaml)的结果字符串和数组。关于这些函数返回的内容的更多信息将在本文档的后面介绍。调用字符串是要传递给库的JSON或YAML数据。所有示例将从现在开始使用JSON调用字符串。

调用字符串分为两部分

func

  • 这是系统查找要执行从库中的哪个函数的地方

data

  • 这是传递给函数的信息
  • 通常,这种格式与API文档中找到的XML类似。

查找域名"example.com"的调用字符串示例

示例JSON请求

{
	"func": "lookupDomain",
	"data": { 
			"domain": "example.com",
			"alldomains": ".com,.net,.org",
			"selected": ".com,.net"
			}
}

任何应用程序都可能使用json_encode($array)和json_decode($json)而不是自己构造原始的JSON调用,但这是了解其基本内容的好方法。

以下是调用字符串的示例

示例代码

<?php
require_once("./opensrs/openSRS_loader.php");
require_once("./opensrs/spyc.php");

$openSRS_results=processOpensrs("json",'
	{
		"func": "lookupDomain",
		"data": {
			"domain": "example.com",
			"alldomains": ".com;.net;.org",
			"selected": ".com;.net"
		}
	}');
echo $openSRS_results->resultFormatted . "\n";
?>

注意:上述示例仅提供原始JSON输出。

此示例显示了所有内容组合成关联数组。

示例代码

<?php
require_once("./opensrs/openSRS_loader.php");
require_once("./opensrs/spyc.php");

$callString["func"]="lookupDomain";
$callString["data"]["domain"]="example.com";
$callString["data"]["alldomains"]=".com;.net;.org";
$callString["data"]["selected"]=".com;.net";

$openSRS_results=processOpensrs("json",json_encode($callString));

// Remember to have the "Associative Array" option set to true after passing the json
$result = json_decode($openSRS_results->resultFormatted, true);

foreach ($result as $domain_result)
	echo $domain_result['domain'] . " is " . $domain_result['status'] . "\n";

?>

返回数据

processOpensrs函数返回一个完整的stdClass对象。此对象包含四个公共变量,包含返回的数据

结果格式化

resultFormatted

  • 以函数最初传递的数据类型格式化的结果
  • 这仅返回结果,不包含错误代码
  • 这将被称为“压缩”的响应

resultFullFormatted

  • 与resultFormatted相同数据类型的结果
  • FullFormatted返回以OpenSRS返回的XML格式返回的结果,包括错误代码和详细信息
  • 这将被称为“完整”的响应

resultRaw

  • 以关联数组形式而不是以最初传递给函数的数据类型返回的结果
  • 不包含任何错误消息,只包含结果的精华

resultFullRaw

  • 以关联数组形式呈现的结果
  • 包括错误消息和来自OpenSRS系统的完整数据,格式与OpenSRS返回的XML格式相同

在“完整原始”和“完整格式化”结果中包含以下内容

"_OPS_version"
"protocol"
"response_text"
"action"
"response_code"
"is_success"
"attributes"

注意:属性对象将因函数而异

应用程序可以检查is_success和response_code以确定请求是否有问题,并从response_text输出详细信息。唯一的例外是快速查找,因为它不通过XML API进行。

调用processOpensrs函数

$resultObject = processOpensrs($dataType, $callString);

然后引用最易使用的那个结果

echo $resultObject->resultRaw["domain"] . "is" . $resultObject->resultRaw["status"];

那么为什么不总是使用原始结果而忽略JSON结果呢?

  • 应用程序可能需要将此信息传递给另一个系统,而JSON非常适合传输数据
  • JSON数据可以直接插入任何使用"eval"或更安全的JSON解析器的javascript或AJAX应用程序中 - http://json.org/

以下是一个AJAX示例,它将检查传递的字符串是否在com/net/org/info/biz中具有匹配的域名,并将其输出到ID为"output"的HTML元素中。一旦应用程序收到JSON响应,它将评估JSON并拥有一个可以轻松使用的对象。

示例AJAX示例

function domainLookup(name) {
    var jsonResponse = {} ;
    var url="lookupGTLDDomain.php?domain=" + name ;
    var http_request

    if (window.XMLHttpRequest) {
        // code for IE7+, Firefox, Chrome, Opera, Safari
        http_request=new XMLHttpRequest();
    } else if (window.ActiveXObject) {
        // code for IE6, IE5
        http_request=new ActiveXObject("Microsoft.XMLHTTP");
    } else {
        alert("Your browser does not support XMLHTTP!");
    }

    http_request.open( "GET", url, true );
    http_request.send(null);

    http_request.onreadystatechange = function () {

		if (http_request.readyState == 4 && http_request.status == 200) {

			jsonResponse=eval("(" + http_request.responseText + ")");

			document.getElementById("output").innerHTML = "";

			for (var i=0;i < jsonResponse.attributes.lookup.count; i=i+1) {
				document.getElementById("output").innerHTML +=jsonResponse.attributes.lookup.items[i].domain + " is " +jsonResponse.attributes.lookup.items[i].status + "<br />";
			}
		}
	}
}

错误

错误将以两种不同的方式发生

工具箱错误

这些错误是在工具箱能够联系OpenSRS API之前生成的。错误以PHP警告或通知的形式产生,需要捕获。

要捕获和处理这些PHP警告和通知,请使用set_error_handler: http://us.php.net/manual/en/function.set-error-handler.php

这将为处理错误设置一个函数,要么记录它们,要么向用户显示自定义错误。

错误类型

配置文件不完整

  • 配置文件中缺少所需信息。错误将包括缺少哪个参数。

无法建立套接字

  • 无法创建网络套接字,可能是由于网络配置错误。

认证错误

  • 无法使用OpenSRS API进行认证,请检查私有密钥和经销商用户名是否正确

经销商用户名或osrs_key不正确,请检查配置文件。

  • 与上述相同

读取缓冲区为空。请确保IP已列入RWI白名单,并检查配置文件中的osrs_key。

  • OpenSRS系统没有返回任何信息。如果应用程序使用SSL连接,则可能存在无法读取数据的网络问题。这也可能是由于API未将机器IP列入白名单。请参阅第2.1.1节以获取有关如何列入白名单IP的信息。

意外读取:无法解析HTTP响应代码。

  • 响应不是在HTTP 1.1格式中提供的。这通常是由上述相同原因造成的。

意外读取:读取HTTP头错误。

  • 无法完全读取HTTP头,可能是由于返回过程中断开连接。

没有返回Content-Length头。

  • Content-length头为空。这也可能发生,如果机器的IP地址未在OpenSRS中列入白名单。请参阅第2.1.1节以获取有关如何列入白名单IP的信息。
  • 这将是此错误最常见的情况

意外读取:没有Content-Length。

  • 由意外读取内容长度头生成。
  • 最可能是由上述错误相同的同一问题造成的,或者可能是头部损坏的问题。

意外错误:未提供Content-Length头信息!

  • 与上述相同原因
  • 在应始终提供Content-Lengt时生成

意外读取:没有CRLF

  • 在头部后未提供回车换行符,可能是由于连接中断导致的损坏信息。

无法找到库目录DIRECTORY,

  • 通常由openSRS_config.php中不正确的路径引起。
  • 请仔细检查该文件中的所有路径,以确保它们正确无误。
  • 受影响的目录将在错误中列出,而不是DIRECTORY。

无法找到库文件FILE,

  • 与上述相同,但针对特定的库文件。
  • 错误中将列出文件名,而不是FILE。

无法找到传递的函数。

  • 工具包无法在调用字符串中找到传递的函数。这可能是由于函数拼写错误或配置路径设置不正确。请将函数拼写与文档第8节的列表进行核对,并检查openSRS_config.php中的路径。

参数未定义

  • 这是最常见的错误。
  • 由未将必需参数传递给函数引起。请检查OpenSRS API文档,以了解每个函数需要什么。每个函数的页面编号列在本文档的第8节。

调用不正确

  • 至少有一个必需参数未传递,不会调用OpenSRS API。在此错误之前至少会有一个未定义的错误。

邮件系统写入错误

  • 工具包无法写入指定的服务器,请检查配置中的邮件服务器名称是否正确,并且网络允许向该服务器发送数据。

OpenSRS错误

如果错误发生在OpenSRS API端,则信息将包含在返回的对象中。

如果命令成功,则返回对象中的resultRaw['is_success']将被设置为'1'。如果出错,则设置为0。确切的错误代码可在resultRaw['response_code']下找到,完整的错误文本在resultRaw['response_text']下。OpenSRS API的响应代码列在API文档中。

http://opensrs.com/docs/opensrs_xmlapi.pdf

Mail APP的响应代码列在文档中。

http://opensrs.com/docs/OpenSRS_APP_Dev_Guide.pdf

示例

$openSRS_results=processOpensrs("json",json_encode($callString));

if ($openSRS_result->resultFullRaw['is_success']=="0"){
    echo "There was an OpenSRS error.  The error code is: ";
    echo $openSRS_results->resultFullRaw['response_code'];
    echo " The error text is: ";
    echo $openSRS_results->resultFullRaw['response_text'] . "\n";
} else {
    echo $openSRS_result->resultFormatted;
}

库函数

对于每种类型的函数,都需要传递特定的数据要求,以便函数可以发布结果。因此,虽然本文档旨在协助增强OpenSRS文档,但所有示例也都发布在testcase/test-*.php文件中以供参考。请注意,本节中并未对所有函数进行文档记录。有关调用的更多信息,请参阅XML API文档:http://opensrs.com/resources/documentation/opensrs_xmlapi.pdf

查找域名(domainLookup、premiumDomain、suggestDomain)

目的:查询域名(domainLookup)、使用名称旋转器(suggestDomain)建议替代名称或查询高级域名(premiumDomain)

注意:domainLookup、premiumDomain和suggestDomain的函数格式相同,如下所示。请将"func"名称更改为进行不同的调用。

  • domain - 要查询的域名
  • alldomains - 此应用程序支持的所有顶级域(分号分隔)[可选]
  • selected - 获取结果的顶级域(与多选复选框集成最佳)[可选]

示例JSON调用

{
   "func": "lookupDomain",
   "data": {
            "domain": "example.net",
            "alldomains": ".com;.net;.org",
            "selected": ".com;.net"
           }
}

返回数据

"_OPS_version":"0.9",
"protocol":"XCP",
"response_text":"Command completed successfully",
"action":"REPLY",
"response_code":"200",
"is_success":"1"
"attributes":{

"lookup":{

     "count":"2",
     "response_text":"",
     "response_code":"0",
     "is_success":"1",

     "items":[
       {
         "domain":"example.com",
         "status":"available"
       },
       {
         "domain":"example.net",
         "status":"available"
       }
     ]
   }
},

在压缩版本中,它以数组形式返回项

[
  {
  "domain":"example.com",
  "status":"available"
  },
  {
  "domain":"example.net",
  "status":"available"
  }
]

快速查找

目的:打开套接字并查找域名的可用性

  • domain - 要查询的域名
  • alldomains - 应用程序支持的所有顶级域(分号分隔)[可选]
  • selected - 要查询的顶级域(与多选复选框集成最佳)[可选]

示例JSON调用

{
 "func": "fastDomainLookup",
 "data": {
         "domain": "example",
         "selected": ".com",
         "alldomains": ".com;.net"
         }
}

返回数据(完整和压缩响应)

[
  {
  "domain":"example",
  "tld":".com",
  "result":"Taken"
  },
  {
  "domain":"example",
  "tld":".net",
  "result":"Taken"
  }
]

获取域名价格

目的:与域名相关的美元价格

  • domain - 要查询的域名

示例JSON调用

{
 "func": "lookupGetPrice",
 "data": {
         "domain": "example.com"
         }
}

返回数据

{
 "price":"20"
}

个人名称建议

目的:在查询个人名称系统时提供更多选择

  • 搜索字符串:用于找到更多选项的用户名和姓氏

示例JSON调用

{
     "func": "persNameSuggest",
     "data": {
             "searchstring": "John Smith"
             }
}

返回数据

{
"suggestion":
     {
     "count":"40",
     "response_text":"Command completed successfully.",
     "response_code":"200",
     "items":[
             {"domain":"john.smith.net","status":"taken"},
             {"domain":"johnny.smith.net","status":"taken"},
             {"domain":"johnnie.smith.net","status":"available"},
             {"domain":"johnie.smith.net","status":"available"},
             {"domain":"johnn.smith.net","status":"available"},
             {"domain":"jonnie.smith.net","status":"available"}
             ],
     "is_success":"1"
     }
}

设置DNS区域

目的:为现有的DNS区域设置DNS区域记录

示例JSON请求调用

{
	"func":"dnsSet",
	"data":{
		"domain":"kgtester1.com",
		"DNS_template":"",
		"a":[
			{"ip_address":"12.12.12.12","subdomain":"sub1"},
			{"ip_address":"13.13.13.13","subdomain":"sub2"}
		],
		"aaaa":[
			{"ipv6_address":"001:00ab:0000:00a1:0001:000b:00cc:00de","subdomain":"sub3"}
		],
		"cname":[
			{"subdomain":"sub4","hostname":"cname.com"}
		],
		"mx":[
			{"priority":"10","subdomain":"mx","hostname":"mail.com"}
		],
		"srv":[
			{"port":"6666","priority":"1","subdomain":"srv","hostname":"srvhost.com","weight":"10"}
		],
		"txt":[
			{"subdomain":"txt","text":"test text"}
		]
	}
}

返回数据

{
	"_OPS_version":"0.9",
	"protocol":"XCP",
	"object":"DOMAIN",
	"response_text":"Command Successful",
	"action":"REPLY",
	"attributes":{
		"records":{
			"A":[
				{"subdomain":"sub1","ip_address":"12.12.12.12"},
				{"subdomain":"sub2","ip_address":"13.13.13.13"}
			],
			"MX":[
				{"priority":"10","subdomain":"mx","hostname":"mail.com"}
			],
			"TXT":[
				{"text":"test text","subdomain":"txt"}
			],
			"SRV":[
				{"priority":"1","weight":"10","subdomain":"srv","hostname":"srvhost.com","port":"6666"}
			],
			"CNAME":[
				{"subdomain":"sub4","hostname":"cname.com"}
			],
			"AAAA":[
				{"subdomain":"sub3","ipv6_address":"001:00ab:0000:00a1:0001:000b:00cc:00de"}
			]
		},
		"nameservers_ok":"1"
	},
	"response_code":"200",
	"is_success":"1"
}

注册域名

目的:这将允许注册所有GTLDs

注意:此调用尚不支持CCTLDs

  • domain:要注册的域名
  • custom_tech_contact:该域的定制技术联系人(0|1的选项)
  • custom_nameservers:该域的定制名称服务器(0|1的选项)注意:依赖于名为"TNS"的对象
    • TNS ~ 包含自定义名称服务器列表 ~ 每个TNS条目包含:+ 名称:名称服务器的主机名 + 排序顺序:将显示在域名名称服务器列表中的服务器位置 NOTE:排序顺序从1开始,不能 跳过数字
  • reg_username:注册者配置文件的用户名
  • reg_password:注册者配置文件的密码
  • contact_set
    • first_name
    • last_name
    • phone
    • fax
    • org_name
    • address1
    • address2
    • address3
    • postal_code
    • city
    • state
    • country
    • lang_perf

其余调用均为可选

  • 数据
    • handle:如果系统应该通过处理(process)它或将其保存以稍后处理(save)来处理订单
    • affiliate_id:允许跟踪通过不同联盟商进入的订单 NOTE:最大100个字符
    • auto_renew:如果域名应该自动续费或不续费(0|1的选项) NOTE:默认设置为0(禁用)
    • encoding_type:如果域名在PUNYCODE中,提交3个字符的语言标签 NOTE:默认使用ASCII,请参阅XML API文档(附录E)
    • f_lock_domain:是否在注册时锁定域名(0|1的选项) NOTE:默认设置为0(禁用)
    • f_whois_privacy:是否需要whois隐私(0|1的选项) NOTE:默认设置为0(禁用) 重要提示:将whois隐私设置为1后,用户可以在MWI中将其关闭
      如果未设置whois隐私,用户则无法在MWI中将其打开
    • period:域名注册的年数 NOTE:最小年数因TLD而异,最大年数为10
      请参阅XML API文档

示例JSON调用

{
  "func": "provSWregister",
  "data": {
       "domain": "example.com",
       "custom_tech_contact": "1",
       "custom_nameservers": "0",
       "reg_username": "username",
       "reg_password": "password",
       "handle": "process"
       },
       "personal": {
          "first_name": "First",
          "last_name": "Last",
          "phone": "+1.555123456789",
          "fax": "",
          "email": "email@email.com",
          "org_name": "Organization Name",
          "address1": "Address 1",
          "address2": "Address 2",
          "address3": "",
          "postal_code": "A1A2B2",
          "city": "City",
          "state": "ON",
          "country": "CA",
          "lang_pref": "EN"
      }
}

返回数据

{
	"object":"DOMAIN",
	"response_text":"Domain registration successfully completed",
	"action":"REPLY",
	"attributes":{
	  "registration_text":"Domain registration successfully completed",
	  "admin_email":"email@email.com",
	  "registration_code":"200",
	  "id":"83002651"
	},
	"response_code":"200",
	"is_success":"1"
}

OpenSRS邮件API (OMA)

PHP工具包现在支持OMA(OpenSRS邮件API)。OMA API是OpenSRS电子邮件系统的配置接口。它允许您创建、修改和删除邮箱、别名、域名以及服务的其他方面。API与客户端之间的交互由单个HTTP POST请求和HTTP响应组成。HTTP请求和响应体格式为JSON数据。

要求

配置

在 opensrs/openSRS_config.php 中,编辑以下行,

define("MAIL_HOST", "https://admin.test.hostedemail.com/api");
define("MAIL_USERNAME", "YOUR_COMPANY_LEVEL_ADMIN_USERNAME");
define("MAIL_PASSWORD", "YOUR_COMPANY_LEVEL_ADMIN_PASSWORD");
define("MAIL_ENV", "OMA_ENVIRONMENT"); // LIVE OR TEST
define("MAIL_CLIENT", ""); // Optional

OMA_HOST应该是,测试: https://admin.test.hostedemail.com/api 生产: https://admin.hostedemail.com/api

语法

创建一个数据数组,然后调用 ClassName::call($data_array),返回JSON格式的响应。

示例代码:以下将创建一个新用户或更改现有用户的属性,

require_once("opensrs/openSRS_loader.php");
$data_array = array(
    "user" => "sample@sample.com",
    "attributes" => array(
       "name" => "Janet User",
        "password" => "star-trek1966",
        "delivery_forward" => true,
        "forward_recipients" => array(
            "janet.user@someothersample.com"
        )
    )
);
$response = ChangeUser::call($data_array);

示例JSON请求

{
    "credentials": {
        "user": "sample@sample.com",
        "password": "password123"
    },
    "user": "jane_user@sample.com",
    "attributes": {
        "name": "Janet User",
        "password": "star-trek1966",
        "delivery_forward": true,
        "forward_recipients": [
            "janet.user@someothersample.com"
        ]
    }
}

示例JSON响应

{
   "success" : true
}

可用的OMA类(命令)名称

  • AddRole
  • Authenticate
  • ChangeCompany
  • ChangeCompanyBulletin
  • ChangeDomain
  • ChangeDomainBulletin
  • 更改用户
  • 创建工作组
  • 删除域
  • 删除用户
  • 删除工作组
  • 生成令牌
  • 获取公司
  • 获取公司公告
  • 获取公司更改
  • 获取已删除联系人
  • 获取已删除消息
  • 获取域
  • 获取域公告
  • 获取域更改
  • 获取用户
  • 获取用户属性历史
  • 获取用户更改
  • 获取用户文件夹
  • 获取用户消息
  • 注销用户
  • 迁移添加
  • 迁移作业
  • 迁移状态
  • 迁移跟踪
  • 移动用户消息
  • 发布公司公告
  • 发布域公告
  • 重新索引
  • 重命名用户
  • 恢复已删除联系人
  • 恢复已删除消息
  • 恢复域
  • 恢复用户
  • 搜索管理员
  • 搜索品牌
  • 搜索域
  • 搜索用户
  • 搜索工作组
  • 设置角色
  • 统计列表
  • 统计快照

库和API翻译

此区域帮助已经熟悉OpenSRS API的用户匹配库中的相应命令。

OpenSRS XML API中的域功能列表及其对应的操作和对象

注意:上述每个功能中NAME_SUGGEST的使用方式不同。premiumDomain功能只对高级域名建议运行NAME_SUGGEST。suggestDomain功能只对名称建议运行NAME_SUGGEST。最后,allinoneDomain将在同一时间运行NAME_SUGGEST进行顶级域名查找、名称建议和高级域名。

====================================================================== 9.2 - 邮件功能列表及其在OpenSRS邮件APP中的对应命令