Definicja parametrów:
#!php <?php /** * Dodaje konto użytkownika systemu. * * @param array $data - Tablica z parametrami. Poniżej obsługiwane klucze. * @param $data['firnam'] String - Imię (parametr wymagany) * @param $data['lasnam'] String - Nazwisko (parametr wymagany) * @param $data['usrnam'] String - Nazwa użytkownika (parametr wymagany) * @param $data['passwd'] String - Hasło (parametr wymagany) * @param $data['initls'] String - Inicjały * @param $data['e_mail'] String - Adres email * @param $data['phone_'] String - Numer telefonu * @param $data['iphone'] String - Numer telefonu - wewnętrzny * @param $data['room__'] String - Pokój * @param $data['semail'] String - Stopka dla wysyłanej wiadomości email * @param $data['commen'] String - Informacje dodatkowe * @param $data['contid'] Int - ID kontrahenta (contacts.contid). Należy wypełnić jeżeli użytkownik jest kontrahentem. * @param $data['orunid'] Int - ID jednostki organizacyjnej (organization_units.orunid). Użytkownik zostanie przypisany do podanej jednostki. * * @access public * @return int * @throws Exception, UserRightsException * @since 1.5.0 */ int createUserAccount(array data); ?>
Przykłady wywołań:
// Plik MyService.php umieszczony w apps/edokumenty. // MyService.php <?php define('EDOK_API_LOGIN', 'developer'); define('EDOK_API_PASSWORD', 'developer'); define('DEFAULT_ENTITY_SYMBOL', 'demo'); require_once('./classes/eDokumentyApi/EDokApiClient.inc'); $options = array( 'location' => 'http://{host}:{port}/eDokumentyApi.php', "uri" => "eDokumentyAPI", 'encoding'=>'UTF-8' ); $client = new EDokApiClient(NULL, $options); $client->setUser(EDOK_API_LOGIN); $client->setPass(md5(EDOK_API_PASSWORD)); $header = new SoapHeader('eDokumentyAPI', 'entity_symbol', DEFAULT_ENTITY_SYMBOL); $client->__setSoapHeaders($header); $organizationUnit = array(); try { $data = array( 'usrnam' => 'jtest', 'firnam' => 'Jan', 'lasnam' => 'Testowy', 'passwd' => 'test12345', 'initls' => 'JT', ); $usr_id = $client->createUserAccount($data); var_dump($usr_id); if (!$usr_id) exit(1); $grp_data = $client->getGroup(array('grpnam' => 'Pracownicy')); var_dump($grp_data); $res = $client->addUserToGroup($usr_id, $grp_data['grp_id']); $data = array( 'ndenam' => 'Testowe Stanowisko', ); $org_data = $client->getOrganizationUnit($data); if (!$org_data) exit(1); $data = array( 'orunsm' => 'TJ', 'ndenam' => 'Testowa Jednostka', 'ndetpe' => 'ORGCELL', 'prn_id' => $org_data['orunid'], ); $parent_id = $client->createOrganizationUnit($data); var_dump($parent_id); if (!$parent_id) exit(1); $data = array( 'orunsm' => 'TS', 'ndenam' => 'Testowe Stanowisko', 'ndetpe' => 'POST', 'prn_id' => $parent_id, ); $orunid = $client->createOrganizationUnit($data); var_dump($orunid); if (!$orunid) exit(1); $client->assignUserToOrganizationUnit($usr_id, $orunid); } catch(SoapFault $fault) { var_dump($fault); if ($fault->faultcode < 100) { trigger_error("SOAP Fault: (faultcode: {$fault->faultcode}, faultstring: {$fault->faultstring})", E_USER_ERROR); } } ?>