5.10.2 api log subscribe

Funkce /api/log/subscribe vytvoří kanál pro odběr událostí (subscription) a vrací unikátní identifikátor, který se použije při následném volání funkcí /api/log/pull, příp. /api/log/unsubscribe

Každý kanál pro odběr událostí obsahuje vlastní frontu událostí. Do fronty kanálu jsou ukládány všechny nové události, které odpovídají filtru kanálu (parametr filter).  Události z fronty kanálu lze číst pomocí funkce /api/log/pull.

Současně zařízení udržují v interní paměti frontu historie událostí (posledních 10000 události). Po restartu zařízení je tato fronta historie vždy prázdná.

Pomocí parametru include lze specifikovat, zda fronta kanálu bude na počátku prázdná (tj. budou do ní zapsány pouze nové události, které vzniknou po vytvoření kanálu), příp. zda má být jednorázově naplněna událostmi z části nebo celé zaznamenané historie událostí.

Pomocí parametru duration lze specifikovat životnost kanálu v případě, že se k němu nepřistupuje pomocí funkce /api/log/pull. Po nastavené době bude nepoužívaný kanál automaticky uzavřen, jako by byla použita funkce /api/log/unsubscribe.

Funkce je součástí služby Logging a v případě použití autentizace je nutné pro některé události nastavit privilegia uživatele podle tabulky níže. Do fronty kanálu nebudou zařazovány události, pro které autentizovaný uživatel nemá požadovaná privilegia.

Tabulka událostí:

Dostupné událostiVyžadovaná privilegia uživatele
KeyPressedSledování – Klávesnice
KeyReleasedSledování – Klávesnice
CodeEnteredSledování – Klávesnice
TamperSwitchActivatedžádná
UnauthorizedDoorOpenžádná
DoorOpenTooLongžádná
LoginBlockedžádná
SilentAlarmžádná
DoorStateChangedžádná
DeviceStatežádná
AudioLoopTestžádná
MotionDetectedžádná
NoiseDetectedžádná
HardwareChangedžádná
FingerEnrollStatežádná
LiftStatusChangedžádná
LiftFloorsEnabledžádná
LiftConfigChangedžádná
CapabilitiesChangedžádná
ConfigurationChangedžádná
ExtCameraStateChangedžádná
RescueStateChangedžádná
ErrorStateChangedžádná
LiftCheckingCallžádná
DtmfSentžádná
RexActivatedžádná
AccessBlockedžádná
AccessTakenžádná
AccessLimitedžádná
DisplayTouchedžádná
DtmfPressedžádná
SwitchesBlockedžádná
CardEnteredSledování – UID (karty/wiegand)
CardHeldSledování – UID (karty/wiegand)
DtmfEnteredSledování – UID (karty/wiegand)
PairingStateChangedSledování – UID (karty/wiegand)
MobKeyEnteredSledování – UID (karty/wiegand)
WaveKeyEnteredSledování – UID (karty/wiegand)
FingerEnteredSledování – UID (karty/wiegand)

UserAuthenticated


Sledování – UID (karty/wiegand)
UserRejectedSledování – UID (karty/wiegand)

ApiAccessRequested

Sledování – Správa přístupu

LicensePlateRecognized

Sledování – Správa přístupu
CallStateChangedSledování – Telefon/Hovory
CallSessionStateChangedSledování – Telefon/Hovory
RegistrationStateChangedSledování – Telefon/Hovory
InputChangedSledování – Vstupy a výstupy
OutputChangedSledování – Vstupy a výstupy
VirtualInputSledování – vstupy a výstupy
VirtualOutputSledování – Vstupy a výstupy
SwitchStateChangedSledování – vstupy a výstupy
SwitchOperationChangedSledování – vstupy a výstupy
UserActionActivatedSledování – Vstupy a výstupy
DirectoryChangedSledování – Systém
DirectorySavedSledování – Systém

Pro tuto funkci lze použít metody GET nebo POST.

Parametry požadavku:

Parametr

TypPovinný

Výchozí

hodnota

Popis

include

stringNenew

Určuje, zda má být fronta událostí kanálu naplněna položkami z historie:


new – pouze nové události, které vzniknou až po vytvoření kanálu

all – všechny dosud zaznamenané událost včetně těch, které vzniknou až po vytvoření kanálu

−t – všechny dosud zaznamenané události za posledních t sekund včetně těch, které vzniknou až po vytvoření kanálu (např. −10)

filterlistNebez filtru

Seznam typů požadovaných událostí (názvy typů událostí oddělené čárkou). Parametr je nepovinný, a pokud není uveden, pak se v rámci kanálu předávají všechny typy událostí daného zařízení, které nejsou defaultně skryté. Pro odběr defaultně skrytých událostí je nutné události v tomto parametru vyžádat.

Defaultně skryté události jsou:

  • FingerEnrollState
  • DirectorySaved
  • DirectoryChanged
  • HardwareChanged
  • DisplayTouched
  • PairingStateChanged
  • LiftConfigChanged
  • CapabilitiesChanged
  • ConfigurationChanged
  • ExtCameraStateChanged
durationuint32Ne90Definuje dobu v sekundách, po které bude kanál automaticky uzavřen, pokud na něm nebudou probíhat žádné operace čtení pomocí /api/log/pull. Každým čtením z kanálu je automaticky životnost kanálu prodloužena o zde nastavenou hodnotu. Maximální možná hodnota je 3600 s.

Odpověď je ve formátu application/json a obsahuje pouze identifikátor vytvořeného subscription.

Parametr

Typ

Popis

id

uint32

Unikátní identifikátor vytvořeného subscription.


Příklad:

GET /api/log/subscribe?filter=KeyPressed,InputChanged
{
  "success" : true,
  "result" : {
    "id" : 2121013117
  }
}