Definicja parametrów:
<?php /** * Tworzy pozycję na dokumencie * * @param data Array - Tablica z parametrami * @param data['doc_id'] Int - identyfikator dokumentu (documents:doc_id) *wymagany * @param data['depoid'] Int - identyfikator produktu (depository:depoid) parametr zamienny z product_symbol *wymagany * @param data['product_symbol'] String - symbol produktu (depository:symbol) parametr zamienny z depoid *wymagany * @param data['depnam'] String - nazwa produktu widoczna na pozycji (może być inna niż ta słownikowa (depository.name__)) * @param data['mname_'] String - nazwa produktu jeśli dodawany jest "ręcznie" parametr zamienny z depoid oraz product_symbol *wymagany * @param data['prior_'] Int - priorytet na liście produktów * @param data['netto_'] Numeric(12, 2) - cena netto * @param data['purcst'] Numeric(12, 2) - koszt netto * @param data['vatnam'] String - nazwa stawki VAT (vat:vatnam) * @param data['quantm'] Numeric(12, 2) - ilość * @param data['discnp'] Numeric(12, 2) - rabat procentowo * @param data['discnm'] Numeric(12, 2) - wartość rabatu * @param data['cursmb'] String - symbol waluty * @param data['commnt'] String - uwagi * * @return Int - id pozycji jeśli sukces (fk_elements:fkelid), 0 w razie niepowodzenia * * @throws Exception - SoapFault */ Array addPositionToDocument(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); $element = array(); try { $data = array( 'doc_id' => 1, 'depoid' => 1, ); $element = $client->addPositionToDocument($data); var_dump($element); } catch(SoapFault $fault) { var_dump($fault); if ($fault->faultcode < 100) { trigger_error("SOAP Fault: (faultcode: {$fault->faultcode}, faultstring: {$fault->faultstring})", E_USER_ERROR); } } ?>