kveldscholten/kasapi-php

使用 KAS API 管理您的 All-Inkl 账户

1.0.1 2023-02-17 12:35 UTC

This package is auto-updated.

Last update: 2024-09-13 15:12:49 UTC


README

Latest Stable Version GitHub

使用 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 许可协议