Assist — это старейший платёжный шлюз в России, который работает с 1998 года. Проекты компании реализуются в России, СНГ и Европе, а за качество технологий награждались премиями Mastercard. Ребята из Assist делают сложные решения для разного бизнеса: от курьерских служб до больших маркетплейсов и авиакомпаний.
С 2016 года мы использовали Slack — в нём шло всё общение: включая приватные чаты, интеграции и технические логи. В июне 2024 года Slack предупредил, что будет блокировать аккаунты российских компаний. Мы тоже получили письмо о блокировке, поэтому нужно было срочно мигрировать на новый сервис с сохранением данных по максимуму.
Как мессенджер мы выбрали Пачку. Но при организации импорта столкнулись с несколькими проблемами:
Поэтому приняли решение провести импорт своими силами — через API и опенсорсные инструменты. Это дало больше гибкости и позволило контролировать каждый шаг в процессе. Но и усилий потребовалось немало: переезд стал полноценным проектом с кучей инженерных задач. Подробнее свой опыт мы описали здесь.
Сначала мы временно переехали в другое Slack-пространство, чтобы не потерять доступ к данным, а затем начали полноценную интеграцию с Пачкой. Бэкапы собирали поэтапно: сначала выгрузили публичные каналы. А для приватных переписок (на нашем тарифе был экспорт только открытых чатов) подключили опенсорсную утилиту slackdump: по ней написали для сотрудников подробную инструкцию, как выгружать нужные им чаты. Так сохранили историю, которая не заходила в стандартный экспорт. Сложнее всего было со вложениями: нам нужно было вручную вытаскивать файлы, перекладывать их на свой сервер и менять ссылки в дампах.
Для переноса сообщений внутрь Пачки тоже пришлось покреативить: создание сообщения от лица конкретного пользователя возможна только через его токен. Решили не тратить на это время и завели одного технического юзера, через которого все импортировали. При отправке бот менял префикс, указывающий на имя настоящего автора из Slack. Это выглядело аккуратно и удобно в поиске.
Если честно, мы не ожидали, что переезд пройдёт настолько гладко, хоть и были трудности в процессе. Весь процесс проектирования, написания кода, тестов и самого импорта занял несколько недель. Мы загрузили в сумме 5–6 дампов: основной, промежуточные, и отдельные архивы, которые всплывали по ходу. Делили их по частям, потому что так проще было обрабатывать сообщения и они быстрее загружались. Еще мы использовали инкрементальную дозагрузку: один большой бэкап мог загружаться продолжительное время. Поэтому мы делили процесс на два этапа: заливали большой файл с историей и останавливали загрузку в нужный нам момент. Потом возобновляли загрузку более свежей информации с места, где остановились, не начиная с начала. Наша утилита как раз позволяет обрабатывать дампы без подбора временных диапазонов.
После отключения Slack сотрудники с ходу начали работать в Пачке. Для нас это был не просто переезд, а проект с множеством нестандартных решений, который удалось реализовать благодаря API-first подходу и гибкости самой Пачки.
В итоге мы сохранили практически всё: структуру чатов, сообщения, вложения. Конечно, пришлось чем-то пожертвовать — например, личные переписки мы решили не переносить, а сообщения публиковались от одного технического пользователя. Но это было не критично: в поиске все ищется корректно, а основная информация сохранилась.
Благодаря этому сотрудники зашли в Пачку и увидели уже знакомую среду: их чаты, сообщения, те же участники. Не было ощущения, что мы «переехали в пустоту».
Если вы планируете такой переезд, главное — зафиксировать объём работ. Определитесь, какие чаты и данные реально нужны. Не тащите всё подряд, особенно если у вас накопились десятки гигабайтов сообщений от ботов: они будут загружаться в Пачку неделями. Мы сначала всё выгрузили, проанализировали — и отсеяли то, что не имело смысла переносить. Второй момент — подготовка. Нужно заранее продумать, кто будет создавать пользователей, через кого переносятся сообщения и как все это тестировать.
Если кто-то захочет повторить этот путь — мы решили выложить код всей интеграции в открытый доступ. Нам самим не хватало таких инструкций в начале. Если по ним у вас появятся вопросы, то пишите. Мы поделимся своим опытом: нюансы переезда, как обошли ограничения и т.д.