1. Go to this page and download the library: Download neto737/hestiacp-api library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
neto737 / hestiacp-api example snippets
use neto737\HestiaCP\Client;
// Access key (HestiaCP 1.6+), written as ACCESS_KEY:SECRET_KEY
$client = Client::simpleFactory('https://panel.example.com', 'ACCESS_KEY:SECRET_KEY');
// Check that the credentials work
$client->testAuthorization(); // bool
// List all users
$users = $client->getModuleUser()->list(); // ['admin' => ['NAME' => '...', 'CONTACT' => '...', ...], ...]
// Add a web domain for the admin user and give it a Let's Encrypt certificate
$web = $client->getModuleWeb('admin');
$web->addDomain('example.com');
$web->addDomainLetsEncrypt('example.com', 'www.example.com');
// Create a mailbox
$mail = $client->getModuleMail('admin');
$mail->addDomain('example.com');
$mail->addAccount('example.com', 'info', 'S3cure-Pa$$word');
use neto737\HestiaCP\Command\ResponseCode;
use neto737\HestiaCP\Exceptions\AuthorizationException;
use neto737\HestiaCP\Exceptions\ClientException;
use neto737\HestiaCP\Exceptions\ProcessException;
try {
$client->getModuleUser()->add('jane', 'S3cure-Pa$$word', '[email protected]');
} catch (AuthorizationException $e) {
// wrong credentials, or not allowed to run the command
} catch (ProcessException $e) {
if ($e->getCode() === ResponseCode::E_EXISTS) {
// the user already exists
}
} catch (ClientException $e) {
// connection problem: timeout, DNS, TLS, ...
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.