Alle Funktionen der KAS-API können auch mittels SOAP-Requests genutzt werden.
Voraussetzung für die Nutzung ist die Kenntins über die entsprechenden KAS-Funktionen.
Lesen Sie hierfür bitte die aktuelle Dokumentation.
Beispiel für einen SOAP-Client unter PHP
Nachfolgendes Beispiel zeigt die Verwendung der KAS-API mittels SOAP.
- Wichtige Parameter
<?php // Logindaten $kas_user = 'w0213456'; // KAS-Logon $kas_pass = 'xxxxxxx'; // KAS-Passwort $session_lifetime = 600; // Gültigkeit des Tokens in Sek. bis zur neuen Authentifizierung $session_update_lifetime = 'Y'; // bei N läuft die Session nach <$session_lifetime> Sekunden ab, bei Y verlängert sich die Session mit jeder Benutzung ?> - Authentifizierung
Möchten Sie lediglich kleinere Änderungen am KAS durchführen, so ist es mitunder nicht nötig, eine Session zu generieren. Sie können im in Punkt 3. statt dem AuthType 'session' auch eine einfache sha1 Authentifizierung durchführen.<?php try { $SoapLogon = new SoapClient('https://kasapi.kasserver.com/soap/wsdl/KasAuth.wsdl'); $CredentialToken = $SoapLogon->KasAuth(json_encode(array( 'KasUser' => $kas_user, 'KasAuthType' => 'sha1', 'KasPassword' => sha1($kas_pass), 'SessionLifeTime' => $session_lifetime, 'SessionUpdateLifeTime' => $session_update_lifetime ))); } // Fehler abfangen und ausgeben catch (SoapFault $fault) { trigger_error("Fehlernummer: {$fault->faultcode}, Fehlermeldung: {$fault->faultstring}, Verursacher: {$fault->faultactor}, Details: {$fault->detail}", E_USER_ERROR); } ?> - KAS-API Abfrage
War die Authentifizierung unter Punkt 2 erforlgreich und liegt demnach ein gültiger Token in der Variablen $CredentialToken vor, kann die API zu den KAS-Funktionen genutzt werden.
Es ist zu empfehlen, den $CredentialToken nach erfolgreicher Authentifizierung in eine Session zu speichern, um diesen bei allen weiteren Aktionen wieder nutzen zu können. Somit muss der Schritt der Authentifizierung nur einmal durchgeführt werden.
-
Im nachfolgenden Beispiel sollen alle Domains (API-Funktion: get_domains) des Logins w0213456 ermittelt werden. Für diese API-Funktion werden keine Parameter benötigt.
<?php try { $Params = array(); // Parameter für die API-Funktion $SoapRequest = new SoapClient('https://kasapi.kasserver.com/soap/wsdl/KasApi.wsdl'); $req = $SoapRequest->KasApi(json_encode(array( 'KasUser' => $kas_user, // KAS-User 'KasAuthType' => 'session', // Auth per Sessiontoken 'KasAuthData' => $CredentialToken, // Auth-Token 'KasRequestType' => 'get_accounts', // API-Funktion 'KasRequestParams' => $Params // Parameter an die API-Funktion ))); } // Fehler abfangen und ausgeben catch (SoapFault $fault) { trigger_error(" Fehlernummer: {$fault->faultcode}, Fehlermeldung: {$fault->faultstring}, Verursacher: {$fault->faultactor}, Details: {$fault->detail}", E_USER_ERROR); } ?> -
In diesem Beispiel soll eine neue Domain (API-Funktion: add_domain) unterhalb des Logins w0213456 angelegt werden.
<?php try { // Parameter für die API-Funktion $Params = array( 'domain_name' => 'my_domain', 'domain_tld' => 'tld', 'domain_path' => '/', 'ssl_proxy' => 'N', 'redirect_status' => '0'); $SoapRequest = new SoapClient('https://kasapi.kasserver.com/soap/wsdl/KasApi.wsdl'); $req = $SoapRequest->KasApi(json_encode(array( 'KasUser' => $kas_user, // KAS-User 'KasAuthType' => 'session', // Auth per Sessiontoken 'KasAuthData' => $CredentialToken, // Auth-Token 'KasRequestType' => 'add_domain', // API-Funktion 'KasRequestParams' => $Params // Parameter an die API-Funktion ))); } // Fehler abfangen und ausgeben catch (SoapFault $fault) { trigger_error(" Fehlernummer: {$fault->faultcode}, Fehlermeldung: {$fault->faultstring}, Verursacher: {$fault->faultactor}, Details: {$fault->detail}", E_USER_ERROR); } ?>
-
-
Ausgabe des Response
<?php echo "<pre>"; print_r($req); echo "</pre?>"; ?>