Wysyłanie powiadomienia
Definicja parametrów:
<?php /** * Powiadom jednego lub więcej pracowników * * @param data Array - Tablica z parametrami * @param data['usr_id'] Int[] - identyfikator(y) pracownika (users:usr_id, tablica lub int) * @param data['msgtxt'] String - treść powiadomienia * @param data['type__'] Mixed - typ powiadomienia jako tablica lub tekst (kolejne typy oddzielone przecinkiem). Typy to: Communicator - komunikator systemowy, Document -notatka służbowa, Mail - wysyłany jest email na konto pracownika. Domyślnie jest to Communicator * * @return True - zawsze zwraca TRUE * * @throws Exception - SoapFault */ Int notifyUser(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); $data = array( 'usr_id' => 19, // lub wielu np. [1,2,7,19,55] 'msgtxt' => 'Ważna wiadomość' ); try { $out = $client->notifyUser($data); var_dump($out); } catch(SoapFault $fault) { var_dump($fault); if ($fault->faultcode < 100) { trigger_error("SOAP Fault: (faultcode: {$fault->faultcode}, faultstring: {$fault->faultstring})", E_USER_ERROR); } } ?>