コンテンツにスキップ

12 リモート API (Remote API)

ISPConfig 3 は、外部のアプリケーション(課金システム、独自のフロントエンド、自動化スクリプトなど)から操作を行うための強力な Remote API を備えています。

12.1 API の種類

ISPConfig は以下の 2 つのプロトコルをサポートしています。 - REST: JSON 形式を使用した現代的なインターフェース。 - SOAP: XML 形式を使用した従来のインターフェース。

12.2 エンドポイント (Endpoints)

標準的なインストール環境では、以下の URL が API の入り口となります。 - https://your-server:8080/remote/index.php (SOAP) - https://your-server:8080/remote/json.php (REST)

12.3 認証プロセス

  1. login: remote_user の資格情報を使用して session_id を取得します。
  2. 関数呼び出し: 各種関数(client_add, mail_user_add 等)に session_id を添えて実行します。
  3. logout: セッションを終了します。

12.4 主要な関数例

  • client_get: クライアント情報の取得。
  • sites_web_domain_add: ウェブサイトの新規作成。
  • mail_user_update: メールアカウントの設定変更。

??? 開発者用テストスクリプト (PHP)

API 接続をテストするための最小構成のサンプルです。

<?php
$username = 'api_user';
$password = 'api_password';
$soap_location = 'https://localhost:8080/remote/index.php';
$soap_uri = 'https://localhost:8080/remote/';

$client = new SoapClient(null, array('location' => $soap_location, 'uri' => $soap_uri));

try {
    $session_id = $client->login($username, $password);
    echo "ログイン成功。セッションID: " . $session_id;
    $client->logout($session_id);
} catch (SoapFault $e) {
    echo "エラー: " . $e->getMessage();
}
?>