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 認証プロセス
- login:
remote_userの資格情報を使用してsession_idを取得します。 - 関数呼び出し: 各種関数(
client_add,mail_user_add等)にsession_idを添えて実行します。 - 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();
}
?>