/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.