Implementace klienta
Voláním metody SendCommand() bude odeslán příkaz do Master API serveru. Vrácen bude objekt, který popisuje 3 stavy:
akce dopadla úspěšně - požadavek byl beze zbytku vyřízen
došlo k chybě - požadavek není možné zpracovat, důvodem může být syntaktická chyba v parametrech, pokus o registraci již existující domény a podobně.
došlo k dočasné chybě - příkaz není možné z nějakého dočasně chybového stavu realizovat; v takovém případě je nutné nějakou dobu počkat (5 minut) a odeslat stejný příkaz znovu; POZOR!!! - o realizaci příkazu se opakovaně nebude pokoušet náš automat.
Voláním metody getMessage() u návratového objektu lze zjistit popis případné chyby.
Některé typy příkazů vyžadují parametry. Tyto parametry vycházejí z e-mailového API. Dokumentace k e-mailovému API je zde: http://www.domainmaster.cz/doc/autoregcz_enum.pdf
Jisté příkazy vracejí nějaká data (např. "list domains"). Metodou getData() lze tato data získat. Vráceno je asociativní pole.
<?php // spuštění příkazu // první parametr: název příkazu (viz níže v tomto souboru) // druhý volitelný parametr: potřebné parametry daného příkazu $result = $client->sendCommand("transfer cz domain",array( "transfer" => "domena.cz", "auth-info" => "kfSkrsmc42", "idacc" => "PA:PLATCE", "iddealer" => "" )); // zpracování výsledku if($result->isSuccess()){ // úspěch echo "commnad was successfuly executed\n"; echo "--------------------------------\n"; echo "data:\n"; print_r($result->getData()); // vrátí asociativní pole nebo null (podle charakteru odpovědi) }else{ // NEÚSPĚCH! // pokud $this->isTemporaryError() vrátí true - jedná se pravděpodobně o dočasnou chybu -> nutno počkat 5 minut a pak stejný příkaz odeslat znovu echo "commnad WAS NOT executed successfuly\n"; echo "------------------------------------\n"; echo "message: ".$result->getMessage()."\n"; // popis chyby echo "temporary error: ".($result->isTemporaryError() ? "yes (request should be repeated)" : "no")."\n"; echo "------------------------------------\n"; // pro debug účely je možné použít následující metody // echo "http request:\n"; // echo $result->getHttpRequest()."\n"; // echo "http response:\n"; // echo $result->getHttpResponse()."\n"; } ?>