/dev/member/create

Метод создаёт нового тестового пользователя и возвращает данные, которыми под ним можно авторизоваться. Пользователь создаётся так же, как в админке: с отрицательным telegram_id, а значит сразу получает «Ключ авторизации» (Member::testAuthKey) и права администратора.

Метод нужен автономным прогонам агента. Один аккаунт держит одну сессию, поэтому два клиента с одним ключом выбивают друг друга — прогону нужна собственная личность, и он заводит её сам, столько раз, сколько требует задача (например, несколько аккаунтов для проверки реферальной системы или матчмейкинга).

Адрес метода

/dev/member/create

Не требует сессию пользователя

Это единственный метод группы /dev, который вызывается без авторизации: у вызывающего ещё нет пользователя. Вместо сессии метод проверяет общий секрет.

Метод недоступен на production

Метод создаёт пользователя с отрицательным telegram_id, а такой пользователь считается администратором и получает доступ ко всей группе /dev.

Авторизация вызова

Секрет передаётся в заголовке X-Agent-Secret и сверяется со значением agent_member_secret из настроек админ-панели («Основные» → «Секрет выдачи тестовых игроков»).

Если настройка пуста, метод закрыт: пустой секрет не совпадает ни с чем, включая отсутствующий заголовок. Ротация — смена значения в админке, менять код для этого не нужно.

Параметры

Параметр Обязательный Тип Описание
label НЕТ string Имя создаваемого пользователя (поле first_name), до 50 символов — по ширине колонки. По нему созданных прогонами игроков видно в списке тестовых. По умолчанию agent

Результат

{
    "response": {
        "success": 1,
        "timestamp": 1758253785.916074,
        "member": {
            "id": 12345,
            "telegram_id": -42,
            "auth_key": "00002ac4e1f0a1b2c3d4e5f60718293a4b5c6d7e8f9012"
        }
    }
}
Поле Тип Описание
id int Идентификатор созданного пользователя
telegram_id int Всегда отрицательный — это и есть признак тестового пользователя
auth_key string Ключ авторизации: передаётся как параметр data в /auth/telegram

Ограничения

Не больше 30 вызовов в минуту на стенд — счётчик общий для всех вызывающих; сверх того возвращается 10429 Too many requests.

Тем же Too many requests отвечает и проигранная гонка: telegram_id выбирается как «на единицу меньше минимального», и параллельные вызовы спорят за одно значение. Проигравший перечитывает минимум и повторяет, но если не успел за пять попыток — просит прийти ещё раз.

Неверный или отсутствующий секрет — 10403 Permission denied. Тем же 10403 отвечает и вызов на production: группа /dev там закрыта для запроса без сессии, и до проверки среды внутри метода дело не доходит. Отличить «не та среда» от «не тот секрет» по коду ответа нельзя.

Созданные пользователи не удаляются сами. Удалить конкретного можно, авторизовавшись под ним и вызвав /dev/member/delete.