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";
}
?>