Модуль

Переписка с заказчиком внутри проекта, а не только в ящике

Ящик остаётся вашим, а в проект попадает только выбранное - с файлами и людьми.

Переписка с заказчиком это самая большая часть проекта, о которой сам проект ничего не знает. Решения, просьбы и файлы лежат в ящике одного человека, и тот, кого не было в треде, их просто не видел.

Один ящик и выбор по тому, кто пишет

Ящик Gmail подключается обычным разрешением: без паролей и без передачи учётной записи. Дальше выбирается, что именно попадает внутрь: полный адрес или домен целиком. У каждого правила своё направление (только входящие, только исходящие или оба) и дата, ниже которой не спускаются.

Порядок величин с одного живого проекта, как пример масштаба, а не как обещание: один ящик, 19 правил отбора, 239 279 писем в 36 112 тредах. Архив вошёл целиком, с 2010 года по сегодня.

Направление считается по владельцу ящика, а не по правилу

Подробность, которая выглядит технической и ею не является. Письмо внешнего человека в общем треде, где владелец ящика стоит лишь в копии, для правила @домен выглядело нашим, и помечалось исходящим. С тех пор направление считается по владельцу: он в отправителях, значит ушло от нас, иначе пришло к нам, и неважно, какое правило принесло письмо.

Это не чистка кода. "Мы написали, не ответили" и "нам написали, мы не ответили" это две разные работы, и вторая стыднее.

Файлы входят вместе с письмами

Вложение чаще всего и есть суть письма, поэтому оно сохраняется и читается. Из PDF, Word, Excel и текста содержимое извлекается; скан без текстового слоя проходит распознавание символов.

И одного имени файла мало. Gmail отдаёт встроенные картинки письма под именем attachment вовсе без расширения (на живом проекте таких 5853, все PNG), и пока тип определялся только расширением, они не читались совсем, молча. Теперь имя спрашивается первым, а если оно молчит, спрашивается заявленный тип.

Исходов три, а не два: либо содержание есть и мы умеем его достать, либо это украшение подписи, либо формат, который мы не читаем. Последние два значат "не обработали", но по разным причинам, и в сверке их складывать нельзя.

Порядок величин: 28 137 файлов в 14 016 письмах, текст извлечён из 15 263.

Повторная загрузка не плодит дубликаты

Один и тот же ящик загружают не один раз: добавили правило, поправили дату, вернулись за месяцем, который выглядит неполным. У каждого письма есть идентификатор провайдера, и у нас он уникален: письмо, которое уже вошло, просто не входит второй раз.

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

Загрузка к тому же продолжается с места остановки: хранится курсор, и обрыв посередине не начинает всё заново.

Письмо, привязанное к задаче

Письму не обязательно оставаться в ящике: его можно привязать к задаче, и тогда оно читается рядом с её историей. Так "заказчик просил это письмом" перестаёт быть утверждением и становится ссылкой.

Кто говорил, а не только что написано

Каждый участник треда сохраняется как человек, а не как строка с адресом. Отсюда открывается обратное направление: открыть контакт и увидеть, в каких тредах он был.

Порядок величин: 538 955 записей об участии.

Отсев: что вообще стоит читать

Не всякое письмо является работой. Хранится список тем, которые заведомо шум (сейчас 18), а входящим письмам ставится оценка тона: что требуется и с какой срочностью. Порядок величин: 2209 размеченных писем.

Перед любым обращением к модели текст проходит маскирование идентификаторов: номер удостоверения, телефон, адрес. Модель видит письмо без данных, по которым узнают человека.

Что видит заказчик

Ничего. Почтовые экраны принадлежат исполнителю, а в портале заказчика экрана почты нет вовсе. Это не настройка, которую можно забыть переключить: такой страницы там просто нет.

Чем это отличается от общего ящика

Общий ящик просит вас переехать работать в него. Здесь ящик остаётся вашим, а в проект попадает только выбранное, вместе с файлами, людьми и тредами. Писать вы продолжаете оттуда же, откуда писали вчера.

Частые вопросы

Какой почтовый ящик можно подключить?
Сейчас можно подключить ящик Gmail через обычное согласие Google: пароль не передаётся, доступ к аккаунту не отдаётся. После подключения задаются правила по полному адресу или по целому домену, и для каждого правила выбирается направление: только входящие, только исходящие или оба, а также дата, раньше которой ничего не забирается. В проект попадает только то, что подходит под правила, а сам ящик остаётся вашим.
Вложения читаются или только хранятся?
Читаются. Содержимое извлекается из PDF, Word, Excel и текстовых файлов, а скан без текстового слоя проходит распознавание символов. Тип файла определяется по имени, а если имя ничего не говорит, по типу, объявленному в письме. Украшения из подписей и файлы в форматах, которые мы не читаем, считаются отдельно, чтобы было понятно, что не прочитано и по какой причине.
Что будет, если поменять правило и загрузить ящик заново?
Ни одно письмо не придёт дважды. У каждого письма есть идентификатор почтового сервиса, и у нас он уникален, поэтому можно добавить правило, поправить дату или перезагрузить месяц, который выглядит неполным, без дублей. Загрузка к тому же продолжается с места остановки, потому что хранится курсор, и обрыв на середине не запускает всё заново.
Видит ли почту заказчик? А модель?
Заказчик не видит: в портале заказчика экрана почты нет вовсе, почтовые экраны есть только у исполнителя. Письмо, привязанное к задаче, читается рядом с её историей на стороне исполнителя. Перед любым обращением к модели, например для оценки тона входящего письма, текст маскируется по идентификаторам, таким как номер удостоверения, телефон и адрес, так что модель не видит данных, по которым можно узнать человека.

Хотите посмотреть это на своих данных? Можно начать с пробного периода, без карты.

Начать бесплатно