PHPackages                             lan/ebs-sdk - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. lan/ebs-sdk

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

lan/ebs-sdk
===========

Ebs SDK

1.3.3(2y ago)3699[1 issues](https://github.com/spb-lan/ebs-sdk/issues)[1 PRs](https://github.com/spb-lan/ebs-sdk/pulls)MITPHPPHP 5.6.\* || 7.0.\* || 7.1.\* || 7.2.\* || 7.3.\* || 7.4.\* || 8.0.\*

Since Jul 24Pushed 2y ago3 watchersCompare

[ Source](https://github.com/spb-lan/ebs-sdk)[ Packagist](https://packagist.org/packages/lan/ebs-sdk)[ RSS](/packages/lan-ebs-sdk/feed)WikiDiscussions 1.3 Synced yesterday

READMEChangelog (10)Dependencies (4)Versions (34)Used By (0)

ЭБС Лань PHP SDK
================

[](#эбс-лань-php-sdk)

[![Build Status](https://camo.githubusercontent.com/fb38105061d2e294d7cfe202cf42224aab07293c249b1ecdcf25ff7f12d0ca35/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f7370622d6c616e2f6562732d73646b2f6261646765732f6275696c642e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/spb-lan/ebs-sdk/build-status/master)[![Scrutinizer Code Quality](https://camo.githubusercontent.com/4115cfefe223c9fb93343e9189e6c63b0f21821f1563a3a599ff5a4c712100fd/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f7370622d6c616e2f6562732d73646b2f6261646765732f7175616c6974792d73636f72652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/spb-lan/ebs-sdk/?branch=master)[![Code Coverage](https://camo.githubusercontent.com/ee4ed30422b5fba6f23d083658c6fe23c30e9c17e0494f128d912e5e7cd06e0c/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f7370622d6c616e2f6562732d73646b2f6261646765732f636f7665726167652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/spb-lan/ebs-sdk/?branch=master)

[![Latest Stable Version](https://camo.githubusercontent.com/5b061591a537591ef49de619f880669fd7405db29280ac34212cfdfba784e759/68747470733a2f2f706f7365722e707567782e6f72672f6c616e2f6562732d73646b2f762f737461626c652e737667)](https://packagist.org/packages/lan/ebs-sdk)[![Total Downloads](https://camo.githubusercontent.com/03c4e796ee17f12f543811ba58efff06af1547d0e982d190ce1940af5b4ff698/68747470733a2f2f706f7365722e707567782e6f72672f6c616e2f6562732d73646b2f646f776e6c6f616473)](https://packagist.org/packages/lan/ebs-sdk)[![Latest Unstable Version](https://camo.githubusercontent.com/24002ed45c7abc7a326c2d1a41a257da21aca4605117a99a0e2c8ff774948dfa/68747470733a2f2f706f7365722e707567782e6f72672f6c616e2f6562732d73646b2f762f756e737461626c652e737667)](https://packagist.org/packages/lan/ebs-sdk)

Открытый API ЭБС Лань - RESTful API сервер, предназначенный для взаимодействия с информационными системами клиентов - подписчиков [ЭБС Лань](https://e.lanbook.com/).

Содержание:
-----------

[](#содержание)

1. [Установка](#_11)
2. [Автологин](#_24)
3. [Доступ к метаданным](#___56)

Установка
=========

[](#установка)

Для загрузки и установки SDK Вы можете воспользоваться одним из 3-х вариантов:

- вариант 1 (предпочтительный): Через composer. "lan/ebs-sdk": "1.2.\*"
- вариант 2: Скачать  (классы придется подключать вручную)
- вариант 3: Склонировать из репозитория git clone  (классы придется подключать вручную)

Инициализация клиента Api
-------------------------

[](#инициализация-клиента-api)

Для авторизации на сервере ЭБС необходим токен, который выдается каждой организации индивидуально при подключении к сервису. Для первичного ознакомления с функционалом Вы можете использовать тестовый токен.

```
$token = '7c0c2193d27108a509abd8ea84a8750c82b3a520'; // токен для тестового подписчика
$client = new \Lan\Ebs\Sdk\Client($token); // инициализация клиента
```

Авторизация по коду
-------------------

[](#авторизация-по-коду)

ЭБС Лань поддерживает автоматическую регистрацию и авторизацию читателей подписчика по специальным образом формированной ссылке:

- **Автоматическая регистрация** пользователя производится в случае, если пользователя с указанным ID в ЭБС Лань не зарегистрировано. В этом случае система прозрачно для пользовалетя создаст для него новый аккаунт и авторизует в системе.
- **Автоматическая авторизация** срабатывает для пользователей, у которых уже есть аккаунт с указанным ID, зарегистрированным в системе ранее при помощи автоматической регистрации.

**ВАЖНО!** Обратите внимание, что автоматическая авторизация по ссылке с кодом возможна только для пользователей, которые были зарегистрированы тем же способом (при помощи автоматической регистрации). Пользователи, зарегистрированные при помощи инструментов управления пользователями через API или самостоятельно через форму регистрации на сайте должны входить при помощи логина и пароля, указанных при регистрации. Попытка авторизовать таких пользователей через автологин приведет к созданию нового аккаунта, не связанного с существующим.

### Шаг 1. Получение объекта SDK

[](#шаг-1-получение-объекта-sdk)

```
$security = new \Lan\Ebs\Sdk\Security($client);
```

### Шаг 2. Получение URL для авторизации по коду

[](#шаг-2-получение-url-для-авторизации-по-коду)

##### Параметры:

[](#параметры)

- **$uid = '12345';** - Идентификатор пользователя в вашей системе (id или логин, или любой другой уникальный) - *обязательный*
- **$fio = ‘Иванов Иван Иванович’;** - ФИО пользователя - *необязательный*
- **$email = ‘’;** - email пользователя - *необязательный*
- **$redirect = ‘/book/27’;** - Желаемая страница, после успешной регистрации/авторизации - *необязательный*

##### Пример:

[](#пример)

```
try {
    echo 'ЭБС Лань';
} catch (\Exception $e) {
    echo 'Сгенерировать ссылку для автологина в ЭБС Лань не удалось (' . $e->getMessage() . ')';
}
```

#### Смотри также:

[](#смотри-также)

- [Open Api (Swagger)](http://developers.lanbook.com/swagger/#/Server/securityAutologinUrl)
- [SDK API](http://developers.lanbook.com/sdk-docs/Lan/Ebs/Sdk/Security.html#method_getAutologinUrl)

Доступ к метаданным
===================

[](#доступ-к-метаданным)

Доступ к метаданным позволяет посредством API получать информацию о книгах и журналах, доступных подписчику ЭБС Лань в рамках приобретенной подписки.

Получение коллекции книг
------------------------

[](#получение-коллекции-книг)

#### Пример:

[](#пример-1)

```
$token = '7c0c2193d27108a509abd8ea84a8750c82b3a520'; // токен для тестового подписчика
$client = new Client($token); // инициализация клиента

$limit = 5; // Ограничение на выборку данных (максимально 1000)
$offset = 0; // Смещение выборки данных

$fields = [Book::FIELD_NAME, Book::FIELD_AUTHORS, Book::FIELD_ISBN, Book::FIELD_YEAR, Book::FIELD_PUBLISHER, Book::FIELD_LANG]; // поля для выборки

/**
 * Доступные поля:
 *      Book::FIELD_NAME = 'name' - Наименование книги
 *      Book::FIELD_DESCRIPTION = 'description' - Описание книги
 *      Book::FIELD_ISBN = 'isbn' - ISBN книги
 *      Book::FIELD_YEAR = 'year' - Год издания книги
 *      Book::FIELD_EDITION = 'edition' - Издание
 *      Book::FIELD_PAGES = 'pages' - Объем книги
 *      Book::FIELD_SPECIAL_MARKS = 'specialMarks' - Специальные отметки
 *      Book::FIELD_CLASSIFICATION = 'classification' - Гриф
 *      Book::FIELD_AUTHORS = 'authors' - Авторы
 *      Book::FIELD_AUTHOR_ADDITIONS = 'authorAdditions' - Дополнительные авторы
 *      Book::FIELD_BIBLIOGRAPHIC_RECORD = 'bibliographicRecord' - Библиографическая запись
 *      Book::FIELD_PUBLISHER = 'publisher' - Издательство
 *      Book::FIELD_LANG = 'lang' - Язык
 *      Book::FIELD_URL = 'url' - Ссылка на карточку книги
 *      Book::FIELD_THUMB = 'thumb' - Ссылка на обложку книги
 */

$bookCollection = new BookCollection($client, $fields, $limit, $offset); // коллекция моделей книг

/** @var Book $book */
foreach ($bookCollection as $book) {
      echo $book->name;
}
```

#### Смотри также:

[](#смотри-также-1)

- [Open Api (Swagger)](http://developers.lanbook.com/swagger#/Books/resourceBook)
- [SDK API](http://developers.lanbook.com/sdk-docs/Lan/Ebs/Sdk/Collection/BookCollection.html#method___construct)

Получение метаданных книги
--------------------------

[](#получение-метаданных-книги)

##### Пример:

[](#пример-2)

```
$token = '7c0c2193d27108a509abd8ea84a8750c82b3a520'; // токен для тестового подписчика
$client = new Client($token); // инициализация клиента

$fields = [Book::FIELD_NAME, Book::FIELD_AUTHORS, Book::FIELD_ISBN, Book::FIELD_YEAR, Book::FIELD_PUBLISHER, Book::FIELD_LANG]; // поля для выборки

/**
 * Доступные поля:
 *      Book::FIELD_NAME = 'name' - Наименование книги
 *      Book::FIELD_DESCRIPTION = 'description' - Описание книги
 *      Book::FIELD_ISBN = 'isbn' - ISBN книги
 *      Book::FIELD_YEAR = 'year' - Год издания книги
 *      Book::FIELD_EDITION = 'edition' - Издание
 *      Book::FIELD_PAGES = 'pages' - Объем книги
 *      Book::FIELD_SPECIAL_MARKS = 'specialMarks' - Специальные отметки
 *      Book::FIELD_CLASSIFICATION = 'classification' - Гриф
 *      Book::FIELD_AUTHORS = 'authors' - Авторы
 *      Book::FIELD_AUTHOR_ADDITIONS = 'authorAdditions' - Дополнительные авторы
 *      Book::FIELD_BIBLIOGRAPHIC_RECORD = 'bibliographicRecord' - Библиографическая запись
 *      Book::FIELD_PUBLISHER = 'publisher' - Издательство
 *      Book::FIELD_LANG = 'lang' - Язык
 *      Book::FIELD_URL = 'url' - Ссылка на карточку книги
 *      Book::FIELD_THUMB = 'thumb' - Ссылка на обложку книги
 */

$book = new Book($client, $fields);
$metaDataBook = $book->get($bookId);
```

#### Смотри также:

[](#смотри-также-2)

- [Open Api (Swagger)](http://developers.lanbook.com/swagger#/Books/resourceBookGetId)
- [SDK API](http://developers.lanbook.com/sdk-docs/Lan/Ebs/Sdk/Model/Book.html#method_get)

Получение коллекции журналов
----------------------------

[](#получение-коллекции-журналов)

#### Пример:

[](#пример-3)

```
$token = '7c0c2193d27108a509abd8ea84a8750c82b3a520'; // токен для тестового подписчика
$client = new Client($token); // инициализация клиента

$limit = 5; // Ограничение на выборку данных (максимально 1000)
$offset = 0; // Смещение выборки данных

$fields = [Journal::FIELD_NAME, Journal::FIELD_ISSN, Journal::FIELD_PUBLISHER]; // поля для выборки

/**
 * Доступные поля:
 *      Journal::FIELD_NAME = 'name' - Наименование журнала
 *      Journal::FIELD_DESCRIPTION = 'description' - Описание журнала
 *      Journal::FIELD_ISSN = 'issn' - ISSN журнала
 *      Journal::FIELD_EISSN = 'eissn' - EISSN журнала
 *      Journal::FIELD_VAC = 'vac' - Входит в перечень ВАК
 *      Journal::FIELD_YEAR = 'year' - Год основания
 *      Journal::FIELD_ISSUES_PER_YEAR = 'issuesPerYear' - Выпусков в год
 *      Journal::FIELD_EDITORS = 'editors' - Редакторы
 *      Journal::FIELD_PUBLISHER = 'publisher' -  Издательство
 *      Journal::FIELD_URL = 'url' - Ссылка на карточку журнала
 */

$journalCollection = new JournalCollection($client, $fields, $limit, $offset); // коллекция моделей журналов

/** @var Journal $journal */
foreach ($journalCollection as $journal) {
      echo $journal->name;
}
```

#### Смотри также:

[](#смотри-также-3)

- [Open Api (Swagger)](http://developers.lanbook.com/swagger#/Journals/resourceJournal)
- [SDK API](http://developers.lanbook.com/sdk-docs/Lan/Ebs/Sdk/Collection/JournalCollection.html#method___construct)

Получение метаданных журнала
----------------------------

[](#получение-метаданных-журнала)

#### Пример:

[](#пример-4)

```
$token = '7c0c2193d27108a509abd8ea84a8750c82b3a520'; // токен для тестового подписчика
$client = new Client($token); // инициализация клиента

$fields = [Journal::FIELD_NAME, Journal::FIELD_ISSN, Journal::FIELD_PUBLISHER]; // поля для выборки

/**
 * Доступные поля:
 *      Journal::FIELD_NAME = 'name' - Наименование журнала
 *      Journal::FIELD_DESCRIPTION = 'description' - Описание журнала
 *      Journal::FIELD_ISSN = 'issn' - ISSN журнала
 *      Journal::FIELD_EISSN = 'eissn' - EISSN журнала
 *      Journal::FIELD_VAC = 'vac' - Входит в перечень ВАК
 *      Journal::FIELD_YEAR = 'year' - Год основания
 *      Journal::FIELD_ISSUES_PER_YEAR = 'issuesPerYear' - Выпусков в год
 *      Journal::FIELD_EDITORS = 'editors' - Редакторы
 *      Journal::FIELD_PUBLISHER = 'publisher' -  Издательство
 *      Journal::FIELD_URL = 'url' - Ссылка на карточку журнала
 */

$journal = new Journal($client, $fields);
$metaDataJournal = $journal->get($journalId);
```

#### Смотри также:

[](#смотри-также-4)

- [Open Api (Swagger)](http://developers.lanbook.com/swagger#/Journals/resourceJournalGetId)
- [SDK API](http://developers.lanbook.com/sdk-docs/Lan/Ebs/Sdk/Model/Journal.html#method_get)

Получение коллекции выпусков журнала
------------------------------------

[](#получение-коллекции-выпусков-журнала)

#### Пример:

[](#пример-5)

```
$token = '7c0c2193d27108a509abd8ea84a8750c82b3a520'; // токен для тестового подписчика
$client = new Client($token); // инициализация клиента

$limit = 5; // Ограничение на выборку данных (максимально 1000)
$offset = 0; // Смещение выборки данных

$fields = [Issue::FIELD_NAME, Issue::FIELD_YEAR]; // поля для выборки

/**
 * Доступные поля:
 *      Issue::FIELD_NAME = 'name' - Номер выпуска
 *      Issue::FIELD_YEAR = 'year' - Год выпуска
 *      Issue::FIELD_URL = 'url' - Ссылка на карточку выпуска
 *      Issue::FIELD_THUMB = 'thumb' - Ссылка на обложку выпуска
 */

$issueCollection = new IssueCollection($client, $fields, $limit, $offset); // коллекция моделей выпусков

/** @var Issue $issue */
foreach ($issueCollection as $issue) {
      echo $issue->name;
}
```

#### Смотри также:

[](#смотри-также-5)

- [Open Api (Swagger)](http://developers.lanbook.com/swagger#/Journals/resourceJournalId)
- [SDK API](http://developers.lanbook.com/sdk-docs/Lan/Ebs/Sdk/Collection/IssueCollection.html#method___construct)

Получение метаданных выпуска журнала
------------------------------------

[](#получение-метаданных-выпуска-журнала)

#### Пример:

[](#пример-6)

```
$token = '7c0c2193d27108a509abd8ea84a8750c82b3a520'; // токен для тестового подписчика
$client = new Client($token); // инициализация клиента

$fields = [Issue::FIELD_NAME, Issue::FIELD_YEAR]; // поля для выборки

/**
 * Доступные поля:
 *      Issue::FIELD_NAME = 'name' - Номер выпуска
 *      Issue::FIELD_YEAR = 'year' - Год выпуска
 *      Issue::FIELD_URL = 'url' - Ссылка на карточку выпуска
 *      Issue::FIELD_THUMB = 'thumb' - Ссылка на обложку выпуска
 */

$issue = new Issue($client, $fields);
$metaDataIssue = $issue->get($issueId);
```

#### Смотри также:

[](#смотри-также-6)

- [Open Api (Swagger)](http://developers.lanbook.com/swagger#/Journals/resourceJournalIssueGetId)
- [SDK API](http://developers.lanbook.com/sdk-docs/Lan/Ebs/Sdk/Model/Issue.html#method_get)

Получение коллекции статей выпуска
----------------------------------

[](#получение-коллекции-статей-выпуска)

#### Пример:

[](#пример-7)

```
$token = '7c0c2193d27108a509abd8ea84a8750c82b3a520'; // токен для тестового подписчика
$client = new Client($token); // инициализация клиента

$limit = 5; // Ограничение на выборку данных (максимально 1000)
$offset = 0; // Смещение выборки данных

$fields = [Article::FIELD_NAME, Article::FIELD_AUTHORS]; // поля для выборки

/**
 * Доступные поля:
 *      Article::FIELD_NAME = 'name' - Наименование статьи
 *      Article::FIELD_AUTHORS = 'authors' - Авторы статьи
 *      Article::FIELD_DESCRIPTION = 'description' - Аннотация статьи
 *      Article::FIELD_KEYWORDS = 'keywords' - Ключевые слова статьи
 *      Article::START_PAGE = 'startPage' - Страница начала статьи
 *      Article::FINISH_PAGE = 'finishPage' - Страница окончания статьи
 *      Article::FFIELD_BIBLIOGRAPHIC_RECORD = 'bibliographicRecord' - Библиографическая запись
 */

$articleCollection = new ArticleCollection($client, $fields, $limit, $offset); // коллекция моделей статей

/** @var Article $article */
foreach ($articleCollection as $article) {
      $article->name;
}
```

#### Смотри также:

[](#смотри-также-7)

- [Open Api (Swagger)](http://developers.lanbook.com/swagger#/Journals/resourceJournalIssueId)
- [SDK API](http://developers.lanbook.com/sdk-docs/Lan/Ebs/Sdk/Collection/ArticleCollection.html#method___construct)

Получение метаданных статьи
---------------------------

[](#получение-метаданных-статьи)

#### Пример:

[](#пример-8)

```
$token = '7c0c2193d27108a509abd8ea84a8750c82b3a520'; // токен для тестового подписчика
$client = new Client($token); // инициализация клиента

$fields = [Article::FIELD_NAME, Article::FIELD_AUTHORS]; // поля для выборки

/**
 * Доступные поля:
 *      Article::FIELD_NAME = 'name' - Наименование статьи
 *      Article::FIELD_AUTHORS = 'authors' - Авторы статьи
 *      Article::FIELD_DESCRIPTION = 'description' - Аннотация статьи
 *      Article::FIELD_KEYWORDS = 'keywords' - Ключевые слова статьи
 *      Article::START_PAGE = 'startPage' - Страница начала статьи
 *      Article::FINISH_PAGE = 'finishPage' - Страница окончания статьи
 *      Article::FFIELD_BIBLIOGRAPHIC_RECORD = 'bibliographicRecord' - Библиографическая запись
 */

$article = new Article($client, $fields);
$metaDataArticle = $article->get($articleId);
```

#### Смотри также:

[](#смотри-также-8)

- [Open Api (Swagger)](http://developers.lanbook.com/swagger#/Journals/resourceJournalArticleGetId)
- [SDK API](http://developers.lanbook.com/sdk-docs/Lan/Ebs/Sdk/Model/Article.html#method_get)

Управление пользователями
=========================

[](#управление-пользователями)

Получение списка пользователей
------------------------------

[](#получение-списка-пользователей)

#### Пример:

[](#пример-9)

```
$token = '7c0c2193d27108a509abd8ea84a8750c82b3a520'; // токен для тестового подписчика
$client = new Client($token); // инициализация клиента

$limit = 5; // Ограничение на выборку данных (максимально 1000)
$offset = 0; // Смещение выборки данных

$fields = [User::FIELD_LOGIN, User::FIELD_EMAIL, User::FIELD_FIO];

/**
 * Доступные поля:
 *      User::FIELD_LOGIN = 'login' - Логин пользователя
 *      User::FIELD_FIO = 'fio' - ФИО пользователя
 *      User::FIELD_EMAIL = 'email' - Email пользователя
 *      User::FIELD_REGISTERED = 'registeredAt' - Дата и время регистрации
 */

$userCollection = new UserCollection($client, $fields, $limit, $offset); // коллекция моделей пользователей

/** @var User $user Модель пользователя */
foreach ($userCollection as $user) {
   echo $user->fio; // вывод ФИО пользователя
}
```

#### Смотри также:

[](#смотри-также-9)

- [Open Api (Swagger)](http://developers.lanbook.com/swagger#/Users/securityUser)
- [SDK API](http://developers.lanbook.com/sdk-docs/Lan/Ebs/Sdk/Collection/UserCollection.html#method___construct)

Получение пользователя и его метаданных
---------------------------------------

[](#получение-пользователя-и-его-метаданных)

#### Пример:

[](#пример-10)

```
$token = '7c0c2193d27108a509abd8ea84a8750c82b3a520'; // токен для тестового подписчика
$client = new Client($token); // инициализация клиента

$fields = [User::FIELD_LOGIN, User::FIELD_EMAIL, User::FIELD_FIO];

/**
* Доступные поля:
*      User::FIELD_LOGIN = 'login' - Логин пользователя
*      User::FIELD_FIO = 'fio' - ФИО пользователя
*      User::FIELD_EMAIL = 'email' - Email пользователя
*      User::FIELD_REGISTERED = 'registeredAt' - Дата и время регистрации
*/

$user = new User($client, $fields); // Модель пользователя
$user = $user->get($testUserPk); // Метаданные пользователя
```

#### Смотри также:

[](#смотри-также-10)

- [Open Api (Swagger)](http://developers.lanbook.com/swagger#/Users/securityUserGetId)
- [SDK API](http://developers.lanbook.com/sdk-docs/Lan/Ebs/Sdk/Model/User.html#method_get)

Создание пользователя
---------------------

[](#создание-пользователя)

#### Пример:

[](#пример-11)

```
$token = '7c0c2193d27108a509abd8ea84a8750c82b3a520'; // токен для тестового подписчика
$client = new Client($token); // инициализация клиента

$user = new User($client);
$user->post([
 'login' => 'new_user_login',
 'password' => 'new_user_password',
 'fio' => 'new_user_fio'
]);
```

#### Смотри также:

[](#смотри-также-11)

- [Open Api (Swagger)](http://developers.lanbook.com/swagger#/Users/securityUserPost)
- [SDK API](http://developers.lanbook.com/sdk-docs/Lan/Ebs/Sdk/Model/User.html#method_post)

Изменение ФИО и/или пароля
--------------------------

[](#изменение-фио-иили-пароля)

#### Пример:

[](#пример-12)

```
$token = '7c0c2193d27108a509abd8ea84a8750c82b3a520'; // токен для тестового подписчика
$client = new Client($token); // инициализация клиента

$user = new User($client);
$user->setId($testUserPk);
$user->put([
 'fio' => 'user_new_fio',
 'password' => 'user_new_password',
]);
```

#### Смотри также:

[](#смотри-также-12)

- [Open Api (Swagger)](http://developers.lanbook.com/swagger#/Users/securityUserPutId)
- [SDK API](http://developers.lanbook.com/sdk-docs/Lan/Ebs/Sdk/Model/User.html#method_put)

Открепление пользователя
------------------------

[](#открепление-пользователя)

#### Пример:

[](#пример-13)

```
$token = '7c0c2193d27108a509abd8ea84a8750c82b3a520'; // токен для тестового подписчика
$client = new Client($token); // инициализация клиента

$user = new User($client);
$user->setId($testUserPk);
$user->delete();
```

#### Смотри также:

[](#смотри-также-13)

- [Open Api (Swagger)](http://developers.lanbook.com/swagger#/Users/securityUserDeleteId)
- [SDK API](http://developers.lanbook.com/sdk-docs/Lan/Ebs/Sdk/Model/User.html#method_delete)

Отчетность
==========

[](#отчетность)

Статистика посещаемости
-----------------------

[](#статистика-посещаемости)

#### Пример:

[](#пример-14)

```
$token = '7c0c2193d27108a509abd8ea84a8750c82b3a520'; // токен для тестового подписчика
$client = new Client($token); // инициализация клиента

$groupBy = Report::GROUP_BY_MONTH; // Группировка

/**
 * Доступные поля:
 *      Report::GROUP_BY_DAY = 'day' - По дням
 *      Report::GROUP_BY_MONTH = 'month' - По месяцам
 *      Report::GROUP_BY_YEAR = 'year' - По годам
 */

$report = new Report($client);
$userVisitStatistics = $report->getUsersVisitsStatistics($groupBy, '2017-10-01', '2017-11-01');
```

#### Смотри также:

[](#смотри-также-14)

- [Open Api (Swagger)](http://developers.lanbook.com/swagger#/Reports/reportStatVisit)
- [SDK API](http://developers.lanbook.com/sdk-docs/Lan/Ebs/Sdk/Report.html#method_getUsersVisitsStatistics)

Статистика чтения книг
----------------------

[](#статистика-чтения-книг)

#### Пример:

[](#пример-15)

```
$token = '7c0c2193d27108a509abd8ea84a8750c82b3a520'; // токен для тестового подписчика
$client = new Client($token); // инициализация клиента

$groupBy = Report::GROUP_BY_MONTH; // Группировка

/**
 * Доступные поля:
 *      Report::GROUP_BY_DAY = 'day' - По дням
 *      Report::GROUP_BY_MONTH = 'month' - По месяцам
 *      Report::GROUP_BY_YEAR = 'year' - По годам
 */

$report = new Report($client);
$bookViewsStatistics = $report->getBooksViewsStatistics($groupBy, '2017-10-01', '2017-11-01');
```

#### Смотри также:

[](#смотри-также-15)

- [Open Api (Swagger)](http://developers.lanbook.com/swagger#/Reports/reportStatBook)
- [SDK API](http://developers.lanbook.com/sdk-docs/Lan/Ebs/Sdk/Report.html#method_getBooksViewsStatistics)

Статистика чтения журналов
--------------------------

[](#статистика-чтения-журналов)

#### Пример:

[](#пример-16)

```
$token = '7c0c2193d27108a509abd8ea84a8750c82b3a520'; // токен для тестового подписчика
$client = new Client($token); // инициализация клиента

$groupBy = Report::GROUP_BY_MONTH; // Группировка

/**
 * Доступные поля:
 *      Report::GROUP_BY_DAY = 'day' - По дням
 *      Report::GROUP_BY_MONTH = 'month' - По месяцам
 *      Report::GROUP_BY_YEAR = 'year' - По годам
 */

$report = new Report($client);
$journalViewsStatistics = $report->getJournalsViewsStatistics($groupBy, '2017-10-01', '2017-11-01');
```

#### Смотри также:

[](#смотри-также-16)

- [Open Api (Swagger)](http://developers.lanbook.com/swagger#/Reports/reportStatJournal)
- [SDK API](http://developers.lanbook.com/sdk-docs/Lan/Ebs/Sdk/Report.html#method_getJournalsViewsStatistics)

Отчет о доступных книгах (по коллекциям)
----------------------------------------

[](#отчет-о-доступных-книгах-по-коллекциям)

#### Пример:

[](#пример-17)

```
$token = '7c0c2193d27108a509abd8ea84a8750c82b3a520'; // токен для тестового подписчика
$client = new Client($token); // инициализация клиента

$report = new Report($client);
$availablePacketsStatistics = $report->getAvailablePackets();
```

#### Смотри также:

[](#смотри-также-17)

- [Open Api (Swagger)](http://developers.lanbook.com/swagger#/Reports/reportAvailablePacket)
- [SDK API](http://developers.lanbook.com/sdk-docs/Lan/Ebs/Sdk/Report.html#method_getAvailablePackets)

Отчет о доступных книгах - доступные книги в коллекции
------------------------------------------------------

[](#отчет-о-доступных-книгах---доступные-книги-в-коллекции)

#### Пример:

[](#пример-18)

```
$token = '7c0c2193d27108a509abd8ea84a8750c82b3a520'; // токен для тестового подписчика
$client = new Client($token); // инициализация клиента

$packetId = 720773; // Идентификатор пакета

$report = new Report($client);
$availableBooksStatistics = $report->getAvailableBooks($packetId);
```

#### Смотри также:

[](#смотри-также-18)

- [Open Api (Swagger)](http://developers.lanbook.com/swagger#/Reports/reportAvailableBookPacketId)
- [SDK API](http://developers.lanbook.com/sdk-docs/Lan/Ebs/Sdk/Report.html#method_getAvailableBooks)

Отчет о доступных журналах
--------------------------

[](#отчет-о-доступных-журналах)

#### Пример:

[](#пример-19)

```
$token = '7c0c2193d27108a509abd8ea84a8750c82b3a520'; // токен для тестового подписчика
$client = new Client($token); // инициализация клиента

$report = new Report($client);
$availableJournalsStatistics = $report->getAvailableJournals();
```

#### Смотри также:

[](#смотри-также-19)

- [Open Api (Swagger)](http://developers.lanbook.com/swagger#/Reports/reportAvailableJournal)
- [SDK API](http://developers.lanbook.com/sdk-docs/Lan/Ebs/Sdk/Report.html#method_getAvailableJournals)

Формализованные отчеты
======================

[](#формализованные-отчеты)

Библиотечный фонд
-----------------

[](#библиотечный-фонд)

#### Пример:

[](#пример-20)

```
$token = '7c0c2193d27108a509abd8ea84a8750c82b3a520'; // токен для тестового подписчика
$client = new Client($token); // инициализация клиента

$report = new ReportForm($client);
$bibFond = $report->getBibFond();
```

#### Смотри также:

[](#смотри-также-20)

- [Open Api (Swagger)](http://developers.lanbook.com/swagger#/Reports/reportFormBibFond)
- [SDK API](http://developers.lanbook.com/sdk-docs/Lan/Ebs/Sdk/ReportForm.html#method_getBibFond)

Электронные книги по направлениям подготовки
--------------------------------------------

[](#электронные-книги-по-направлениям-подготовки)

#### Пример:

[](#пример-21)

```
$token = '7c0c2193d27108a509abd8ea84a8750c82b3a520'; // токен для тестового подписчика
$client = new Client($token); // инициализация клиента

$report = new ReportForm($client);
$ebooks = $report->getEBooks();
```

#### Смотри также:

[](#смотри-также-21)

- [Open Api (Swagger)](http://developers.lanbook.com/swagger#/Reports/reportFormEBooks)
- [SDK API](http://developers.lanbook.com/sdk-docs/Lan/Ebs/Sdk/ReportForm.html#method_getEBooks)

Специальное ПО
--------------

[](#специальное-по)

#### Пример:

[](#пример-22)

```
$token = '7c0c2193d27108a509abd8ea84a8750c82b3a520'; // токен для тестового подписчика
$client = new Client($token); // инициализация клиента

$report = new ReportForm($client);
$specPo = $report->getSpecPo();
```

#### Смотри также:

[](#смотри-также-22)

- [Open Api (Swagger)](http://developers.lanbook.com/swagger#/Reports/reportFormSpecPo)
- [SDK API](http://developers.lanbook.com/sdk-docs/Lan/Ebs/Sdk/ReportForm.html#method_getSpecPo)

###  Health Score

35

—

LowBetter than 77% of packages

Maintenance13

Infrequent updates — may be unmaintained

Popularity19

Limited adoption so far

Community13

Small or concentrated contributor base

Maturity79

Established project with proven stability

 Bus Factor1

Top contributor holds 79.5% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~75 days

Recently: every ~181 days

Total

31

Last Release

1019d ago

Major Versions

0.0.0 → 1.0.12017-07-26

0.1.0 → 1.1.12017-10-13

PHP version history (6 changes)1.2.0PHP 5.6.\* || 7.0.\* || 7.1.\* || 7.2.\*

1.2.1PHP 5.3.\* || 5.4.\* || 5.5.\* || 5.6.\* || 7.0.\* || 7.1.\* || 7.2.\*

1.2.3PHP 5.3.\* || 5.4.\* || 5.5.\* || 5.6.\* || 7.0.\* || 7.1.\* || 7.2.\* || 7.3.\*

1.2.5PHP 5.3.\* || 5.4.\* || 5.5.\* || 5.6.\* || 7.0.\* || 7.1.\* || 7.2.\* || 7.3.\* || 7.4.\*

1.3.0PHP 5.6.\* || 7.0.\* || 7.1.\* || 7.2.\* || 7.3.\* || 7.4.\* || 8.0

1.3.2PHP 5.6.\* || 7.0.\* || 7.1.\* || 7.2.\* || 7.3.\* || 7.4.\* || 8.0.\*

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/30406759?v=4)[spb-lan-das](/maintainers/spb-lan-das)[@spb-lan-das](https://github.com/spb-lan-das)

---

Top Contributors

[![dp-ifacesoft](https://avatars.githubusercontent.com/u/6473693?v=4)](https://github.com/dp-ifacesoft "dp-ifacesoft (70 commits)")[![IgonRU](https://avatars.githubusercontent.com/u/32955257?v=4)](https://github.com/IgonRU "IgonRU (11 commits)")[![ashwilliams87](https://avatars.githubusercontent.com/u/2579504?v=4)](https://github.com/ashwilliams87 "ashwilliams87 (5 commits)")[![spb-lan-das](https://avatars.githubusercontent.com/u/30406759?v=4)](https://github.com/spb-lan-das "spb-lan-das (2 commits)")

###  Code Quality

TestsCodeception

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/lan-ebs-sdk/health.svg)

```
[![Health](https://phpackages.com/badges/lan-ebs-sdk/health.svg)](https://phpackages.com/packages/lan-ebs-sdk)
```

###  Alternatives

[verbb/formie

The most user-friendly forms plugin for Craft.

102393.6k70](/packages/verbb-formie)[bcremer/line-reader

Read large files line by line in a memory efficient (constant) way.

311.7M4](/packages/bcremer-line-reader)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
