Definicja parametrów:
<?php /** * Ustawienie cechy * * @param featid Int - Identyfikator cechy (features.featid) * @param tblnam String - Identyfikator tekstowy obiektu do jakiego jest przypisana cecha * (contacts - Kontakty, types_of_documents_view - Dokumenty, processes - Sprawy, events - Zdarzenia, * users - Pracownicy, devices - Urządzenia, depository - Produkty, resources - Zasoby) * @param tbl_id Int - Identyfikator obiektu, klucz główny wskazany w tblnam, gdzie tblnam to nazwa tabeli czyli dla contacts tbl_id = contid * wyjątkiem są dokumenty tam tbl_id wskazuje na doc_id z tabeli documents * @param value Mixed - Wartość cechy. W przypadku cech wyboru definiowanych przez użytkownika (oznaczonych atrybutem multi_ w * tabeli features_view) parametr ten musi być tablicą. * Dodatkowo aby usunąć wartość z cechy value === NULL (nie pusty string a NULL) * * @return int - 1 sukces, 0 w razie niepowodzenia * * @throws Exception - SoapFault */ Int setFeatureValue(Int featid, String tblnam, Int tbl_id, Mixed value) ?>
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); $featid = 19; $tblnam = 'contact'; $tbl_id = 123; $value = 'Ustawiono za pomocą API'; try { $out = $client->setFeatureValue($featid, $tblnam, $tbl_id, $value); 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); } } ?>
UWAGA! Jeżeli cecha jest listą wyboru (dane widoczne w features_opt_view) to $value musi być tablicą. Uwaga, należy wprowadzać wartość array(ftopid) z tabeli features_options.