Эта инструкция для тех, кто не занимается программированием.
- Позволяет быстро пригласить сразу много сотрудников в Пачку, чтобы не делать эту работу вручную. Также пользователям можно будет проставить теги, чтобы массово добавлять их в чаты.
-
Откройте файл
users.csv. -
Заполните строки по образцу:
- email — электронная почта сотрудника (обязательно)
- role — роль ("user" или "admin")
- first_name — имя
- last_name — фамилия
- nickname — никнейм (можно не заполнять)
- department — отдел (можно не заполнять)
- phone_number — телефон (можно не заполнять)
- title — должность (можно не заполнять)
- tags - список тегов. Используется, чтобы задать структуру компании по отделам и добавлять пользователей массово в чаты группами (можно не заполнять)
-
Рекомендуемый способ:
- Откройте Excel.
- Выберите: Данные → Получить данные → Из текста/CSV (или Data → Get Data → From Text/CSV).
- Найдите свой файл users.csv.
- В появившемся окне выберите кодировку 65001: Unicode (UTF-8).
- Нажмите "Загрузить".
-
Google Таблицы:
- Просто загрузите файл в Google Sheets — всё откроется корректно.
- Войдите в Пачку под своей учёткой администратора.
- Перейдите в автоматизации → API → скопируйте access_token администратора.
Преимущества Docker:
- Не нужно устанавливать Ruby
- Изолированная среда выполнения
- Одинаковая работа на всех операционных системах
Требования:
- Установленный Docker
- Установленный Docker Compose
Запуск через Docker:
-
Создайте файл
.envв папке проекта и добавьте в него:PACHCA_API_URL=https://api.pachca.com/api/shared/v1 PACHCA_ADMIN_TOKEN=ваш_токен_от_Пачки -
Подготовьте файл
users.csvс данными сотрудников. -
Запустите приглашение:
docker-compose up --build
-
Логи будут сохранены в папке
logs/
Альтернативный запуск через Docker без compose:
# Создайте директорию для логов
mkdir -p logs
# Соберите образ
docker build -t pachka-invite .
# Запустите контейнер
docker run --rm \
-e PACHCA_API_URL=https://api.pachca.com/api/shared/v1 \
-e PACHCA_ADMIN_TOKEN=ваш_токен_от_Пачки \
-v $(pwd)/users.csv:/app/users.csv:ro \
-v $(pwd)/logs:/app/logs \
pachka-inviteЕсли вы предпочитаете не использовать Docker:
-
Убедитесь, что на компьютере установлен язык программирования Ruby:
- Для Mac чаще всего Ruby уже есть (но иногда его нужно обновить)
- Для Windows Ruby нужно установить отдельно
- Инструкция по установке Ruby на официальном сайте: https://www.ruby-lang.org/ru/documentation/installation/
- Для Windows: https://rubyinstaller.org/
-
Создайте файл
.envи добавьте в него:PACHCA_API_URL=https://api.pachca.com/api/shared/v1 PACHCA_ADMIN_TOKEN=ваш_токен_от_Пачки -
Откройте терминал в папке проекта и выполните:
bundle install bundle exec ruby invite_users.rb
Q: Не запускается скрипт, пишет про ошибку с токеном
A: Проверьте, что вы правильно указали токен администратора в файле .env (без пробелов и лишних символов).
Q: Показывает ошибку "Токен не принадлежит администратору" A: Убедитесь, что вы используете токен учетной записи с правами администратора.
Q: Ошибка "URL должен использовать HTTPS протокол" A: Не изменяйте PACHCA_API_URL - он должен начинаться с https://
Q: Не создается контейнер Docker A: Убедитесь, что Docker запущен и у вас есть права на его использование.
- Файл
.envс токеном — это как ключ от вашей учетной записи - НЕ отправляйте его никому и НЕ выкладывайте в интернет
- НЕ добавляйте
.envв системы контроля версий (Git) - После рассылки приглашений обязательно удалите токен из файла
.env
- Логи содержат информацию о процессе приглашения
- Email адреса и токены маскируются в логах для безопасности
- Не публикуйте файлы логов, если там есть личные данные сотрудников
- Система проверяет формат email адресов
- Валидируются роли пользователей (только "user" или "admin")
- Все входные данные фильтруются перед отправкой
- Используется только HTTPS для всех запросов
- Токены передаются в заголовках Authorization, не в URL
- Система проверяет права администратора перед началом работы
- Регулярно проверяйте и обновляйте токены доступа
- Просматривайте логи на предмет подозрительной активности
- Используйте минимально необходимые права доступа
Всё!