Разработка системы тикетов (Helpdesk/Service Desk)
Helpdesk-система управляет обращениями клиентов или сотрудников: принимает запросы по нескольким каналам, маршрутизирует к нужным специалистам, отслеживает SLA, накапливает историю взаимодействий. Разрабатывается как альтернатива Zendesk, Freshdesk или Jira Service Management — когда нужна глубокая кастомизация, специфические интеграции или закрытое развёртывание.
Жизненный цикл тикета
new → open → in_progress → pending (ждёт ответа клиента)
↓
resolved → closed
(авто-закрытие через 48ч без ответа)
Каждый статус-переход логируется с timestamp и пользователем.
Каналы приёма обращений
| Канал | Реализация |
|---|---|
| Парсинг входящих писем (IMAP/Mailgun Inbound) | |
| Виджет на сайте | JS-виджет с формой и чатом |
| API | REST endpoint для интеграций |
| Telegram | Бот, создающий тикеты |
| Телефон | Интеграция с АТС (Asterisk, Манго) |
Входящий email → создание тикета через Mailgun Routes или Laravel mail parsing:
// Обработчик входящего письма
public function handle(InboundEmail $email): void
{
$ticket = Ticket::create([
'subject' => $email->subject(),
'body' => $email->text(),
'customer' => Customer::firstOrCreate(['email' => $email->from()]),
'channel' => 'email',
'status' => 'new',
]);
$ticket->attachFiles($email->attachments());
}
SLA и эскалации
SLA (Service Level Agreement) — обязательство ответить/решить за определённое время. Конфигурация по приоритету:
| Приоритет | Первый ответ | Решение |
|---|---|---|
| Critical | 1 час | 4 часа |
| High | 4 часа | 24 часа |
| Normal | 8 часов | 72 часа |
| Low | 24 часа | 5 дней |
SLA-таймер учитывает рабочие часы и праздники. При нарушении — автоматическая эскалация: уведомление руководителю, смена приоритета, re-assignment.
Распределение тикетов (routing)
Автоматическая маршрутизация по правилам:
- По теме письма или ключевым словам → нужная группа
- По email-домену клиента → account manager
- Round-robin внутри группы
- По загрузке агента (least-loaded)
Макросы и автоответы
Часто повторяющиеся действия — в макросы: одним кликом агент применяет шаблонный ответ + меняет статус + добавляет тег. Автоответ при создании тикета — подтверждение с номером обращения.
Аналитика
- Среднее время первого ответа (FRT)
- Среднее время решения (MTTR)
- Соблюдение SLA в %
- Количество тикетов по агенту/группе/периоду
- CSAT (Customer Satisfaction) — опрос после закрытия тикета
База знаний (self-service)
Привязанная база знаний снижает поток тикетов: при создании тикета пользователю показываются релевантные статьи. Автоматическое предложение закрыть тикет, если статья решила проблему.
Сроки
MVP (email + виджет, статусы, личный кабинет клиента, базовый SLA): 6–8 недель. Полноценный Helpdesk с несколькими каналами, SLA-эскалациями, аналитикой и базой знаний: 3–4 месяца.







