kveldscholten / kasapi-php
使用 KAS API 管理您的 All-Inkl 账户
README
使用 KAS API 管理您的 All-Inkl 账户
All-Inkl.com 提供了一个 API,用于自动访问您的所有账户、设置、(子)域名、数据库、cron作业、邮件账户等。此 API 称为 KAS API。要了解更多信息,请访问官方的 KAS API 文档。还有一些 示例表单 以供尝试。
这是 API 的 PHP 实现,它提供了对 API 提供的所有功能的简单访问。
要求
安装
建议的安装方法是使用 Composer。此软件可在 Packagist 上找到。[链接](https://packagist.org.cn/packages/kveldscholten/kasapi-php)
composer require kveldscholten/kasapi-php
或者您可以克隆以下 Git 仓库(`git clone https://github.com/kveldscholten/kasapi-php.git`,见下文)。
用法
现在,我们将更详细地了解该 API 的工作方式。
每次您想使用 API 时,您需要首先创建一个 KasConfiguration 对象。这很简单
$kasConfiguration = new KasApi\KasConfiguration($login, $authData, $authType);
$login 非常直观。KAS API 允许使用不同类型的身份验证。因此,您需要指定一个身份验证类型和相应的身份验证数据。请参阅 All-Inkl 文档以获取可能的身份验证方法列表。
例如,假设您想使用 plain 作为身份验证方法。在这种情况下,$authType 将是简单的 plain,而 $authData 应设置为您的 KAS 账户的明文密码。假设您的登录是 w0123456 并且您的密码是 password,则以下行将创建正确的凭证对象
$kasConfiguration = new KasApi\KasConfiguration("w0123456", "password", "plain");
接下来,您需要创建一个用于操作的 KasApi 对象
$kasApi = new KasApi\KasApi($kasConfiguration);
在此对象上,您可以调用 KAS 文档 中指定的任何 API 方法。或者,您可以查看 KasApi 类。
$kasApi->get_databases();
KasApi 类的示例可能如下所示
protected $functions = [ [...] 'get_dns_settings' => 'zone_host!, record_id', 'get_domains' => 'domain_name', 'get_topleveldomains' => '', 'get_ftpusers' => 'ftp_login', 'get_mailaccounts' => 'mail_login', [...] ];
此数组指定了您可以调用的 API 函数以及要传递的参数。! 后缀表示该参数是必需的,必须指定(例如,zone_host!),所有其他参数都是可选的(例如,domain_name)。
因此,如果您查看上面的 get_dns_settings,您会看到以下调用是有效的。
$kasApi->get_dns_settings([ 'zone_host' => 'example.com.', 'record_id' => 123 ]);
不使用 Composer 的用法
以下是在仅使用 git clone 此仓库的情况下使用 API 的示例:(将此文件放置在 src 目录的父目录中。)
<?php namespace KasApi; foreach (glob("src/KasApi/*.php") as $filename) { require_once $filename; // include kasapi-php } try { $kasConfiguration = new KasConfiguration("w0123456", "password", "plain"); $kasApi = new KasApi($kasConfiguration); $kasData = $kasApi->get_domains(); // any API function as described above } catch(KasApiException $e) { echo $e->getFaultstring(); // show SOAP error } var_dump($kasData); // $kasData is a plain old PHP array ?>
反馈?问题?
如果您有任何反馈,请提供评论或 创建一个问题。
致谢
- Elias Kuiter 创建了
kasapi-php以提供访问 All-Inkl 公共 API 的简单方法。 - Daniel Herrmann 同样为扩展 API(如简化类、纠正一些错误和添加 Composer 集成)做出了重大贡献。
许可
kasapi-php 以开源形式提供,遵循 MIT 许可协议。