Definicja parametrów:
<?php /** * Tworzy nowy dokument * * @param data Array - Tablica z parametrami * @param data['dscrpt'] String - opis pisma * @param data['dctpid'] Int - typ dokumentu (types_of_documents:dctpid) * @param data['dctptp'] String - typ dokumentu (types_of_documents:dctptp). Przykład: VatNote, Paper * @param data['target'] Int - identyfikator stanowiska (organization_units:orunid) * @param data['prc_id'] Int - identyfikator sprawy (processes:prc_id) * @param data['state_'] Int - rodzaj dokumenty (1-wychodzący, 2-przychodzący, 3-wewnętrzny) * @param data['from_contact_symbol'] String - symbol nadawcy (contacts:symbol) * @param data['to_contact_symbol'] String - symbol odbiorcy (contacts:symbol) * @param data['docdat'] String - data pisma w formacie YYYY-MM-DD * @param data['adddat'] String - data wpływu w formacie YYYY-MM-DD * @param data['pprosm'] String - znak pisma * @param data['outpid'] Int - identyfikator dyspozycji ze słownika dyspozycji (outgoing_types:outpid). Pole istotne tylko dla pism wychodzących * @param data['dlvnum'] String - numer "R-ki" * @param data['dlvdat'] String - data doręczenia pisma do adresata w formacie YYYY-MM-DD * @param data['fixinf'] String - uwagi * @param data['doloid'] Int - identyfikator miejsca przechowywania (documents_locations:doloid) * @param data['tpstid'] Int - identyfikator statusu (types_of_processes_states:tpstid). Jeśli statusu przypisano dla pisma wartość musi wskazywać na poprawny tpstid z tabeli types_of_processes_states gdzie clsnam = DOCUMENT|dctpid pisma * @param data['prtpid'] Int - identyfikator procedury (procedures_def:prtpid) * * @return Int - id dokumentu jeśli sukces (documents:doc_id), 0 w razie niepowodzenia * * @throws Exception - SoapFault */ Int createDocument(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); $doc_id = NULL; try { $data = array( 'dscrpt' => 'SOAP TEST '.date('d H:m:s'), 'prc_id' => 567, 'dctptp' => 'Paper', 'target' => 54, 'from_contact_symbol' => '12345', 'to_contact_symbol' => '54321', ); $doc_id = $client->createDocument($data); var_dump($doc_id); } catch(SoapFault $fault) { var_dump($fault); if ($fault->faultcode < 100) { trigger_error("SOAP Fault: (faultcode: {$fault->faultcode}, faultstring: {$fault->faultstring})", E_USER_ERROR); } } ?>