Команда Пачки
Демонстрация Пачки
Живой разговор с нашим экспертом,
не больше получаса
Узнаете, как быстро перейти в Пачку из Slack, Telegram или другого мессенджера
Сориентируетесь по ценам и скидкам
Посмотрите, как работает Пачка: основные функции и интеграции
Передовые компании выбирают Пачку
Логотип МФТИЛоготип SkillfactoryЛоготип Lamoda
Демонстрация Пачки
Мы свяжемся с вами в течение дня и договоримся о времени.
Спасибо! Ваша заявка была получена!
Запись в данный момент недоступна. Попробуйте ещё раз позднее.
10.4.24

Отображение ссылки на руководителя в профиле сотрудника

Скрипт: Отображение ссылки на руководителя в профиле Пачки
Язык: Python
Cложность: Cредняя
Автор: Иван Дьяконов, руководитель проекта


Описание скрипта

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

Данную интеграцию может сделать только администратор или владелец пространства в Пачке

Как подготовиться к интеграции

  1. Создайте поле “Ссылка на руководителя”
    1. Перейдите в раздел “Участники” в левом меню
    2. Нажмите “Настройки” в правом верхнем углу
    3. Нажмите на кнопку “Добавить поле”
    4. Введите название “Ссылка на руководителя”
    5. Выберите тип поля “Ссылка”
    6. Нажмите “Сохранить”
  2. Создайте поле “Руководитель” аналогичным способом, если оно у вас не добавлено
    1. обязательно заполните его - если поле будет пустым, то ссылка на руководителя не пропишется
  3. Настройте отображение полей “Руководитель” и “Ссылка на руководителя”, чтобы их видели все сотрудники
    1. Перейдите в раздел “Участники” в левом меню
    2. Нажмите на иконку шестеренки в верхней части таблицы
    3. В открывшемся окне в нижней части нажмите на эти поля
    4. Зажмите и расположите их в правильном порядке

Код интеграции

Скрипт написан на языке Python. Его можно скопировать и воспроизвести в среде разработки, например, в PyCharm

1#Перед запуском программы нужно установить библиотеку requests
2# pip install requests
3
4import requests
5import json
6
7#URL для обращения к API Пачки, метод "Список сотрудников"
8url = "https://api.pachca.com/api/shared/v1/users"
9
10#access_token для доступа к API, доступен пользователям с ролями "Администратор"/"Владелец", раздел "Автоматизации" -> "API"
11headers = {"Authorization": "Bearer ВАШ_ACCESS_TOKEN"}
12headers_2 = {'Content-Type': 'application/json', "Authorization": "Bearer ВАШ_ACCESS_TOKEN"}
13
14#Получение списка сотрудников, добавленных в Пачку
15response = requests.get(url, headers=headers)
16data = json.loads(response.text)
17users_data_array = data['data']
18
19usersMap = {}
20usersMap_2 = {}
21
22#Cоздание ключей для поиска аккаунта руководителя
23# key - ключ для поиска руководителя по имени и департаменту (более точный)
24# key_2 - ключ для поиска руководителя по имени (менее точный)
25for user in users_data_array:
26    key = user['first_name'] + user['last_name'] + user['department']
27    key_2 = user['first_name'] + user['last_name']
28    usersMap[key] = user
29    usersMap_2[key_2] = user
30
31for user in users_data_array:
32    custom_properties = user['custom_properties']
33
34    #Поиск руководителя сотрудника по key или по key_2 (если не получилось найти руководителя с таким же департаментом, как у сотрудника)
35    for custom_property in custom_properties:
36
37        if custom_property['name'] == 'Ссылка на руководителя':
38            property_link = custom_property['id']
39
40        if custom_property['name'] == 'Руководитель' and custom_property['value']:
41            searchKey = custom_property['value'] + user['department']
42            director = usersMap.get(searchKey.replace(' ', ''))
43
44            if director is None:
45                searchKey_2 = custom_property['value']
46                director = usersMap_2.get(searchKey_2.replace(' ', ''))
47
48            #Генерация ссылки на профиль руководителя и добавление ее в профиль сотрудника
49            if bool(director):
50                body = {"user": {"custom_properties": [{"id": property_link, "value": "https://app.pachca.com?user_id=" + str(director['id'])}]}}
51                response = requests.put(url + '/' + str(user['id']), headers=headers_2, data=json.dumps(body))
52                break

Примечания к скрипту

  1. Вам нужно изменить в начале кода acces_token в header на свой (доступен админам, его можно достать в разделе “Автоматизации” → “API” в левом меню)
  2. При добавлении сотрудников нужно будет повторно запускать скрипт. Чтобы не делать вручную, можно его разместить на облачных функциях Яндекса и запускать скрипт при каком то событии или по таймеру, например
  3. Проследите, чтобы у всех сотрудников были заполнены поля “Имя” и “Фамилия”. Если это условие не будет соблюдено, то скрипт покажет ошибку

Обновлено 
16.11.2023
Попробуйте Пачку
2000 сообщений в месяц — бесплатно
Попробовать бесплатно →