= eDokumenty Api = System eDokumenty udostępnia API (Application Programming Interface) dzięki któremu jesteśmy w stanie przeprowadzać podstawowe czynności bez konieczności logowania do systemu. Usługa jest zabezpieczona rozszerzeniem WSSecurity protokołu SOAP i wymaga podania w nagłówkach wywołania XML nazwy użytkownika i hasła. Hasło i użytkownik to specjalne dane, które należy wprowadzić do pliku config.inc pod kluczami: {{{ #!php }}} Wartości stałych w powyższym przykładzie konfiguracji są tylko danymi prezentacyjnymi i nie powinno się ich używać na produkcyjnej bazie. Stałe te mogą mieć dowolne wartości ważne jednak aby te same wartości podać przy wywołaniu usługi SOAP w kliencie. '''Od wersji 4.0 systemu eDokumenty jest możliwość autentykacji poprzez dowolne konto użytkownika''' (nie musi to być EDOK_API_LOGIN, jak we wcześniejszych wersjach). Usługa jest dostępna pod adresem: {{{ http://{host}:{port}/eDokumentyApi.php }}} Wartość {host} oraz {port} należy zamienić odpowiednimi wartościami zgodnymi z konfiguracją serwera instalacyjnego systemu eDokumenty. Dodatkowo od wersji systemu 3.3 autentykacja nie wymaga nadpisania klienta Soap. Wystarczy do url z adresem serwisu dodać parametry GET w postaci {{{ #!php 'http://{host}:{port}eDokumentyApi.php?a1='.EDOK_API_LOGIN.'&a2='.md5(md5(EDOK_API_PASSWORD).'_SOAP_eDok_api').'&a3='.DEFAULT_ENTITY_SYMBOL.'', "uri" => "eDokumentyAPI", 'encoding'=>'UTF-8' ); ?> }}} == Uwagi dotyczące haseł == 1. Hasło powinno być zakodowane przy użyciu funkcji md5. {{{ $password = md5('haslo'); }}} 2. Jeżeli nie korzystamy z klasy '''EDokApiClient''', to doklejamy do zakodowanego hasła ciąg "_SOAP_eDok_api" i ponownie tworzymy skrót md5. {{{ $password = md5(md5('haslo').'_SOAP_eDok_api'); }}} == Uwagi dotyczące przekazywania parametrów == We wszystkich funkcjach w których parametr jest określony jako (array)$data możliwe jest przekazanie parametrów jako ciąg JSON (więcej na http://www.json.org/). Dzięki temu nie potrzeba tworzyć pseudo struktur tablic asocjacyjnych dla języków programowania, w których takich typów nie ma. == Dokumentacja API 1.8.9 == Dokumentacja poszczególnych funkcji, parametrów oraz przykłady wywołań dostępne są poniżej: {{{ http://{host}:{port}/apps/edokumenty/classes/eDokumentyApi/DokumentacjaAPI.txt }}} ''' Dokumenty ''' * [wiki:DeployerGuide/Others/eDokumentyApi/CreateDocument Utwórz nowy dokument] * [wiki:DeployerGuide/Others/eDokumentyApi/GrantUserAccessToDocument Dodaj pracownika do uprawnionych w dokumencie] * [wiki:DeployerGuide/Others/eDokumentyApi/GrantGroupAccessToDocument Dodaj grupę do uprawnionych w dokumencie] * [wiki:DeployerGuide/Others/eDokumentyApi/AddAttachmentToDocument Dodaj załącznik do dokumentu] * [wiki:DeployerGuide/Others/eDokumentyApi/SetFileMetaText Ustawia meta text załącznika (używany przy wyszukiwaniu)] * [wiki:DeployerGuide/Others/eDokumentyApi/CreateFKDayReport Tworzy nowy dokument typu raport dobowy z kasy] * [wiki:DeployerGuide/Others/eDokumentyApi/GetDocumentTypeData Pobierz dane dotyczące typu dokumentu na podstawie jednego z poniższych parametrów] * [wiki:DeployerGuide/Others/eDokumentyApi/RegisterDocument Zarejestruj w dzienniku] ''' Produkty ''' * [wiki:DeployerGuide/Others/eDokumentyApi/CreateProduct Dodanie nowego produktu] * [wiki:DeployerGuide/Others/eDokumentyApi/UpdateProduct Aktualizacja produktu] * [wiki:DeployerGuide/Others/eDokumentyApi/DeleteProduct Usuwanie produktu] ''' Sprawy ''' * [wiki:DeployerGuide/Others/eDokumentyApi/CreateProcess Dodanie nowej sprawy] * [wiki:DeployerGuide/Others/eDokumentyApi/UpdateProcess Aktualizacja sprawy] * [wiki:DeployerGuide/Others/eDokumentyApi/GrantUserAccessToProcess Dodaj pracownika do uprawnionych w sprawie] * [wiki:DeployerGuide/Others/eDokumentyApi/GrantGroupAccessToProcess Dodaj grupę do uprawnionych w sprawie] * [wiki:DeployerGuide/Others/eDokumentyApi/GetProcess Pobierz dane o sprawie] * [wiki:DeployerGuide/Others/eDokumentyApi/SearchProcess Wyszukanie sprawy w bazie] ''' Kontakty ''' * [wiki:DeployerGuide/Others/eDokumentyApi/CreateContact Dodanie nowego kontrahenta] * [wiki:DeployerGuide/Others/eDokumentyApi/GetContact Pobierz dane o kontrahencie] * [wiki:DeployerGuide/Others/eDokumentyApi/SearchContacts Wyszukanie kontrahentów w bazie] * [wiki:DeployerGuide/Others/eDokumentyApi/CreateContactPerson Dodanie nowej osoby kontaktowej] * [wiki:DeployerGuide/Others/eDokumentyApi/UpdateContactPerson Aktualizuj dane osoby kontaktowej] * [wiki:DeployerGuide/Others/eDokumentyApi/GetContactPersons Pobierz dane wszystkich osób kontaktowych wskazanego kontrahenta] ''' Zdarzenia ''' * [wiki:DeployerGuide/Others/eDokumentyApi/CreateEvent Dodaj nowe zdarzenie] * [wiki:DeployerGuide/Others/eDokumentyApi/GetEvent Pobierz dane o zdarzeniu] * [wiki:DeployerGuide/Others/eDokumentyApi/GetEvents Zwraca listę zdarzeń według zadanych parametrów] ''' Procedury ''' * [wiki:DeployerGuide/Others/eDokumentyApi/GetProceduresStages Zwraca dane etapów danej procedury] * [wiki:DeployerGuide/Others/eDokumentyApi/CompleteStage Wykonj dany etap procedury oraz aktywuj następny] ''' Zarządzanie użytkownikami i jednostkami ''' * [wiki:DeployerGuide/Others/eDokumentyApi/GetOrganizationUnit Pobierz dane dotyczące jednostki organizacyjnej na podstawie jednego z poniższych parametrów] * [wiki:DeployerGuide/Others/eDokumentyApi/createUserAccount Dodaje konto użytkownika systemu.] * [wiki:DeployerGuide/Others/eDokumentyApi/deactivateUserAccount deactivateUserAccount] * [wiki:DeployerGuide/Others/eDokumentyApi/reactivateUserAccount reactivateUserAccount] * [wiki:DeployerGuide/Others/eDokumentyApi/getUserAccount Zwraca dane użytkownika systemu. ] * [wiki:DeployerGuide/Others/eDokumentyApi/getGroup Zwraca dane grupy użytkowników] * [wiki:DeployerGuide/Others/eDokumentyApi/addUserToGroup Dodaje użytkownika do grupy] * [wiki:DeployerGuide/Others/eDokumentyApi/removeUserFromGroup Usuwa użytkownika z grupy] * [wiki:DeployerGuide/Others/eDokumentyApi/createOrganizationUnit Dodaje jednostkę organizacyjną.] * [wiki:DeployerGuide/Others/eDokumentyApi/getOrganizationUnit Zwraca dane jednostki organizacyjnej. ] * [wiki:DeployerGuide/Others/eDokumentyApi/assignUserToOrganizationUnit Przypisuje użytkownika do jednostki organizacyjnej] * [wiki:DeployerGuide/Others/eDokumentyApi/withdrawUserFromOrganizationUnit Zwalnia użytkownika ze stanowiska] * [wiki:DeployerGuide/Others/eDokumentyApi/setUserPrivilages setUserPrivilages] ''' Urządzenia ''' * [wiki:DeployerGuide/Others/eDokumentyApi/createDevice Dodaj nowe urządzenie] * [wiki:DeployerGuide/Others/eDokumentyApi/createDeviceLocation Dodaj lokalizację urządzenia] * [wiki:DeployerGuide/Others/eDokumentyApi/getDevice Pobierz dane urządzenia] * [wiki:DeployerGuide/Others/eDokumentyApi/getDeviceLocation Pobierz lokalizację urządzenia] ''' Inne ''' * [wiki:DeployerGuide/Others/eDokumentyApi/NotifyUser Wysyłanie powiadomień] * [wiki:DeployerGuide/Others/eDokumentyApi/SetFeatureValue Ustawienie cechy] * [wiki:DeployerGuide/Others/eDokumentyApi/SendeInvoiceViaEmail Podpisz i wyślij dokument na emaila] * [wiki:DeployerGuide/Others/eDokumentyApi/getReportData Wykonuje raport i zwraca jego wynik] * [wiki:DeployerGuide/Others/eDokumentyApi/publishDossier Publikacja teczki RWA w danej jednostce organizacyjnej] ''' MRD ''' * [wiki:DeployerGuide/Others/eDokumentyApi/getRegister Pobiera definicję rejestru] * [wiki:DeployerGuide/Others/eDokumentyApi/addRegistryEntry Dodanie pozycji do rejestru] * [wiki:DeployerGuide/Others/eDokumentyApi/getMaxDateForRegister Pobiera datę ostatniej modyfikacji dla całego rejestru]