Pobieranie informacji o dokumentach z procesu
Ścieżka do servletu: api/documents/query
Metoda: GET
Parametry:
- processId - Id procesu dla którego chcemy pobrać dokumenty
- activityId - (opcjonalny) Id zadania dla którego chcemy pobrać dokumenty. Jeżeli nie podano, pobrane zostaną wszystkie dokumenty z procesu.
Odpowiedź:
- Odpowiedź zawiera listę dokumentów.
Pobieranie rozszerzonych informacji o dokumentach z procesu
Ścieżka do servletu: api/documents/view/query
Metoda: GET
Parametry:
- processId - Id procesu dla którego chcemy pobrać dokumenty
- activityId - (opcjonalny) Id zadania dla którego chcemy pobrać dokumenty. Jeżeli nie podano, pobrane zostaną wszystkie dokumenty z procesu.
Odpowiedź:
- Odpowiedź zawiera listę dokumentów.
Pobranie dostępnych klas dokumentów
Ścieżka do servletu: api/documents/classes
Metoda: GET
Parametry:
- rightType - typ uprawnień do dodawania dokumentów do systemu, jeden z:
- ALL - do procesu lub archiwum,
- PROCESS - do procesu,
- ARCHIVE - do archiwum.
Odpowiedź:
- Odpowiedź zawiera listę klas dokumentów do których zalogowany użytkownik ma uprawnienia.
Pobieranie indeksów dla klasy dokumentów
Ścieżka do servletu: api/documents/indexes/{documentClassId}
Metoda: GET
Parametry:
- documentClassId - Id klasy dokuementów( parametr przekazany w ścieżce servlet'u)
Odpowiedź:
- Odpowiedź zawiera listę indeksów.
Dodanie dokumentu
Ścieżka do servletu: api/documents/upload
Metoda: POST
enctype: multipart/form-data
Parametry:
- indexesAsJson (od wersji 4.0.39) - (opcjonalny, true/false) Czy indeksy przekazywane są w formacie JSON (pole indexesJson formularza)
Treść zapytania:
Formularz HTML zawierający definicję dokumentu. Definicja powinna zawierać następujące pole:
- file - Pole typu file
- activityId - Id zadania
- processId - Id procesu
- documentClassId - Id klasy dokumentów
- description - Opis
- newVersion - (true/false) Czy zapisać jako nowa wersja
indexes - (opcjonalny) Wartości indeksów dodawanego dokumentu. Wartości powinny być przekazane zgodnie z typem żądania form-data, czyli w formie
Przykład prawidłowej wartości pola indexesindexes[1]: "Wartość indeksu o id 1" indexes[3]: "Wartość indeksu o id 3"
indexesJson (od wersji 4.0.39) - (opcjonalny, należy go podawać w połączeniu z parametrem zapytania indexesAsJson=true) Wartości indeksów dodawanego dokumentu. Wartości powinny być przekazane w formacie JSON:
Przykład prawidłowej wartości pola indexesindexes: { "1": "Wartość indeksu o id 1", "3": "Wartość indeksu o id 3", "11": 234.62, /* Wartość indeksu zmiennoprzecinkowego o id 11 */ "15": false /* Wartość indeksu logicznego o id 15 */ }
Parametry activityId i processId są opcjonalne:
- Jeżeli podamy oba parametry, to dokument zostanie dodany do archiwum i podłączony do wskazanego zadania.
- Jeżeli podamy tylko processId, to dokument zostanie dodany do archiwum i podłączony do wskazanego procesu.
- Jeżeli nie podamy żadnego z tych parametrów lub podamy tylko activityId, to dokument zostanie dodany tylko do archiwum.
Odpowiedź:
- Odpowiedź zawiera definicję zapisanego pliku
Wsparcie dla InternetExplorer
W przeglądarce InternetExplorer aby wykonać upload pliku serwer musi odpowiedzieć z nagłówkiem Content-Type: text/html. Należy w takim wypadku wywołać żądanie z dodatkowym parametrem:
responseAsHtml - true wymusza ustawienie nagłówka Content-Type na text/html
Pobieranie dokumentu
Ścieżka do servletu: api/documents/download/{fileId}
Metoda: GET
Parametry:
- fileId - Id pliku, który chcemy pobrać ( parametr przekazany w ścieżce servlet'u)
Odpowiedź:
- Strumień danych z plikiem
- Status HTTP: OK lub UNAUTHORIZED
Pobieranie dokumentu
Ścieżka do servletu: api/documents/get/{filename}
Metoda : GET
Parametry :
- filename - nazwa pliku z rozszerzeniem (przekazany w ścieżce servlet'u)
- fileId - Id pliku
- processId - (opcjonalny) Id procesu dla którego chcemy pobrać dokumenty
- activityId - (opcjonalny) Id zadania dla którego chcemy pobrać dokumenty
Uwaga, parametr systemowy 'AuthorizeUserForFile' określa czy jest wymagana autoryzacja użytkownika dla tego servletu.
Odpowiedź : pobrany plik dokumentu.
Pobieranie informacji o podłączonych dokumentach do zadania
Ścieżka do servletu: api/documents/activity
Metoda : GET
Parametry :
- processId - Id procesu dla którego chcemy pobrać dokumenty
- activityId - Id zadania dla którego chcemy pobrać dokumenty
Odpowiedź : Informacje o dokumentach tj. a więc poza plikami także dodatkowe informacje o dokumencie np. przez kogo został podłączony do archiwum i przez kogo został podłączony do procesu itp.
Odłączanie dokumentu od procesu
Ścieżka do servletu: api/documents/{fileId}/{processId}
Metoda: DELETE
Parametry:
- fileId - Id pliku, który chcemy pobrać ( parametr przekazany w ścieżce servlet'u)
- processId - Id procesu, z którego odłączamy plik
Odpowiedź:
- brak odpowiedzi
Usuwanie dokumentu (od wersji 3.1.31)
Metoda usuwa plik z systemu. Jeżeli usuwany plik jest w wersji np.: 2, a cały dokument ma wersji 5, to usunięte zostaną wszystkie wersje w górę, czyli zostanie tylko plik w wersji 1, chyba że parametr {@code deleteAllVersions=true}, to wtedy zostaną usunięte wszystkie wersje.
Użytkownik musi posiadać uprawnienia do usunięcia tego pliku.
Ścieżka do servletu: api/documents/{fileId}
Metoda: DELETE
Parametry:
- fileId - Id pliku, który chcemy usunąć (parametr przekazany w ścieżce servlet'u)
- deleteAllVersions (opcjonalny - domyślnie false) - Określa, czy mają być również usunięte wszystkie wcześniejsze wersje tego dokumentu.
Odpowiedź:
- brak odpowiedzi
Zmiana wartości indeksów dokumentu (od wersji 3.1.31)
Metoda zmienia przekazane wartości indeksów w podanym dokumencie. Użytkownik musi mieć uprawnienia do modyfikacji dokumentu.
Ścieżka do servletu: api/documents/{fileId}/indexes
Metoda: PUT
Request Content-Type: application/json
Parametry:
fileId - Id pliku, którego indeksy chcemy zmienić( parametr przekazany w ścieżce servlet'u)
- indexes - obiekt JSON zawierający indeksy do zmiany:
{ "2":"Nowa wartość indeksu o id 2", "7":"Nowa wartość indeksu o id 7", "11":234.62 /* Nowa wartość indeksu zmiennoprzecinkowego o id 11 */ }
Odpowiedź:
- brak odpowiedzi
Wyszukiwanie dokumentów na podstawie filtrów (od wersji 3.1.31)
Metoda wyszukuje dokumenty na podstawie podanych filtrów. Brane są pod uwagę uprawnienia użytkownika. Wyszukiwać można w klasie dokumentów (musi być podane id klasy dokumentów w parametrze documentClassId) albo w zestawie dokumentów (musi być podane id zestawu dokumentów w parametrze documentSetId). Nie można wyszukiwać jednocześnie po klasie dokumentów i zestawie dokumentów (tylko jeden parametr może być uzupełniony). Obecnie dodatkowym filtrem są jeszcze indeksy klasy dokumentów/zestawu dokumentów. Jeżeli nie podamy indeksów, to zostaną wyszukane wszystkie dokumenty z podanej klasy dokumentów/zestawu dokumentów.
Ścieżka do servletu: api/documents/query
Metoda: POST
Request Content-Type: application/json
Parametry:
obiekt JSON zawierający filtry
Przykład przesyłania indeksów{ "documentClassId": 1, //id klasy dokumentów //lub "documentSetId": 3, //id zestawu dokumentów "indexes": { //indeksy dokumentu "2":"Wartość indeksu o id 2", "7":"Wartość indeksu o id 7", "11":234.62 /* Wartość indeksu zmiennoprzecinkowego o id 11 */ } }
Odpowiedź:
- Lista wyszukanych dokumentów
Pobieranie wszystkich wersji pliku
Ścieżka do servletu: api/documents/{fileId}/versions
Metoda: GET
Parametry:
- fileId- Id pliku dla którego chcemy pobrać wszystkie wersje( parametr przekazany w ścieżce servlet'u)
Odpowiedź:
- Odpowiedź zawiera listę dokumentów.
Zmiana danych w bazie odnośnie pobranego dokumentu
Zmienia dane w bazie danych odnośnie pobrania dokumentu do zmiany. Ustawia odpowiedni status, datę pobrania dokumentu, oraz użytkownika pobierającego.
Ścieżka do servletu: api/documents/{fileId}/checkOut
Metoda: PUT
Parametry:
- fileId- Id pliku ( parametr przekazany w ścieżce servlet'u)
Odpowiedź:
- Odpowiedni HTTPStatus: OK, CONFLICT lub FORBIDDEN
Anulowanie wprowadzania zmian do pobranego dokumentu
Anuluje wprowadzanie zmian do dokumentu. Ustawia odpowiedni status, resetuje datę pobrania dokumentu, oraz użytkownika pobierającego.
Ścieżka do servletu: api/documents/{fileId}/undoCheckOut
Metoda: PUT
Parametry:
- fileId- Id pliku ( parametr przekazany w ścieżce servlet'u)
Odpowiedź:
- Odpowiedni HTTPStatus: OK lub CONFLICT
Zapisuje nową wersję pliku
Zapisuje nową wersję pliku, który wcześniej pobraliśmy do zmiany.
Ścieżka do servletu: api/documents/checkIn
Metoda: POST
enctype: multipart/form-data
Treść zapytania:
Formularz HTML zawierający definicję dokumentu. Definicja powinna zawierać następujące pole:
- file - Pole typu file
- description - Opis
- parentFileId - id pliku, który aktualizujemy
- comment - komentarz
Odpowiedź:
- Odpowiedź zawiera id zapisanego pliku w przypadku poprawnego zapisu lub treść błędu w zależności od zwróconego statusu odpowiedzi.
Pobieranie aktualnego statusu dokumentu
Ścieżka do servletu: api/documents/{fileId}/status
Metoda: GET
Parametry:
- fileId - Id pliku
Odpowiedź:
- Aktualny status dokumentu.