В выбранной библиотеке создаётся новый читательский билет. При этом:
- Если указан читательский email, то на него отправляется логин/пароль для доступа.
- Если указан только номер мобильного — то доступ отправляется в виде СМС.
Также есть сценарии, когда указанный e-mail/телефон уже привязаны к другому пользователю ЛитРес. В этом случае читательский билет пытается автоматически присоединиться к ранее созданному аккаунту.
ID функции
w_biblio_reader_create
Кто может вызывать
Авторизованное приложение, имеющее разрешение на работу с библиотечным API <ссылка TODO>
Принимаемые параметры
libhouse* – ID библиотеки, в которой создаётся новый читательский билет. Этот ID выдаётся менеджером ЛитРес при получении доступа к API или получается через запрос <TODO>, если вы являетесь оператором группы библиотек;
name* – имя и фамилия читателя (строка 255 символов; более длинные строки будут обрезаны);
birth_date* – дата рождения в ISO-формате «1999-12-21». Дата рождения должна быть меньше текущей даты как минимум на 3 года.
mail – e-mail читателя (example@mail.com). Параметр является обязательным*, если не передан phone;
phone – номер мобильного телефона читателя с кодом страны. Пример: «79161234567» или «380341234567». Важно: указывайте российские телефоны именно с префиксом «7», а не «8». Параметр является обязательным*, если не передан mail;
groups – массив с названием библиотечных групп, в которые нужно поместить читателя. Примеры названия групп: «Филиал №94», «7Б класс». Название каждой группы — строка до 20 символов без знака запятых. Если в строке будут переданы запятые — они будут автоматически удалены. Если длина будет более 20 символов — лишние будут обрезаны.
Примечание для ЛитРес-perl-разработчиков
При успешном создании читательского билета через АПИ — в БД в поле biblio_parents.reg_type прописываем новый тип «4». Описание других типов регистрации юзеров см в: https://hub.litres.ru/pages/ticket/?id=80726
Возвращаемые значения
lib_card* – номер созданного читательского билета;
login* – логин читателя. Логин может отличаться от номера читательского билета (не актуально для школьных библиотек);
password – пароль читателя. Не сохраняйте пароль на своей стороне! Это небезопасно и не целесообразно, т.к. он может быстро устареть. Пароль может отсутствовать среди возвращаемых параметров. Это означает, что читательский билет был успешно присоединён к аккаунту с логином login;
name* – имя и фамилия читателя;
birth_date* – дата рождения в ISO-формате «1999-12-21»;
phone – номер мобильного телефона читателя с кодом страны. Пример: «79161234567» или «380341234567»;
mail – e-mail читателя;
groups – массив с названиями библиотечных групп, в которых числится читатель. Например, группами могут быть филиалы, классы и пр. Если читатель не числится ни в одной группе — массив будет пустым.
is_hybrid* – есть ли у читателя возможность совершать розничные покупки на ЛитРес за собственные деньги (не актуально для школьных библиотек);
is_merged* – был ли читательский билет присоединён к ранее созданному аккаунту в момент создания (не актуально для школьных библиотек). «0» — не был присоединён. «1» — читательский билет был успешно присоединён к аккаунту с логином login*. Если читатель забыл пароль от этого аккаунта, он может самостоятельно его восстановить в форме авторизации на сайте www.litres.ru.
create_date* – дата и время создания читательского билета в в ISO-формате «2013-11-07T16:21:02+03:00».
Возможные ошибки
error_code | error_message | Описание |
|---|---|---|
101190 | Некорректный libhouse | Либо отсутствует параметр libhouse, либо переданный ID библиотеки не существует, либо у вас нет прав для работы с читателями этой библиотекой. |
| 101191 | Некорректный name | Параметр name либо отсутствует, либо содержит пустую строку. |
| 101192 | Некорректный birth_date | Либо параметр birth_date отсутствует, либо он не соответсвует ISO-формату «ГГГГ-ММ-ДД», либо указанная дата больше чем «сегодня минус три года». |
| 101193 | Отсутствует email и телефон | В запросе обязательно должен быть передан хотя бы один из параметров: mail или phone. |
| 101194 | Некорректный mail | Параметр mail имеет некорректный формат. |
| 101195 | Некорректный phone | Параметр phone имеет некорректный формат или не является мобильным номером телефона. |
| 101196 | Некорректный groups | Параметр groups не массив |
| 101197 | Невозможно присоединить читательский билет к указанному email | Переданный mail уже привязан к аккаунту ЛитРес, к которому невозможно присоединять другие аккаунты (например: школьники, администраторы и пр.). Либо не передавайте этот конакт в запросе, либо укажите другой контакт. |
| 101198 | Невозможно присоединить читательский билет к указанному телефону | Переданный phone уже привязан к аккаунту ЛитРес, к которому невозможно присоединять другие аккаунты (например: школьники, администраторы и пр.). Либо не передавайте этот конакт в запросе, либо укажите другой контакт. |
| 101199 | Дубль читателя из вашей библиотеки | Читатель с таким email (или телефоном) уже зарегистрирован в вашей библиотеке. |
| 101200 | Внутренняя ошибка - попробуйте позже | Не возможно созать пользователя |
| 101202 | Внутренняя ошибка - попробуйте позже | Не возможно прописать новому юзеру логин |
Так же могут возникнуть ошибки общие для всех методов.
Пример запроса на сервер
{
"app": "1",
"time": "2019-04-17T16:48:58+03:00",
"sha": "b79d8e9993d20da6abe78838d3c7fbf640a4c52956569bef3c685d3453316b5c",
"sid": "7bad5f2fb752ee957a4ab74aaac7711g",
"requests": [
{
"func": "w_biblio_reader_create",
"id": "biblio_reader_create",
"param": {
"libhouse": "13075471",
"name": "Иванов Василий",
"birth_date": "2000-05-17",
"mail": "12545@gmail.com",
"phone": "79261234567",
"groups": [
"класс 1Б",
"класс 1А"
]
}
}
]
}
Пример ответа сервера в случае успеха
{
"biblio_reader_create" : {
"is_merged" : 0,
"success" : true,
"lib_card" : 504628684,
"name" : "Иванов Василий",
"mail" : "12345@gmail.com",
"is_hybrid" : 0,
"password" : " ",
"groups" : [
"класс 1Б",
"класс 1А"
],
"birth_date" : "2000-05-17",
"phone" : null,
"login" : 504628684,
"create_date" : "2019-04-17T16:53:52+03:00"
},
"success" : true,
"time" : "2019-04-17T16:48:58+03:00"
}
Пример ответа сервера в случае ошибки
{
"success" : true,
"time" : "2019-04-17T16:51:16+03:00",
"biblio_reader_create" : {
"time" : "2019-04-17T16:51:16+03:00",
"success" : false,
"error_code" : 101005,
"error_message" : "method not allowed to user"
}
}