Перейти к основному содержимому
Версия: 7.0

Python

Создать файл create_user.py с следующим содержимым:

from passwork_client import PassworkClient

# Конфигурация
ACCESS_TOKEN = "FxWvuVqP9cPvAdWq3BMsSwVaEtFltaka49sv+2HjJME="
REFRESH_TOKEN = "2z7wR6gkNYSVBZEV3D/zddX+GW7LYuNN4WYOaZxHgMQ=" # Опционально (необходим для обновления токенов)
MASTER_KEY = "EgOHwWQZcsgp/hFUAXS0PD60IUjxinfUEo8kUomhloumAXsRPtZ/7wTubtT7WXSpbfvKDDlm+yeOt5l5mN++IQ==" # Мастер ключ (если клиентское шифрование активировано)
HOST = "https://passwork.example.org" # Адрес Пассворка

# Авторизация в Пассворке
try:
passwork = PassworkClient(HOST)
passwork.set_tokens(ACCESS_TOKEN, REFRESH_TOKEN)
if bool(MASTER_KEY):
passwork.set_master_key(MASTER_KEY)
except Exception as e:
print(f"Error: {e}")
exit(1)


# Пример: Создания пользователя
try:
# Получить доступные Роли
roles_response = passwork.call("GET", "/api/v1/user-roles", {"includeUserRole": '1', "isOnlyManageable": '1'})
if not roles_response or not roles_response.get("items"):
print("Error: Could not fetch user roles or no manageable roles found.")
exit(1)

# Выполнить поиск роли Сотрудник (при необходимо можно изменить)
user_role_items = [r for r in roles_response["items"] if r.get("code") == "user"]
if not user_role_items:
print("Error: Default 'user' role not found.")
exit(1)
default_user_role_id = user_role_items[0]["id"]

# Заполнить данные пользователя
user_data = {
"email": "test_user_python@example.com",
"fullName": "Python Test User",
"login": "python_test_user",
"userRoleId": default_user_role_id,
# "userGroupIds": [],
}

# Создание пользователя
new_user = passwork.create_user(user_data)

# Составление сообщения об успешном создании
message = f"User '{user_data['fullName']}' created with ID: {new_user['user_id']}"
if 'password' in new_user and new_user['password']:
message += f", password: {new_user['password']}"
if 'master_password' in new_user and new_user['master_password']:
message += f", master password: {new_user['master_password']}"

print(message)

except Exception as e:
print(f"Error: {e}")
Описание
  • Параметр email задаёт значение поля email для создаваемого пользователя
  • Параметр fullName определяет полное имя пользователя (например, Имя Фамилия или Имя)
  • Параметр login указывает логин для авторизации в Пассворке
  • Параметр userRoleId задаёт роль пользователя (по умолчанию — Сотрудник)
  • Параметр userGroupIds определяет группы, к которым принадлежит пользователь (одна или несколько).

В скрипт поместить полученные токены (мастер-ключ пользователя, если клиентское шифрование активировано) из веб-интерфейса и сохранить. Пример запуска скрипта и успешного создания пользователя:

(api) passwork@api-integration:~# python3 create_user.py 
User 'Python Test User' created with ID: 68da4cf1bf68ddc3b80d2342, password: JhUaUIcIK8If, master password: XBcO5sAE$HL7