Public : [w_register_bibliouser] Самостоятельная регистрация нового библиотечного пользователя

Запрос позволяет зарегистрировать нового библиотечного пользователя в выбранной библиотеке (создаётся новый читательский билет). При этом, если в запросе указан:

  • e-mail пользователя, логин/пароль для доступа в библиотеку будут отправлены на указанный e-mail;
  • номер телефона пользователя, логин/пароль для доступа будут отправлены в виде СМС.

Если преданные в запросе e-mail или номер телефона привязаны к ранее созданному аккаунту на ЛитРес, то в результате выполнения запроса созданный аккаунт будет автоматически присоединен к ранее созданному. При этом, если пользователь не был авторизован, потребуется ввод пароля той учетной записи, к которой происходит присоединение.

Запрос похож на запрос [w_biblio_reader_create], но доступен анонимному пользователю.
Библиотека, в которой пользователь регистрируется, определяется по ID плаката, переданному в запросе.

При успешном выполнении запроса, созданный пользователь будет автоматически авторизован. Все дальнейшие запросы выполняются с использованием актуального SID'а, полученного в ответе.

ID функции

w_register_bibliouser

Кто может вызывать

Анонимный пользователь.
Авторизованное приложение.

Принимаемые параметры

poster* – ID плаката. Определяет библиотеку, в которой будет создан новый пользователь;
name* – имя и фамилия пользователя. Строка не более 255 символов (более длинные значения параметра будут урезаны);
birth_date* – дата рождения пользователя в ISO-формате, например, «1999-12-21». Дата рождения должна быть меньше текущей даты как минимум на 3 года;
mail – электронная почта пользователя, например, example@mail.com. Параметр является обязательным, если в запросе не передан phone;
phone – номер мобильного телефона пользователя в международном формате (без плюса, без 8 и т. д.). Например, русский номер следует передавать в формате 79071111111. Параметр является обязательным, если не передан mail;
pwd – пароль не менее 3х символов. По умолчанию этот параметр не является обязательным и при регистрации нового пользователя не используется, требуется при повторном запросе, если возникла ошибка 101291;
sid* – идентификатор сессии анонимного пользователя, полученный ранее в запросе w_create_sid или в запросе w_authorise_socnet

Возвращаемые значения

sid – актуальный (валидный) идентификатор сессии зарегистрированного пользователя.

Возможные ошибки

error_code

error_message

Описание

101205Некорректный posterПереданный ID плаката в параметре poster не существует или в этом параметре не передано никакого значения
101206Слишком короткий парольМинимальная длина пароля должна 3 символа, необходимо задать более длинный пароль
101207Не найдена библиотека по указанному постеруПо переданному ID плаката в параметре poster не удалось найти библиотеку
101208Запрещена регистрацияОнлайн регистрация в библиотеке запрещена
101290Слишком длинное имяСлишком длинное ФИО читателя, значение параметра name не может иметь длину более 255 символов
101191Некорректный nameПараметр name отсутствует или содержит пустое значение
101192Некорректный birth_dateЛибо параметр birth_date отсутствует, либо он не соответствует ISO-формату «ГГГГ-ММ-ДД», либо указанная дата больше чем «сегодня минус три года»
101193Отсутствует email или телефонВ запросе обязательно должен быть передан хотя бы один из параметров: mail или phone
101194Некорректный mailПараметр mail имеет некорректный формат
101195Некорректный phoneПараметр phone имеет некорректный формат или не является мобильным номером телефона
101005method not allowed to userИспользование данного метода недоступно для текущей учетной записи пользователя (метод можно запрашивать только анонимам)
101197Невозможно присоединить читательский билет к указанному emailПереданный в параметре mail электронный адрес уже привязан к другому аккаунту ЛитРес, и к нему нельзя присоединить создаваемую учетную запись (например, для пользователей с ролью школьник, администратор и пр.). Укажите другой e-mail или не передавайте параметр mail
101198Невозможно присоединить читательский билет к указанному телефонуПереданный в параметре phone номер телефона уже привязан к другому аккаунту ЛитРес, и к нему нельзя присоединить создаваемую учетную запись (например, для пользователей с ролью школьник, администратор и пр.). Укажите другой номер или не передавайте параметр phone
101199Дубль читателя из вашей библиотекиПользователь с таким электронным адресом (или номером телефоном) уже зарегистрирован в данной библиотеке
101200Внутренняя ошибка – попробуйте позжеНе возможно создать пользователя
101202Внутренняя ошибка – попробуйте позжеНе возможно присвоить новому пользователю логин
101292Неверный парольВ запросе передана некорректная комбинация электронной почты/номера телефона и пароля
101291Для регистрации в качестве читателя нужен парольНайден зарегистрированный пользователь с указанными в запросе электронной почтой/номером телефона. Для подключения к библиотеке требуется авторизоваться, указав пароль

Так же могут возникнуть ошибки общие для всех методов.

Пример запроса на сервер

{
   "app": "1",
   "time": "2019-04-17T16:48:58+03:00",
   "sha": "b79d8e9993d20da6abe78838d3c7fbf640a4c52956569bef3c685d3453316b5c",
   "sid": "7bad5f2fb752ee957a4ab74aaac7711g",
   "requests": [
           {
            "func": "w_register_bibliouser",
            "id": "register_bibliouser",
            "param": {
                   "poster": "12345",
                   "name": "Иванов Василий",
                   "birth_date": "2000-05-17",
                   "mail": "12545@gmail.com",
                   "phone": "79261234567",
                   
                 }
           }
   ]
}

Пример успешного ответа сервера

{
  "success": true,
  "time": "2019-04-17T16:51:16+03:00",
  "register_bibliouser": {
  		"success": true,
    	"sid": "78838d3c7fbf640a4c52956569bef3c685",
  }
}

Пример ответа сервера в случае ошибки

{
   "success" : true,
   "time" : "2019-04-17T16:51:16+03:00",
   "register_bibliouser" : {
      "time" : "2019-04-17T16:51:16+03:00",
      "success" : false,
      "error_code" : 101005,
      "error_message" : "method not allowed to user"
   }
}