Požadavek get-messages

Přijaté zprávy

Tento požadavek slouží k vyžádání nově přijatých zpráv. Jsou vráceny pouze zprávy zaslané uživateli, který požadavek poslal. Požadavek pro svou činnost nevyžaduje platnou session.

Přijetí každé zprávy musí být klientskou částí do 30 minut potvrzeno. Není-li přijetí potvrzeno, je zpráva po 30 minutách odeslána znovu. Při návrhu klientské části aplikace je třeba brát v úvahu, že zprávu může přijmout a potvrdit kterákoli klientská aplikace a že aplikací může v jednu chvíli běžet několik. Po přijetí zprávy první aplikací získá druhá aplikace zprávu pouze, pokud bude níže uvedený atribut already="true" a tento stav bude trvat až do doby, kdy bude zpráva potvrzena. Po potvrzení již žádná aplikace zprávu nezíská. Dobrou praxí aplikací je potvrzovat zprávy až tehdy, kdy ví, že již žádná další aplikace nepotřebuje na zprávu reagovat. Opakované potvrzení téže zprávy není chybou, ale běžnou praxí aplikací.

Při použití atributu bude požadavek čekat zadaný počet sekund, zda během nich dorazí nějaká zpráva. Pokud ano, je okamžitě vrácena odpověď obsahující nově přijatou zprávu. Pokud žádná zpráva nedorazí, je vrácena prázdná odpověď.

Není-li atribut wait uveden, pak se nečeká, pokud je však atribut wait uveden a má hodnotu 0, čeká se nekonečně dlouho.

Po odeslání požadavku s atributem avoid-wait nastaveným na hodnotu true, jsou všechna stávající čekání daného uživatele ukončena. Nové volání požadavku get-messages se chovají normálně. Zavolání požadavku get-messages s atributem avoid-wait nastaveným na hodnotu false, má stejný význam, jako volání bez tohoto atributu. I v případě použití avoid-wait atributu (bez ohledu na jeho hodnotu), mohou být součástí odpovědi nově přijaté zprávy.

Stav avoid-wait je platný pro všechna přihlášení daného uživatele, jeho nastavení tedy vede k ukončení všech čekání ve všech session vytvořených daným uživatelem.

syntax
<request>
<get-messages
already="{boolean}"
wait="{time}"
avoid-wait="{boolean}"
/>
</request>

Atributy

already - Opětovné získání zprávy - Určuje, zda budou opětovně získány i zprávy, které byly již přijaty, ale nebyly zatím potvrzeny. DEFAULT true.(typ: boolean) TYP HODNOTY: boolean;

wait - Čekání na zprávu - Určuje, zda se bude na zprávy čekat zadaný počet sekund. Hodnota 0, znamená čekat nekonečně dlouho (dokud nepřijde zpráva).(typ: time) TYP HODNOTY: time;

avoid-wait - Zakazuje či povoluje stav - Povoluje, či zakazuje avoid-wait stav.(typ: boolean) TYP HODNOTY: boolean;


Potomci

Požadavek get-messages neobsahuje žádné další elementy, ani žádné jiné číselné či řetězcové hodnoty.


Odpověď

Struktura odpovědi na požadavek get-messages vrácená v obálce response:

syntax
<response>
<messages>
<message ... {string}</message> ?
</messages>
</response>

Atributy

Odpověď messages neobsahuje žádné atributy.


Potomci


Uzel message

Jde o uzel obsahující text TYP HODNOTY: string;

syntax
<message
id="{number}"
from="{number}"
submited_dt="{date}"
submited_tm="{time}"
type="{number}"
avoid-join="{boolean}"
already="{boolean}"
msg="{string}"
size="{number}"
>
{string}
</message>

Atributy

id - Jedinečný celočíselný identifikátor položky.(typ: number)

from - ID uživatele - ID uživatele, který zprávu odeslal.(typ: number) TYP HODNOTY: number;

submited_dt - Datum odeslání zprávy - Zobrazuje datum odeslání zprávy.(typ: date) TYP HODNOTY: date;

submited_tm - Čas odeslání zprávy - Zobrazuje čas odeslání zprávy.(typ: time) TYP HODNOTY: time;

type - Rozlišení zprávy - Číselné rozlišení zprávy zvolené odesilatelem. Pouze zprávy se stejným typem jsou slučovány.(typ: number) TYP HODNOTY: number;

avoid-join - Spojování zpráv - Zda zpráva podporovala spojování zpráv do jedné hromadné(typ: boolean) TYP HODNOTY: boolean;

already - Opětovné získání zprávy - Zda zpráva podporovala spojování zpráv do jedné hromadné(typ: boolean) TYP HODNOTY: boolean;

msg - Text zprávy - Zaslaná textová zpráva. Atribut není uveden, pokud zpráva textovou část neobsahuje.(typ: string) TYP HODNOTY: string;

size - Velikost datové zprávy - Skutečná velikost datové (binární) části zprávy, binární část je kódována hexadecimálně, takže velikost obsahu tagu message je dvojnásobná než atribut size. Atribut není uveden, pokud zpráva neobsahuje datovou část, v takovém případě je obsah tagu message prázdný.(typ: number) TYP HODNOTY: number;


Potomci

Uzel message neobsahuje žádné další elementy. Uzel může obsahovat prostý text.


Poznámka k response

Na rozdíl od většiny požadavků nemůže u tohoto požadavku dojít k chybě. Proto je vždy vrácena kladná odpověď. Tato odpověď může být i prázdná, neobsahovat tedy žádné tagy message. Věnujte pozornost uvozujícímu tagu messages, který je vracen z důvodu kompatibility s LIVE verzí, tudíž se nejmenuje stejně, jako požadavek. Ze stejného důvodu rovněž tag odpovědi neobsahuje stavový atribut status, nebo type s hodnotou ok.

Odpověď může v těle messages obsahovat žádnou, jednu, nebo více zpráv. V těle zprávy (tagu message) může být hexadecimálně kódovaný binární obsah, v takovém případě obsahuje i atribut message, který nabývá hodnoty skutečné (nikoli kódované) velikosti binárního obsahu. Atribut msg obsahuje textový obsah zprávy, byl-li odesilatelem zadán. Zpráva tedy může obsahovat binární i textovou část, jednu z nich, nebo žádnou.


Požadavek get-userPožadavek change-passwordPožadavek actionPožadavek send-requestPožadavek send-messagePožadavek confirm-messagePožadavek get-messagesPožadavek tranformPožadavek set-tempPožadavek get-tempPožadavek general-lockPožadavek encryptPožadavek decryptPožadavek max-keyPožadavek reload-sslPožadavek get-versionsPožadavek uuidPožadavek cnthashPožadavek rand