Ticketovaci system: udalosti, externi ID, statistiky a widgety nad konektory
Jakakoliv udalost se muze stat ticketem. Prijem je verejny endpoint na firmu (`POST /webhook/ticket/:token`), takze zalozit ticket jde i bez stavby stromu. Externi ID je unikatni V RAMCI FIRMY: dalsi zprava se stejnym ID se navesi na existujici ticket misto zalozeni druheho, a stejne ID u jine firmy je jiny ticket. Cislo a retezec jsou tentyz klic. Udalosti se drzi cele vcetne prijatych dat a jdou rozbalit v detailu - je to neco jineho nez log. Ticket nove nese firstResponseAt, resolvedAt, resolvedById a reopenCount. Bez nich neslo rict, kdo kolik odbavil ani jak dlouho zakaznik cekal. `getAgentStats` z toho pocita vykon resitelu vcetne medianovych casu a vracenych ticketu. Pocet vyresenych sam o sobe odmenuje toho, kdo tickety zaviral predcasne, proto je vraceni videt vedle nej. Widgety: klient konecne vola /widget-data. Endpoint existoval, ale nikdo ho nepouzival, takze vlastni widget hlasil "nepodarilo se zobrazit". Pribyl zdroj `connector` - co umi zjistit napojena sluzba, jde vytahnout do dlazdice pres tentyz skript, ktery pouziva krok automatizace. Vysledek se cachuje. Akce a widgety uz nejsou v nastaveni, maji vlastni zalozku vedle automatizaci. Telo akce se sklada stromem, ne JSONem v textarei - je to tentyz editor, jen misto karty spoustece je "spousti clovek tlacitkem na ticketu". Nova zalozka Lide se seznamem a detailem osoby. Seznam ticketu i lidi ma dva pohledy, tabulku a dlazdice. Opraveno: createTicket bral typeId, fields, tags i assigneeGroupId, ale nikdy je neukladal. Ticket zalozeny s typem zustaval bez typu a bez vlastnich poli. Dlouhe pomlcky, sipky, vypustky a bullety pryc z celeho projektu. Overeno 21 kontrolami proti bezicimu serveru v rezimu souboru. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
6c90372991
commit
29de584df8
@@ -2,6 +2,62 @@
|
||||
|
||||
Nejnovejsi nahore.
|
||||
|
||||
## 2026-08-13 - ticketovaci system: udalosti, externi ID, statistiky, widgety
|
||||
|
||||
Popis v [18-ticketovaci-system.md](18-ticketovaci-system.md).
|
||||
|
||||
### Pridano - prijem udalosti
|
||||
|
||||
- `POST /webhook/ticket/:token`: **jakakoliv udalost se muze stat ticketem**.
|
||||
Token patri firme, ne automatizaci, takze zalozit ticket jde i bez stromu.
|
||||
- `externalId` na ticketu, **unikatni v ramci firmy**. Dalsi udalost se stejnym
|
||||
ID se navesi na existujici ticket misto zalozeni druheho. Cislo a retezec
|
||||
jsou tentyz klic, jinak by `3` a `"3"` byly dva tickety.
|
||||
- Udalosti se u ticketu drzi cele vcetne prijatych dat a jdou rozbalit
|
||||
v detailu. Je to neco jineho nez log: log je nase stopa, udalost fakt zvenku.
|
||||
|
||||
### Pridano - co se meri
|
||||
|
||||
- `firstResponseAt`, `resolvedAt`, `resolvedById` a `reopenCount` na ticketu.
|
||||
Bez nich neslo rict, kdo kolik odbavil ani jak dlouho zakaznik cekal.
|
||||
- `getAgentStats`: odbavene za obdobi, fronta, medianove casy do vyreseni
|
||||
a do prvni reakce, vracene tickety. Median zamerne, ne prumer.
|
||||
- Widget **Vykon resitelu** a detail osoby pouzivaji tutéž funkci, takze
|
||||
cisla sedi na obou mistech.
|
||||
|
||||
### Pridano - widgety
|
||||
|
||||
- Klient konecne vola `/api/dashboard/widget-data`. Predtim endpoint existoval,
|
||||
ale nikdo ho nepouzival, takze vlastni widget hlasil "nepodarilo se zobrazit".
|
||||
- Novy zdroj `connector`: co umi zjistit napojena sluzba, jde vytahnout do
|
||||
dlazdice. Vola se tentyz skript jako v kroku automatizace, vysledek se
|
||||
cachuje (`ttlSec`, nejmene 30 s).
|
||||
- Mrtvy odkaz v rozlozeni jde v rezimu uprav odstranit, ne jen precist.
|
||||
|
||||
### Zmeneno
|
||||
|
||||
- **Akce a widgety maji vlastni zalozku**, uz nejsou v nastaveni. Je to
|
||||
definice toho, co aplikace umi, stejna uroven jako automatizace.
|
||||
- **Telo akce se sklada stromem**, ne JSONem v textarei. Je to tentyz editor
|
||||
jako u automatizaci, jen misto karty spoustece je "spousti clovek".
|
||||
- Nova zalozka **Lide** se seznamem resitelu a detailem osoby.
|
||||
- Seznam ticketu i lidi ma **dva pohledy**, tabulku a dlazdice.
|
||||
- Dlouhe pomlcky pryc z celeho projektu (48 znaku ve 23 souborech).
|
||||
|
||||
### Opraveno
|
||||
|
||||
- `createTicket` bral `typeId`, `fields`, `tags` i `assigneeGroupId`, ale
|
||||
**nikdy je neukladal**. Ticket zalozeny s typem tak zustaval bez typu
|
||||
a bez vlastnich poli.
|
||||
|
||||
### Overeno
|
||||
|
||||
21 kontrol proti bezicimu serveru v rezimu souboru: navazani druhe udalosti na
|
||||
tentyz ticket, oddeleni firem pri stejnem externim ID, ulozeni typu a poli
|
||||
z prijmu, vyreseni s casem i clovekem, zapocteni navratu z vyreseno, cisla ve
|
||||
widgetu vykonu, cele chybove hlaseni u widgetu nad nenapojenym konektorem,
|
||||
detail osoby, rozsah parametru akce, ulozeni stromu akce a navigace.
|
||||
|
||||
## 2026-08-13 - firmy, prava, typy ticketu, akce, widgety a uloziste pro vsechno
|
||||
|
||||
Dodelany cely [navrh rozsireni](09-navrh-rozsireni.md) a vsechna data se
|
||||
|
||||
Reference in New Issue
Block a user