Проблема с назначением групп пользователю при создании через API Битрикс

    Обновление (20.08.25): проблема всё ещё актуальна.

    Необходимо автоматически создать пользователя в Битрикс24 через скрипт, задав пароль, группы и прочие настройки. Все шаги, кроме назначения групп, выполняются корректно. Группы с ID 3, 4 и 12 не применяются.

    Исходный код (базовый вариант)

    Ниже представлен код, который успешно выполняет авторизацию, получение CSRF-токена и отправку данных, но группы не назначаются:

    import requests
    from bs4 import BeautifulSoup
    
    # 1. Авторизация в админ-панели
    session = requests.Session()
    login_url = f"{PORTAL_URL}/bitrix/admin/"
    login_data = {
        "AUTH_FORM": "Y",
        "TYPE": "AUTH",
        "USER_LOGIN": ADMIN_USER,
        "USER_PASSWORD": ADMIN_PASS,
        "Login": "Войти"
    }
    
    # 2. Получение CSRF-токена
    admin_page = session.get(f"{PORTAL_URL}/bitrix/admin/user_edit.php")
    soup = BeautifulSoup(admin_page.text, 'html.parser')
    csrf_token = soup.find('input', {'name': 'sessid'})['value']
    
    # 3. Создание пользователя через внутренний API
    user_data = {
        "sessid": csrf_token,
        "lang": "ru",
        "ACTION": "ADD",
        "LOGIN": USER_EMAIL,
        "EMAIL": USER_EMAIL,
        "NAME": "Тест",
        "LAST_NAME": "Пользователь",
        "SECOND_NAME": "",
        "PERSONAL_GENDER": "M",
        "NEW_PASSWORD": USER_PASSWORD,
        "NEW_PASSWORD_CONFIRM": USER_PASSWORD,
        "GROUP_ID": [3, 4, 12],
        "ACTIVE": "Y",
        "UF_DEPARTMENT[]": [1],
        "WORK_DEPARTMENT": "test",
        "WORK_POSITION": 'test',
        "apply": "Y"
    }
    
    create_response = session.post(
        f"{PORTAL_URL}/bitrix/admin/user_edit.php",
        data=user_data
    )

    Попытка исправить: структура GROUP_ID как в PHP

    В документации для PHP указана следующая структура:

    [GROUP_ID] => Array (
        [0] => Array (
            [GROUP_ID] => 10
            [DATE_ACTIVE_FROM] => 24.07.2007
            [DATE_ACTIVE_TO] => 24.07.2008
        ),
        [1] => Array (
            [GROUP_ID] => 20
            [DATE_ACTIVE_FROM] =>
            [DATE_ACTIVE_TO] =>
        )
    )

    Была выполнена адаптация под Python:

    GROUPS = [
        {
            "GROUP_ID": 3,
            "DATE_ACTIVE_FROM": "",
            "DATE_ACTIVE_TO": ""
        },
        {
            "GROUP_ID": 4,
            "DATE_ACTIVE_FROM": "",
            "DATE_ACTIVE_TO": ""
        },
        {
            "GROUP_ID": 12,
            "DATE_ACTIVE_FROM": "",
            "DATE_ACTIVE_TO": ""
        }
    ]
    
    group_fields = {}
    for i, group in enumerate(GROUPS):
        group_fields[f"GROUP_ID[{i}][GROUP_ID]"] = group["GROUP_ID"]
        group_fields[f"GROUP_ID[{i}][DATE_ACTIVE_FROM]"] = group["DATE_ACTIVE_FROM"]
        group_fields[f"GROUP_ID[{i}][DATE_ACTIVE_TO]"] = group["DATE_ACTIVE_TO"]
    
    user_data = {
        "sessid": csrf_token,
        "lang": "ru",
        "ACTION": "ADD",
        "apply": "Y",
        "LOGIN": USER_EMAIL,
        "EMAIL": USER_EMAIL,
        "NAME": "Тест",
        "LAST_NAME": "Пользователь",
        "SECOND_NAME": "",
        "PERSONAL_GENDER": "M",
        "NEW_PASSWORD": USER_PASSWORD,
        "NEW_PASSWORD_CONFIRM": USER_PASSWORD,
        "ACTIVE": "Y",
        "UF_DEPARTMENT[]": [1],
        "WORK_DEPARTMENT": "test",
        "WORK_POSITION": 'test',
        **group_fields
    }

    Результат: группы по-прежнему не назначаются.

    Вопрос

    В чём может заключаться проблема? Как правильно передать данные о группах при создании пользователя через внутренний API Битрикс24 на Python?