6.5

Metriky (KPI)

Metriky jsou pojmenované číselné hodnoty sbírané v čase. Význam jednotlivých metrik je na vás, protože jen vy víte, jaké údaje potřebujete sbírat o své firmě nebo o okolí, které vaši firmu ovlivňuje. Nabídneme však příkad. Předpokládejte, že byste rádi měli v CRM zaznamenáno, kolik vaše firma za měsíc spotřebovala elektrické energie. Můžete pověřit jednoho uživatele tím, že vždy prvního v měsíci ověří stav elektroměru a zapíše rozdíl do tabulky metrik pod názvem spotrebaEl. Vznikne tím metrika, kterou může management firmy vyhodnocovat. Kromě ručního sběru metrik je možné metriky zapisovat i automaticky (např. pomocí tohoto API).

GET /api/metrics

Získání metrik z databáze.

Požadavek

Query parametrTypPopisVýchozí
positionintindex prvního záznamu, který má být vrácen (0 - první záznam)0
sizeintpočet záznamů (stránky), povolené maximum 1000100
orderBystringúdaj, podle kterého mají být záznamy řazenélastDay
descbooleanřazení je sestupné (descending)false
titlestringfiltrovat podle názvu metriky-
typestringfiltrovat podle typu časového období-
yearintfiltrovat podle roku-
partyintfiltrovat podle vazby na kontakt-
userstringfiltrovat podle uživatele-

Příklad: /api/metrics?year=2020&title=spotrebaEl
Získá metriky reprezentující spotřebu elektriny za rok 2020.

Odpověď (application/json)

200 OK

Stránka se záznamy typu metrika.

{
  "items": [
    {
      "id": 22321,
      "title" : "spotrebaEl",
      "type" : "month",
      "year" : 2020,
      "spec" : 0,
      "value" : 2.112,
      /* ... */
    }
    /* ... */
  ]
}

POST /api/metrics

Vytvoření nové metriky.

Požadavek (application/json)

Tělo požadavku musí být JSON objekt, reprezentující novou metriku. Neměl by obsahovat parametr id. ID bude nové metrice přiděleno při úspěšném zápisu.

Odpověď (application/json)

201 OK CREATED

Tělo odpovědi bude tatáž metrika, ale už v podobě, jak byla zapsána do databáze a s přiděleným kódem.

V http hlavičce Location bude URL k získání metriky v pozdějších dotazech.

400 BAD REQUEST

Zaslaný objekt neprošel validací a nemůže být zapsán do databáze. Tělo obsahuje standardní chybový JSON s popisem nalezených chyb.

GET /api/metrics/add

Toto je alternativní způsob vytvoření metriky metodou GET, přičemž metrika je naplněna z parametrů předávaných v http dotazu. Tento koncový bod navíc testuje, jestli už stejná data za určené období nejsou v databázi a pokud ano, provede aktualizaci.

Požadavek

Query parametrTypPopisVýchozí
titlestringnázev metriky-
typestringtyp časového období-
yearintrok-
specintindex období v daném roce-
partyintkontakt-
userstringuživatel-
valuedoublehodnota metriky-

Příklad: /api/metrics/add?title=spotrebaEl&year=2020&spec=6&value=12.114
Zapíše spotřebu elektřiny za červenec 2020 ve výši 12.114.

Odpověď (application/json)

201 OK CREATED

Tělo odpovědi bude tatáž metrika, ale už v podobě, jak byla zapsána do databáze a s přiděleným kódem.

V http hlavičce Location bude URL k získání metriky v pozdějších dotazech.

400 BAD REQUEST

Zaslaný objekt neprošel validací a nemůže být zapsán do databáze. Tělo obsahuje standardní chybový JSON s popisem nalezených chyb.