---
title: "Udalosti — Tickets for Laravel | Roundly"
description: "34 udalostí po potvrdení, z toho 33 ako TicketEvent — jeden typovaný listener zachytí každú zmenu tiketu pre webhooky, audit a dashboardy."
url: https://roundly-consulting.com/sk/open-source/navody/tickets-for-laravel/udalosti
language: sk
---

[Všetky balíky](https://roundly-consulting.com/sk/open-source.md)

[Tickets for Laravel](https://roundly-consulting.com/sk/open-source/navody/tickets-for-laravel.md)

# Udalosti

Každá udalosť je final readonly trieda v RoundlyConsulting\\Tickets\\Events s ShouldDispatchAfterCommit: spustí sa, až keď sa zmena potvrdí, nikdy pri rollbacku. $actor je ten, kto konal (null pre systém). Každá udalosť o jednom tikete — 33 z 34, všetky okrem GuestConverted — implementuje Contracts\\TicketEvent:

```php
interface TicketEvent
{
    public function ticket(): Ticket;   // TicketMerged: the source, the ticket merged away
    public function actor(): ?Model;    // null for the system, and always for TicketOverdue,
                                        // TicketDueSoon (the sweep) and TicketMentioned
}
```

Dispečer Laravelu doručí udalosť aj listenerom rozhraní, ktoré implementuje, takže jeden typovaný listener zachytí všetky — audit log, prenos na webhook či kanál pre dashboard:

```php
use Illuminate\Support\Facades\Event;
use RoundlyConsulting\Tickets\Contracts\TicketEvent;

Event::listen(TicketEvent::class, function (TicketEvent $event): void {
    AuditLog::create([
        'ticket' => $event->ticket()->reference,
        'event' => class_basename($event),          // TicketReplied, TicketAssigned, …
        'actor_type' => $event->actor()?->getMorphClass(),
        'actor_id' => $event->actor()?->getKey(),
    ]);
});
```

Skôr než čokoľvek pošlete von, myslite na udalosti len pre agentov: TicketNoteAdded a TicketMentioned či TicketCommentUpdated / TicketCommentDeleted o poznámke alebo zadržanej odpovedi nesú obsah, ktorý žiadny žiadateľ nesmie vidieť.

## Zoznam udalostí

| Udalosť | Payload | Spustí sa, keď |
| --- | --- | --- |
| `TicketCreated` | `ticket, actor` | Tiket bol založený. |
| `TicketUpdated` | `ticket, changed, actor` | Zmenil sa predmet, popis alebo meta hostiteľa (changed obsahuje kľúče). |
| `TicketPriorityChanged` | `ticket, from, to, actor` | Zmenila sa priorita (nie pri nastavení rovnakej hodnoty). |
| `TicketCategoryChanged` | `ticket, from, to, actor` | categorize() presunulo tiket — aj pre každý tiket, ktorý presunie zmazanie kategórie. |
| `TicketDueDateChanged` | `ticket, from, to, actor` | Termín nastavený, posunutý alebo zrušený. |
| `TicketRequesterChanged` | `ticket, requester, actor` | Aj pri konverzii hosťa. |
| `TicketDeleted / TicketRestored` | `ticket, actor` | Soft delete / obnovenie. |
| `TicketStatusChanged` | `ticket, transition, from, to, actor, system` | Každá zmena stavu okrem počiatočnej (vrátane rollbackov a adopcií); from / to sú surové hodnoty z lifecycle. |
| `TicketResolved / TicketClosed` | `ticket, actor` | Vstup do stavu kategórie Resolved / Closed. |
| `TicketReopened` | `ticket, actor` | Odchod z Resolved alebo Closed do Open, Active alebo Waiting. |
| `TicketReplied` | `ticket, comment, role, actor` | Zverejnená verejná odpoveď (nie zadržaná). |
| `TicketNoteAdded` | `ticket, comment, actor` | Interná poznámka. |
| `TicketCommentUpdated / TicketCommentDeleted` | `ticket, comment, actor` | Správa bola upravená / zmazaná — odpoveď, zadržaná odpoveď alebo poznámka: pred zobrazením komentár skontrolujte. |
| `TicketFirstResponded` | `ticket, comment, actor` | Prvá verejná odpoveď agenta. |
| `TicketMentioned` | `ticket, comment, mentioned` | Zmienka, len pre niekoho, kto smie komentár čítať. |
| `TicketAssigned` | `ticket, assignee, actor` | Priradenie alebo prevzatie (nie pre toho istého riešiteľa znova). |
| `TicketUnassigned` | `ticket, assignee, actor` | Riešiteľ bol odobratý (assignee je predošlý). |
| `TicketWatcherAdded / TicketWatcherRemoved` | `ticket, watcher, actor` | Explicitné pridania a odobratia (automatické sledovania sú tiché). |
| `TicketTagged / TicketUntagged` | `ticket, tags, actor` | Skutočne pridané / odobraté štítky (názvy) — TicketUntagged aj pre každý živý tiket, z ktorého štítok odoberie jeho zmazanie. |
| `TicketLinked / TicketUnlinked` | `ticket, related, type, actor` | Prepojenie pridané / odobraté (duplicitné pridanie nespustí nič; prepojenie duplicates zo zlúčenia tiež nie). |
| `TicketMerged` | `source, target, result, actor` | Zlúčenie bolo potvrdené; ticket() je zdroj. |
| `TicketAttachmentAdded / TicketAttachmentRemoved` | `ticket, media, actor` | Súbory na úrovni tiketu (súbory správ patria comments). |
| `TicketFieldsChanged` | `ticket, keys, actor` | Hodnoty vlastných polí nastavené alebo zabudnuté — kľúče, nikdy hodnoty. |
| `TicketOverdue / TicketDueSoon` | `ticket, dueAt` | Kontrola termínov ho označila, raz na termín. |
| `GuestConverted` | `guest, user, tickets, actor` | Hosť sa stal registrovaným používateľom (tickets = počet presunutých); nie je TicketEvent. |
| `GuestAccessRevoked` | `ticket, version, actor` | Všetky odkazy pre hostí zneplatnené — explicitne, pri zlúčení alebo pri uzavretí s revoke\_on\_close. |

- Interná poznámka sa dostane aj k vlastným udalostiam comments-for-laravel (CommentCreated, CommentMentioned), ktoré sa spúšťajú pri každom komentári — pred upovedomením kohokoľvek skontrolujte meta.tickets.internal.
- LifecycleTransitioning / LifecycleTransitioned z lifecycle sa spúšťajú aj pre tikety; uprednostnite udalosti tiketov vyššie.
- Tickets::fake() udalosti nepodvrhuje — každé volanie sa aj tak vykoná —, takže Event::fake() funguje vedľa neho.

## Prejavte lásku k open source

Tento balík je zadarmo pod licenciou MIT. Ak vám šetrí čas, jednorazový príspevok alebo členstvo na Patreone nám pomôže ho ďalej udržiavať, testovať a dokumentovať.

[Ďalšie spôsoby podpory vrátane kryptomien](https://roundly-consulting.com/sk/podporte-nas.md)

Odoslaním daru súhlasíte s našimi [podmienkami prijímania darov](https://roundly-consulting.com/sk/podmienky-darov.md).

[Podporte našu open-source prácu (otvorí sa v novej karte)](https://donate.stripe.com/dRmeVe8FX5PF1Qd9pXcEw00) [Pridajte sa k nám na Patreone (otvorí sa v novej karte)](https://www.patreon.com/cw/roundly)

## Chcete to zabudovať do svojho produktu?

Naše balíky integrujeme do zákazkových Laravel a AI riešení. Napíšte nám, na čom pracujete, a ozveme sa do 48 hodín.

[Ponuka do 48 hodín](https://roundly-consulting.com/sk/kontakt.md) [Prezrieť všetky balíky](https://roundly-consulting.com/sk/open-source/navody/tickets-for-laravel.md)
