Skip to main content

Benutzer anlegen

Um einen Benutzer anlegen zu können, reicht eine einzelne API abfrage aus. Das bewirkt, das der Benutzer mit den Standard Ressourcenund berechtigungen angelegt wird.
Um jetzt einen Benutzer direkt mit vorgegeben ressourcen-Limits und berechtigungen anlegen zu können, müssen wir zunächst die vorhanden Konto-vorlagen (= hosting plans) auslesen und dort die ID des gewünschten Konto-Vorlage auslesen.

Mit dieser ID können wir dan dem Benutzer die geünwschten Ressourcen /berechtigungen zuweisen.

In folgendem Beispiel wollen wir einen Neuen Benutzer "webhosting-001" anlegen und die Werte der Konto-Vorlage "HostingPlus" übertragen.

 

Konto-Vorlagen auslesen

Über den API-Endpunkt [GET] /hosting-plans können alle im KeYHelp angelegten Konto-vorlagen abgefragt werden. Es kann über den Endpunkt [GET] /hosting-plans/name/<NAME> auch gezielt die Daten einer Konto-Vorlage mit dem gewünschten Namen abgefragt werden, wie in den folgenden Abfragen verdeutlicht.

 

Anfrage
PHP
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://<HOSTNAME>/api/v2/hosting-plans/name/<NAME>');
curl_setopt($curl, CURLOPT_HTTPHEADER, [
  'X-API-KEY: <API-KEY>',
  'Content-Type: application/json',
]);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($curl);

Bash
curl -X 'GET' \
  'https://<HOSTNAME>/api/v2/hosting-plans/name/<NAME>' \
  -H 'accept: application/json' \
  -H 'X-API-Key: <API-KEY>'


Antwort
{
  "id": 8,
  "name": "Hosting Plus",
  "resources": {
    "disk_space": 1073741824,
    "traffic": -1,
    "domains": 10,
    "subdomains": 50,
    "email_accounts": 20,
    "email_addresses": -1,
    "databases": 10,
    "ftp_users": -1,
    "scheduled_tasks": 4
  },
  "permissions": {
    "ftp": true,
    "php": true,
    "perl": false,
    "ssh": false,
    "backup": true,
    "panel_access": true,
    "domain_security": true,
    "certificate_management": true,
    "file_manager": true,
    "dns_editor": true,
    "database_remote_access": true,
    "change_personal_data": true,
    "applications": true,
    "ssh_jail": false
  },
  "php": {
    "memory_limit": "256M",
    "max_execution_time": 60,
    "post_max_size": "72M",
    "upload_max_filesize": "64M",
    "open_basedir": "##DOCROOT##/www:##DOCROOT##/files:##DOCROOT##/tmp",
    "disable_functions": "exec, system, shell_exec, passthru",
    "additional_settings": ""
  },
  "php_fpm": {
    "pm": "ondemand",
    "max_children": 3,
    "max_requests": 0,
    "min_spare_servers": null,
    "max_spare_servers": null,
    "status": false,
    "status_ip_restriction": null
  }
}

HTTP Status-Code: 200

 

Benutzer anlegen

Zum Anlegen des Benutzers verwenden wir den Endpunkt [POST] /clients.
Aus der vorrangegangen Abfrage der Konto-Vorlage übernehmen wir das Feld id der Konto-vorlage und übertragen geben diese ID beim Anlegen eines Benutzers über das Feld id_hosting_plans an. 

 

Anfrage
PHP
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://<HOSTNAME>/api/v2/hosting-plans/name/<NAME>');
curl_setopt($curl, CURLOPT_HTTPHEADER, [
  'X-API-KEY: <API-KEY>',
  'Content-Type: application/json',
]);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($curl);

Bash
curl -X 'GET' \
  'https://<HOSTNAME>/api/v2/hosting-plans/name/<NAME>' \
  -H 'accept: application/json' \
  -H 'X-API-Key: <API-KEY>'