PHP code example of pulli / timmehosting-soap-client

1. Go to this page and download the library: Download pulli/timmehosting-soap-client 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/ */

    

pulli / timmehosting-soap-client example snippets


use Pulli\TimmeSoapClient\Client;
use Pulli\TimmeSoapClient\Enums\{
    Toggle, Status, CronType, DnsRecordType, CrudOp, BackupAction,
};

// Construct explicitly:
$client = new Client(
    panel:     'sXXqXX',          // panel subdomain: sXXqXX.meinserver.io
    apiUser:   'pulli_server',    // ISPConfig System → Remote Users
    apiKey:    $remoteUserSecret,
    verifyTls: true,
);

// Or from env vars (TIMME_SOAP_PANEL, TIMME_SOAP_USER, TIMME_SOAP_KEY,
// optional TIMME_SOAP_VERIFY_TLS=0):
$client = Client::fromEnv();

// PHP / FPM
$client->php->restart(serverId: 1, serverPhpId: 11);
$client->php->versions(serverId: 1);

// Sites — vhosts
$site = $client->sites->findByDomain('example.com');
$client->sites->setWebFolder($clientId, $domainId, 'myapp/current/public');
$client->sites->setNginxDirectives($clientId, $domainId, $directives);
$client->sites->setStatus($domainId, Status::Inactive);
$client->sites->recreateVhost($domainId);

// Sites — backups
$backups = $client->sites->backupList($domainId);
$url     = $client->sites->backupDownloadLink($backups[0]['backup_id']);
$client->sites->instantBackup(serverId: 1, domainId: $domainId);

// Clients
$client->clients->findByUsername('pulli_main');
$gid = $client->clients->groupId($clientId);
$client->clients->changePassword($clientId, $newSecret);

// Cron — type-safe enums
$client->cron->add(
    clientId: 2,
    domainId: 5,
    command:  '/opt/php-8.5/bin/php /var/www/.../artisan schedule:run',
    type:     CronType::Full,     // Url | Full | Chrooted
    active:   Toggle::Yes,
);

// Supervisor (jobs must be created in the panel first; this restarts them)
$client->supervisor->restart($jobId);

// DNS — common record types typed; long-tail via record(type, op, …)
$client->dns->addA($clientId, [...]);
$client->dns->record(DnsRecordType::Srv, CrudOp::Add, $clientId, [...]);
$client->dns->setZoneStatus($zoneId, Status::Active);

// Mail
$client->mail->addDomain($clientId, [...]);
$client->mail->setDomainStatus($domainId, Status::Active);
$client->mail->addUserFilter($clientId, [...]);
$client->mail->userBackupDownloadLink($backupId);

// Anything not yet wrapped — session id is injected automatically:
$client->call('sites_web_aliasdomain_add', $clientId, $params);