Przykład połączenia z użyciem kodu php:
class HRDConfig { public $uid = "__uid_partnera__"; public $pass = "__zakodowane_nrCSP_i_haslo partnera__"; // np. "csp123haslo" const NS = "https://www.hrd.pl/partnerAPI/"; const PARTNER = "https://www.hrd.pl/partnerAPI/Partner.php?wsdl"; const DOMAIN = "https://www.hrd.pl/partnerAPI/Domain.php?wsdl"; const CERTIFICATE = "https://www.hrd.pl/partnerAPI/Certificate.php?wsdl"; const CLIENT = "https://www.hrd.pl/partnerAPI/Client.php?wsdl"; const POLL = "https://www.hrd.pl/partnerAPI/Poll.php?wsdl"; const INVOICE = "https://www.hrd.pl/partnerAPI/Invoice.php?wsdl"; } ini_set("soap.wsdl_cache_enabled", "1"); //Włączenie pamięci cache dla plików wsdl $soap = new SoapClient(HRDConfig::DOMAIN, array("encoding"=>"UTF-8", "exceptions" => true)); $soap->__setSoapHeaders(array(new SoapHeader(HRDConfig::NS, "AuthHeader", new HRDConfig())));
Przykładowa odpowiedź dla podania błędnych danych autoryzacyjnych:
{"status":false,"errorCode":"1032","error":"Auth Error"}
Po otrzymaniu odpowiedzi na wysłaną komendę w przypadku php należy dokonać jej konwersji na tablicę za pomocą funkcji json_decode().
$response = '{"status":true,"domains":{"hrd.pl":{"status":"0"}}}'; $result = json_decode($response); echo var_dump($result);
Przy implementacjach w innych językach ważne jest wysłanie dodatkowego pola nagłówka AuthHeader z klasą HRDConfig zawierajacą uid i pass
uid: otrzymuje się w panelu po zalogowaniu pass: to zakodowane połączenie numeru CSP i hasła, np. (md5(‚cspxxxhaslo’)
Dodatkowy kod javy do kodu wygenerowanego z wsdl’a dla modulu Domain
DomainServiceLocator locator = new DomainServiceLocator(); DomainPortType conn = locator.getDomainPort(); SOAPHeaderElement header = new SOAPHeaderElement("https://www.hrd.pl/partnerAPI/", "AuthHeader"); SOAPElement node = header.addChildElement("uid"); node.addTextNode("__uid__"); node = header.addChildElement("pass"); node.addTextNode("__pass__"); ((Stub) conn).setHeader(header);
Ważne uwagi
Standardem kodowania w API HRD jest utf-8. Wszelkie parametry oraz zwracane dane przekazywane są zgodnie z podanym formatowaniem.
Dla wszystkich komend jako pierwszy parametr zwracany jest status wykonania komendy – true lub false.
W przypadku, jeżeli oprócz powyższej informacji zwracane są również inne parametry, status wykonania komendy nie jest wymieniany w tabeli Zwracane dane.