Categories:

Беседы роботов

Наверное, все помнят историю, как банковский бот позвонил голосовому ассистенту. Они там о чём-то мило поговорили, в результату чего владельцу счёта заблокировали карту. Я тут столкнулся с чем-то отдалённо подобным.

Есть такая штука как Request Tracker, он же Issue Tracker, он же HelpDesk, он же ServiceDesk для регистрации разновсяческих жалоб-заявок-обращений от конченных пользователей, они же end users. Развлекуха начинается, когда вступает в игру B2B (business-to-business).

Вот представьте, допустим есть две фирмочки "Ромашка" и "Василёк", которые предоставляют друг другу какие-то оккультные услуги. Допустим, менеджмент в обеих дико дрючит исполнителей и требует протоколировать каждый чих. Поэтому при возникновении каких-либо проблем переписка между ними идёт по электронной почте, но обязательно через пресловутые Tracker-ы с обеих сторон. Чтобы, значит, аудиторский след оставался. А также чтобы было проще передавать текущие дела от одного сотрудника другому, подключать к рабочему процессу дополнительные производственные силы и всё в этом духе.

Развиваем мысль. Как система распознаёт входящее электронное письмо и ассоциирует его с тем или иным тредом / тикетом / проблемой? Правильно, по теме письма. При этом трекер парсит subject и ищет в нем какие-то идентификаторы. Обычно это какие-нибудь спецсимволы наподобие #, №, NNN, Ticket или что-нибудь в этом роде и циферки. Если найдёт подходящий к найденному идентификатору тред, приобщает письмо к нему. Не найдет — создает новый тикет. Это я пока капитанствую.

А теперь представим, что в переписке с двух сторон участвуют трекеры. И способы идентификации писем у них примерно похожие. Например, один использует маркировку вида '##123456', а второй '#12345'. И вот тут начинается адъ, Израиль и правый берег реки Иордан. Треды рассыпаются либо с одного конца, либо с другого. Одни жалуются, что контрагенты "портят" значение в поле "тема". Другому последующие письма приходят как новые тикеты, а не как продолжение однажды заведённого. Если же он пытается их "подшивать" по-правильному, то этих писем не могут найти уже на противоположном берегу. Сам не видел, но старожилы также рассказывают, что были кейсы, когда две системы начинали по кругу переписываться автоответами.

Решение, конечно, простое. Например, кому-нибудь одному отвечать из почтового клиента, а не через трекер. Но оно не устраивает руководство. Можно поменять формат идентификатора проблем / запросов. Но не факт, что впоследствии он не пересечется с кем-нибудь ещё. Самое правильное, идентифицировать письма не по теме, а по какому-нибудь другому признаку. Вопрос только по какому. Можно совать в письмо какой-нибудь дополнительный заголовок типа "Message-ID", как это делает та же OTRS и дальше работать с ним. Но опять же, никто не гарантирует, что вражеские или транзитные системы сохранят этот заголовок в целости и сохранности при ответе.

А вы сталкивались с чем-нибудь подобным? Как подобные грабли обходятся "по уму" в цивилизованном мире? Я имею в виду вопрос о принадлежности входящих писем тому или иному треду, когда две стороны общаются друг с другом по электронной почте посредством трекеров / хелпдесков.