Alle Funktionen der KAS-API können auch mittels SOAP-Requests genutzt werden.
Voraussetzung für die Nutzung ist die Kenntnis ü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.
- KAS-API Authentifizierung
Möchten Sie lediglich kleinere Änderungen am KAS durchführen, so ist es mitunter nicht nötig, eine Session zu generieren. Sie können in Punkt 2. statt dem AuthType 'session' auch eine einfache plain Authentifizierung durchführen.<?php $Params=array( 'kas_login' => 'w0213456', // das KAS-Login 'kas_auth_type' => 'plain', 'kas_auth_data' => 'myPassword', // das KAS-Passwort 'session_lifetime' => 600, // Gültigkeit des Tokens in Sekunden 'session_update_lifetime' => 'Y', // Y|N: bei Y verlängert sich die Session mit jedem Request 'session_2fa' => 123456 // optional: falls aktiviert, die One-Time-Pin für die 2FA ); try { $SoapLogon = new SoapClient('https://kasapi.kasserver.com/soap/wsdl/KasAuth.wsdl'); $CredentialToken = $SoapLogon->KasAuth(json_encode($Params)); echo "Ihr SessionToken lautet: $CredentialToken"; } // 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( 'kas_login' => $kas_user, // KAS-User 'kas_auth_type' => 'session', // Auth per Sessiontoken 'kas_auth_data' => $CredentialToken, // Auth-Token 'kas_action' => 'get_domains', // 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( 'kas_login' => $kas_user, // KAS-User 'kas_auth_type' => 'session', // Auth per Sessiontoken 'kas_auth_data' => $CredentialToken, // Auth-Token 'kas_action' => '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?>"; ?>