Перейти к содержанию

Сортировка и объединение

Сортировка — очередь, где обращения клиентов и гостей ждут, пока кто-нибудь начнёт с ними работать. Объединение превращает две заявки об одном и том же в одну. Для обоих действий нужно helpdesk-pro.triage.

Когда заявка ждёт в сортировке

Заявка ждёт (её состояние сортировки — pending), когда:

  • она пришла из веб-формы или по почте в проект, где включена настройка Triage required, или
  • защита портала задерживает гостевую отправку как подозрительную (см. Форма запроса и гости).

Заявки, созданные сотрудниками, никогда не ждут. Предустановленный проект Support требует сортировки.

Клиенту сообщают «We got your request» сразу при поступлении, ждёт заявка или нет (письмо client-received), и он может прочитать её в портале сразу.

Экран сортировки

#/triage перечисляет все ожидающие заявки, которые вы видите, начиная с самой старой. Счётчик в боковом меню и значке боковой панели — одно и то же число. Каждая строка раскрывается на месте с сообщением клиента, отправителем и похожими заявками, а также тремя кнопками:

  • Accept: заявка входит в обычный поток. Сначала можно перенести её в другой проект и выбрать исполнителя, приоритет и тип. Оставьте исполнителя пустым, и заявку возьмёт исполнитель проекта по умолчанию; выберите «Nobody», чтобы оставить её без исполнителя.
  • Duplicate of…: заявка закрывается как копия другой. Найдите оригинал по номеру или теме (похожие заявки предлагаются первыми). Let them follow the original добавляет клиента в оригинал как копию, чтобы он читал ответы, а его письмо ссылается на оригинал. Этот флажок уже установлен, когда у обеих заявок общий клиент или оригинал уже доступен клиентам проекта.
  • Decline: заявка закрывается. Напишите краткую причину для клиента или установите Don't email the client, чтобы закрыть её тихо (например, спам).

Каждое решение может сопровождаться заметкой для команды: она добавляется как внутренняя заметка и никогда не доходит до клиента. При открытом обращении клавиши a, d и x запускают Accept, Duplicate of… и Decline.

#/triage/<id> открывает одно обращение напрямую. Ожидающая заявка, открытая в любом другом месте рабочей области, показывает в боковой панели карточку Triage с кнопкой Decide in Triage. Без права сортировки экран доступен только для чтения и сообщает об этом.

Что делает каждое решение

Решение Заявка Активность Письмо клиенту
Accept Состояние сортировки accepted; проект, исполнитель, приоритет и тип — как выбрано triage, внутренняя Нет, если клиент уже получил «We got your request»; если отправка была задержана как подозрительный спам, письмо уходит сейчас
Duplicate of… Состояние сортировки duplicate, статус закрыт; с «follow» клиент присоединяется к оригиналу как копия triage, публичная client-triage: «We're already following this in another request», ваша причина и ссылка на оригинал, если клиент следует за ним
Decline Состояние сортировки declined, статус закрыт triage, публичная client-triage: «We won't be taking this request further» и ваша причина; ничего, если установлен Don't email the client

Решение по обращению принимается один раз; повторная попытка возвращает 409. Страница клиента в портале показывает «declined» или «duplicate» его словами, но никогда вашу заметку. Причина отображается в активности только если была отправлена по почте.

Объединение двух заявок

Когда одна и та же проблема приходит дважды, объедините одну заявку с другой.

  1. Откройте заявку, которую нужно присоединить.
  2. Выберите Merge into another ticket… в меню ⋯ в её заголовке.
  3. Введите номер заявки, которая должна содержать обе переписки.
  4. Прочитайте, кто получит доступ, и подтвердите.

Объединение:

  • переносит каждый ответ и заметку вместе с их файлами и почтовыми цепочками в целевую заявку в порядке написания;
  • добавляет заявителя и копии объединённой заявки в целевую как копии, а её наблюдателей — как наблюдателей;
  • переносит метки, которые может использовать проект целевой заявки;
  • закрывает объединённую заявку со ссылкой на целевую, сохраняя её собственную активность, поэтому старая ссылка всё ещё сообщает, куда ушла переписка. Объединённая заявка, ждавшая в сортировке, покидает очередь как дубликат целевой.

Заявка, объединённая с другой, представляет ту заявку, с которой её объединили, поэтому дубликат указывает на действующую.

Когда объединение расширяет доступ

Объединение может дать людям читать то, чего они не могут читать сейчас:

  • клиенты объединённой заявки начинают читать ответы целевой;
  • клиенты целевой заявки (её заявитель, копии и, для заявки, общей с проектом, клиенты проекта) начинают читать ответы объединённой заявки;
  • сотрудники, работающие с проектом целевой заявки, но не с объединённой, начинают читать её заметки.

Перед объединением рабочая область простыми словами показывает, кто получит доступ («Ada Lovelace will be able to read the replies on #1042»), и просит подтверждения. API делает то же самое: возвращает 409 с code: access_widens, пока запрос не будет отправлен снова с confirm: true. Объединение двух заявок одного клиента в одном проекте ничего не расширяет и проходит сразу.

API и MCP

Маршрут Право Тело или запрос Ответ
POST /helpdesk-pro/tickets/{id}/triage triage {decision, duplicate_of_id, follow_original, reason, notify, note, project_id, assignee_id, priority, kind} Заявка с сохранённым решением в decision. 409, если решение уже принято.
GET /helpdesk-pro/tickets/{id}/merge triage ?into_id= {source, target, widens, reasons, target_thread, source_thread, source_notes}; каждая группа — {count, people: [{id, name, kind}]}.
POST /helpdesk-pro/tickets/{id}/merge triage {into_id, confirm} Целевая заявка с merged_from и moved_messages. 409 access_widens с widening, пока не подтверждено.

Список ожидающих: GET /helpdesk-pro/tickets?triage=pending&sort=created&order=asc. Инструменты MCP: triage_ticket, preview_merge и merge_ticket. ИИ-клиент должен вызвать preview_merge, показать причины, а затем вызвать merge_ticket с confirm.

События ticket.triaged и ticket.merged перечислены в разделе Расширение.