# Webová služba OrgStructureWrite verze 1.1.0 (Obecné webové služby) - popis rozhraní služby

Marbes Consulting s.r.o.

EOS4

Vygenerováno z verze 4.21.0.19.0.

Podmínky omezující zveřejnění

Autorem tohoto dokumentu je společnost MARBES CONSULTING s.r.o. Dokument obsahuje informace důvěrného charakteru a ve smyslu definice autorského práva (viz § 2, odst. 1 Zákona č. 121/2000 Sb., zákon o právu autorském) je duševním vlastnictvím autora a předmětem práva autorského. Dokument smí být použit výhradně za účelem, za kterým byl poskytnut a nesmí být bez předchozího souhlasu autora citován, kopírován, vytěžován1 nebo předán třetí fyzické či právnické osobě.

© 2009 MARBES CONSULTING s.r.o.

1 Vytěžováním se podle zákona č. 121/2000 Sb. rozumí trvalý nebo dočasný přepis celého obsahu nebo jeho podstatné části na jiný podklad, a to jakýmikoli prostředky nebo jakýmkoli způsobem.

## Obsah

- Obecné informace
- Seznam poskytovaných metod
- Seznam struktur dat
- Výjimky
- Popis poskytovaných metod
- Popis struktur dat

## Obecné informace

Rozhraní webové služby pro zápis organizační struktury.

## Seznam poskytovaných metod

Název | Popis
--- | ---
detachPersonFromGroupRole | Odpojí osobu ze skupinové role.
detachPersonFromOrgRole | Odpojí osobu z organizační role.
placePersonToGroupRole | Umístí osobu s daným id do skupinové role s daným id.
placePersonToOrgRole | Umístí osobu s daným id do organizační role s daným id.
storePerson | Uloží předanou osobu.
updatePersonImage | Uloží fotografii na osobu předanou pomocí identifikátoru.

## Seznam struktur dat

Název | Popis
--- | ---
EosBuildingInfo | Reprezentuje údaje o budově.
EosIdentifier | Reprezentuje identifikátor webového objektu slučující interní a externí ID.
EosImage | Webový objekt pro přenos fotografie.
EosPerson | Reprezentuje osobu.
EosPersonInfo | Reprezentuje doplňující informace o zařazení osoby, tedy uživatelská pole, telefony a informace o umístění.
EosPhone | Reprezentuje telefon.
EosPhones | Reprezentuje wrapper pro kolekci telefonů.
EosUserField | Reprezentuje uživatelské pole.
EosUserFields | Reprezentuje kolekci uživatelských polí.
EosValue | Reprezentuje hodnotu string atributu, výčtového atributu a selectového atributu.

## Výjimky

### EosInvalidImageFormatException

Vyjímka reprezentuje špatný vstupní parametr do web metod.

### EosInvalidParameterException

Vyjímka reprezentuje špatný vstupní parametr do web metod.

### EosObjectNotFoundException

Vyjímka reprezentuje stav, kdy nebyl objekt podle kriterií nalezen.

### EosOrgStructureException

Vyjímka reprezentuje stav, kdy došlo k problému při práci s organizační strukturou.

### EosUnexpectedException

Reprezentuje neočekávanou výjimku při volání WS. Jejím zdrojem musí být vždy jiná výjimka.

## Popis poskytovaných metod

### detachPersonFromGroupRole

Odpojí osobu ze skupinové role.

#### Předpis

void detachPersonFromGroupRole (EosIdentifier personId, EosIdentifier groupRoleId)

#### Parametry

Parametr | Typ | Povinný | Popis
--- | --- | --- | ---
personId | EosIdentifier | Ano | identifikátor osoby
groupRoleId | EosIdentifier | Ano | identifikátor skupinové role

#### Výjimky

EosUnexpectedException - nastala vnitřní chyba EOSu
EosObjectNotFoundException - osoba, která má být odpojena nebyla nalezena
EosOrgStructureException - skupinová role od která má být osoba odpojena nebyla nelezena
EosInvalidParameterException - byl předán nevalidní vstupní parametr

### detachPersonFromOrgRole

Odpojí osobu z organizační role.

#### Předpis

void detachPersonFromOrgRole (EosIdentifier personId, EosIdentifier orgRoleId)

#### Parametry

Parametr | Typ | Povinný | Popis
--- | --- | --- | ---
personId | EosIdentifier | Ano | identifikátor osoby
orgRoleId | EosIdentifier | Ano | identifikátor organizační role

#### Výjimky

EosUnexpectedException - nastala vnitřní chyba EOSu
EosObjectNotFoundException - osoba, která má být odpojena nebyla nalezena
EosOrgStructureException - organizační role od která má být osoba odpojena nebyla nelezena
EosInvalidParameterException - byl předán nevalidní vstupní parametr

### placePersonToGroupRole

Umístí osobu s daným id do skupinové role s daným id.

#### Předpis

void placePersonToGroupRole (EosIdentifier personId, EosIdentifier groupRoleId, String clientId)

#### Parametry

Parametr | Typ | Povinný | Popis
--- | --- | --- | ---
personId | EosIdentifier | Ano | identifikátor osoby.
groupRoleId | EosIdentifier | Ano | identifikátor cílové skupinové role.
clientId | String | Ano | identifikátor klienta, je povinný jen při předání externího Id v personId nebo groupRoleId

#### Výjimky

EosObjectNotFoundException - osoba nebo skupinová role nebyla nalezena
EosInvalidParameterException - při neplatných identifikátorech
EosUnexpectedException - nastala vnitřní chyba EOSu

### placePersonToOrgRole

Umístí osobu s daným id do organizační role s daným id.

#### Předpis

void placePersonToOrgRole (EosIdentifier personId, EosIdentifier orgRoleId, String clientId)

#### Parametry

Parametr | Typ | Povinný | Popis
--- | --- | --- | ---
personId | EosIdentifier | Ano | identifikátor osoby
orgRoleId | EosIdentifier | Ano | identifikátor cílové organizační role
clientId | String | Ano | identifikátor klienta, je povinný jen při předání externího Id v personId nebo orgRoleId

#### Výjimky

EosUnexpectedException - nastala vnitřní chyba EOSu
EosInvalidParameterException - při neplatných identifikátorech
EosObjectNotFoundException - osoba, která má být zařazena do role nebyla nalezena

### storePerson

Uloží předanou osobu. Pokud bude uvedeno personInfo, budou aktualizovány pole (jen ta, která budou uvedena, ostatní zůstanou nedotčena): umístění a telefony, uživatelská pole. Pokud personInfo nebude uvedeno, nebudou se záznamy umístění, telefon a uživatelských polí aktualizovat.

#### Předpis

EosIdentifier storePerson (EosPerson person, EosPersonInfo personInfo, String clientId)

#### Parametry

Parametr | Typ | Povinný | Popis
--- | --- | --- | ---
person | EosPerson | Ano | daná osoba.
personInfo | EosPersonInfo | Ano | její depolňující informace (kontakty, budovy) - nepovinné.
clientId | String | Ano | identifikátor klienta, je povinný jen při předání externího Id v personId

#### Výstup

EosIdentifier - identifikátor webového objektu.

#### Výjimky

EosUnexpectedException - nastala vnitřní chyba EOSu
EosObjectNotFoundException - Osoba, která má aktualizována nebyla nalezena.
EosInvalidParameterException - při předání neplatného identifikátoru osoby

### updatePersonImage

Uloží fotografii na osobu předanou pomocí identifikátoru. Podporovaný formát fotografie je pouze jpg (jpeg).

#### Předpis

void updatePersonImage (EosImage image, EosIdentifier personId, String clientId)

#### Parametry

Parametr | Typ | Povinný | Popis
--- | --- | --- | ---
image | EosImage | Ano | obrázek reprezentovaný polem bytů
personId | EosIdentifier | Ano | id osoby ke které se má fotografie přiřadit
clientId | String | Ano | identifikátor klienta, je povinný jen při předání externího Id v personId

#### Výjimky

EosUnexpectedException - nastala vnitřní chyba EOSu
EosObjectNotFoundException - osoba, která má aktualizována nebyla nalezena
EosInvalidParameterException - při předání neplatného identifikátoru osoby
EosInvalidImageFormatException - obrázek byl předán v nepodporovaném formátu (podporovaný formát: jpg (jpeg))

## Popis struktur dat

### EosBuildingInfo

Reprezentuje údaje o budově. Není v EOSu skutečnou entitou, proto neobsahuje žádný identifikátor.

Jméno atributu | Datový typ | Povinné | Popis
--- | --- | --- | ---
building | EosValue | Ne | Název budovy.
floor | EosValue | Ne | Patro budovy.
room | EosValue | Ne | Místnost budovy.

### EosIdentifier

Reprezentuje identifikátor webového objektu slučující interní a externí ID.

Jméno atributu | Datový typ | Povinné | Popis
--- | --- | --- | ---
externalId | String (255) | Ne | Id entity v externím systému.
eosIdentifier | String (255) | Ne | Unikátní identifikátor entity v EOSu (v rámci konkrétního potomka entity, tedy např. organizační role), při importu do EOSu nemá význam.

### EosImage

Webový objekt pro přenos fotografie.

Jméno atributu | Datový typ | Povinné | Popis
--- | --- | --- | ---
image | byte | Ne | Fotografie reprezentována polem bytů.

### EosPerson

Reprezentuje osobu.

Jméno atributu | Datový typ | Povinné | Popis
--- | --- | --- | ---
id | EosIdentifier | Ano | Identifikátor.
surname1 | String (64) | Ano | 1. příjmení.
surname2 | String (64) | Ne | 2. příjmení.
firstname1 | String (64) | Ano | 1. křestní jméno.
firstname2 | String (64) | Ne | 2. křestní jméno.
degreeBefore | String (32) | Ne | Akademický titul před jménem.
degreeAfter | String (32) | Ne | Akademický titul za jménem.
dateStart | Date | Ne | Datum zavedení do evidence.
dateEnd | Date | Ne | Datum vyřazení z evidence.
username | String (255) | Ne | Uživatelské jméno. Není povinné kvůli tomu, že je možné jméno generovat.
abbrev | String (24) | Ne | Zkratka.
email | String (128) | Ne | Adresa elektronické pošty. Pokud je uvedena, je unikátní. Nevyplněná hodnota je dovolena u více uživatelů.
displayName | String (255) | Ne | Zobrazované jméno.
disabled | Boolean | Ano | Účet uživatele je zakázán.
locked | Boolean | Ano | Pokud je EOS nastaven jako ověřovací autorita a uživatel se několikrát špatně přihlásí, účet se zamkne.

### EosPersonInfo

Reprezentuje doplňující informace o zařazení osoby, tedy uživatelská pole, telefony a informace o umístění.

Jméno atributu | Datový typ | Povinné | Popis
--- | --- | --- | ---
id | EosIdentifier | Ano | Identifikátor.
buildingInfo | EosBuildingInfo | Ne | Informace o budově.
userFields | EosUserFields | Ne | Uživatelská pole jednotlivých entit.
phones | EosPhones | Ne | Telefony přiřazené této entitě.

### EosPhone

Reprezentuje telefon.

Jméno atributu | Datový typ | Povinné | Popis
--- | --- | --- | ---
id | EosIdentifier | Ano | Identifikátor.
description | String (512) | Ne | Popis telefonu.
prefix | String (80) | Ne | Předvolba.
number | String (80) | Ano | Telefonní číslo.
extension | String (80) | Ne | Linka.

### EosPhones

Reprezentuje wrapper pro kolekci telefonů.

Jméno atributu | Datový typ | Povinné | Popis
--- | --- | --- | ---
phone | List<EosPhone> | Ne | Kolekce telefonů.

### EosUserField

Reprezentuje uživatelské pole.

Jméno atributu | Datový typ | Povinné | Popis
--- | --- | --- | ---
name | String (255) | Ano | Jméno uživatelského pole.
content | String (512) | Ano | Hodnota uživatelského pole.
code | String (255) | Ano | Kód uživatelského pole.

### EosUserFields

Reprezentuje kolekci uživatelských polí.

Jméno atributu | Datový typ | Povinné | Popis
--- | --- | --- | ---
userField | List<EosUserField> | Ne | Kolekce uživatelských polí.

### EosValue

Reprezentuje hodnotu string atributu, výčtového atributu a selectového atributu. Dále pak hodnoty rozsahu výčtového atributu.

Jméno atributu | Datový typ | Povinné | Popis
--- | --- | --- | ---
id | EosIdentifier | Ano | Identifikátor.
content | String (512) | Ano | Samotná hodnota atributu.
comment | String (512) | Ne | Komentář hodnoty atributu.