PHPackages                             datalib/datalib-php-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. datalib/datalib-php-sdk

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

datalib/datalib-php-sdk
=======================

DataLIB PHP SDK

00PHP

Since Jul 27Pushed 3y ago1 watchersCompare

[ Source](https://github.com/iprbooks/datalib-php-sdk)[ Packagist](https://packagist.org/packages/datalib/datalib-php-sdk)[ RSS](/packages/datalib-datalib-php-sdk/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

DATALIB PHP SDK
===============

[](#datalib-php-sdk)

API DATALIB - RESTful API сервер, предназначенный для взаимодействия с информационными системами клиентов - подписчиков [DataLIB](https://datalib.ru/). Документация по API находится будет здесь.

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

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

1. [Установка](#1)
2. [Инициализация клиента API](#2)
3. [Доступ к метаданным](#3)
    - [Получение списка авторов с фильтрацией](#31)
    - [Получение списка издательств с фильтрацией](#32)
    - [Получение списка дисциплин с фильтрацией](#33)
    - [Получение списка заголовков книг с фильтрацией](#34)
    - [Получение списка типов публикаций](#35)
    - [Получение списка категорий](#36)
    - [Получение списка книг с фильтрацией](#37)
    - [Получение метаданных книги](#38)
4. [Бесшовная интеграция](#4)
    - [Создание ссылки для прохождения автоматической регистрации/аутентификации пользователя](#41)

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

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

Простой и наиболее предпочтительный способ установки SDK - composer.```
 "datalib/datalib-php-sdk" : "dev-master"
```

Другой способ - скачать архив с исходным кодм [master.zip](https://github.com/iprbooks/datalib-php-sdk/archive/refs/heads/master.zip)или воспользоваться **git clone** и вручную добавить в проект.

```
git clone git@github.com:iprbooks/datalib-php-sdk.git
```

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

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

Для инициализации клиента необходим **jwt-token**. Получить его можно связавшись с техподдержкой #### Пример

[](#пример)

```
$token = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9kZXYuYXBpLmRhdGFsaWIucnVcL2FwaVwvYXV0aFwvbG9naW4iLCJpYXQiOjE2NTcxNzc5MDMsIm5iZiI6MTY1NzE3NzkwMywianRpIjoidHd5RFF4OGFFN0RpSjJTaCIsInN1YiI6OSwicHJ2IjoiMjNiZDVjODk0OWY2MDBhZGIzOWU3MDFjNDAwODcyZGI3YTU5NzZmNyJ9.4zjEXK6FBPeKr-N5PmdGucVV_Ekt9RhtRiJ7iuAtbD0';

$client = new Client($token);
```

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

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

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

### Получение списка авторов с фильтрацией

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

```
$authors = new AuthorsCollection($client);
$authors->setFilter(AuthorsCollection::TEXT, 'Ивано');
$authors->get();
$author = $authors->getItem(0);
```

### Получение списка издательств с фильтрацией

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

```
$publishers = new PublishersCollection($client);
$publishers->setFilter(PublishersCollection::TEXT, 'ай пи ар');
$publishers->get();
$publisher = $publishers->getItem(0);
```

### Получение списка дисциплин с фильтрацией

[](#получение-списка-дисциплин-с-фильтрацией)

```
$disciplines = new DisciplinesCollection($client);
$disciplines->setFilter(DisciplinesCollection::TEXT, '')
    ->setFilter(DisciplinesCollection::CATEGORY_ID, 1)
    ->get();
$discipline = $disciplines->getItem(0);
```

### Получение списка заголовков книг с фильтрацией

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

```
$titles = new TitleCollection($client);
$titles->setFilter(TitleCollection::TEXT, 'алгебра');
$titles->get();
$title = $titles->getItem(0);
```

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

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

```
$pubTypes = new PubTypeCollection($client);
$pubTypes->get();
$pubType = $pubTypes->getItem(0);
```

### Получение списка категорий

[](#получение-списка-категорий)

```
// TODO
```

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

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

Список полей для фильтрации с описанием доступен в [BooksCollection.php](https://github.com/iprbooks/datalib-php-sdk/blob/master/src/collections/publication/BooksCollection.php), атрибуты элемента коллекции (книги) доступны с помощью публичных методов определенных и описанных в [Book.php](https://github.com/iprbooks/datalib-php-sdk/blob/master/src/models/Book.php)#### Пример:

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

```
// создание и конфигурация объекта коллекции
$bookCollection = new BooksCollection($client);
$bookCollection->setFilter(BooksCollection::CATEGORY, 1)
    ->setFilter(BooksCollection::RELATED_CATEGORIES, array(2, 3))
    ->setPage(3)
    ->get();

// обращение к элементу коллекции по индексу
$title = $bookCollection->getItem(0)->getTitle();

// перебор элементов коллекции
foreach ($bookCollection as $book) {
    $title = $book->getTitle();
}
```

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

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

Атрибуты книги доступны с помощью публичных методов определенных и описанных в [Book.php](https://github.com/iprbooks/datalib-php-sdk/blob/master/src/models/Book.php)##### Пример:

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

```
// создание объекта книги
$book = new Book($client);

// получение книги по $id
$book->get(116611);

// обращение к одному из атрибутов книги
$title = $book->getId();

// получение содержания
$content = $book->getContent();
$content->get(0)->getPage();
```

Бесшовная интеграция
====================

[](#бесшовная-интеграция)

### Создание ссылки для прохождения автоматической регистрации/аутентификации пользователя

[](#создание-ссылки-для-прохождения-автоматической-регистрацииаутентификации-пользователя)

Обязательные параметры:

- $email — email пользователя, если он уже зарегистрирован, произойдет автоматическая авторизация данного пользователя
- $fullname - полное имя пользователя

Необязательные параметры:

- $publicationId - если передано, произойдет автопереход на страницу публикации

**Внимание!** Для каждого пользователя DataLib ссылка бесшовного перехода одноразовая и может быть только одна. Рекомендуется генерировать ее непосредственно перед использованием.

#### Пример:

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

```
// инициализация
$userManager = new UserManager($client);

// параметры
$email = 'test@test.com';
$fullname = 'testname';
$publicationId = 123;

//получение ссылки
$url = $userManager->generateAutoAuthUrl($email, $fullname, $publicationId);
```

###  Health Score

14

—

LowBetter than 2% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity0

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity25

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% 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.

### Community

Maintainers

![](https://www.gravatar.com/avatar/b39c508cc57ab6cbc329809a1f1bc230357c01416f71cc70c15c6b59ea8d7cdf?d=identicon)[andrey.cherkasov](/maintainers/andrey.cherkasov)

---

Top Contributors

[![cherkasovas](https://avatars.githubusercontent.com/u/2529779?v=4)](https://github.com/cherkasovas "cherkasovas (5 commits)")

### Embed Badge

![Health badge](/badges/datalib-datalib-php-sdk/health.svg)

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

PHPackages © 2026

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