PHPackages                             glsv/diadoc-api - 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. [API Development](/categories/api)
4. /
5. glsv/diadoc-api

ActiveLibrary[API Development](/categories/api)

glsv/diadoc-api
===============

api for working with diadoc.ru

v0.4.1(1y ago)138Apache-2.0PHPPHP &gt;=7.4.0

Since Dec 30Pushed 1y ago2 watchersCompare

[ Source](https://github.com/glsv/diadoc-api)[ Packagist](https://packagist.org/packages/glsv/diadoc-api)[ RSS](/packages/glsv-diadoc-api/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (2)Versions (12)Used By (0)

Назначение
==========

[](#назначение)

Обертка для работы с API [api-docs.diadoc.ru](https://api-docs.diadoc.ru/).

- Осуществляет запросы к API с самостоятельным получение и хранением токена по логину и паролю;
- Формализует использование через работу с абстракциями команд и результатов выполнения оформленных в виде DTO;

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

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

```
composer require glsv/diadoc-api
```

Зависимости
-----------

[](#зависимости)

- PHP 7.4+
- [guzzlehttp/guzzle](https://github.com/guzzle/guzzle/)

Использование
-------------

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

### Общая логика работы с библиотекой

[](#общая-логика-работы-с-библиотекой)

```
// Сервис аутентификации
$authenticator = new PasswordAuthenticator($login, $passwd);

// API с передачей в него настрок и зависимостей
$api = new DiadocClientApi($baseUrl, $developer_key, $authenticator);

// Сформировать запрос на конкретную функцию.
// Инициализация всех обязательных свойств запроса производится через конструктор
$request = new GetDocumentRequest($boxId, $messageId, $entityId);

// Создать объект команды с передачей API и созданного запроса
$command = new GetDocumentCommand($api, $request);

// Выполнить команду
$result = $command->execute();

```

В $result будет возвращен объект, реализующий интерфейс `Glsv\DiadocApi\interfaces\ApiResponseInterface`

ApiResponseInterface реализует 3 метода:

- isError(): bool
- getError(): string
- getData(): array

Таким образом, можно через методы проверить успешно ли прошло выполнение запроса. Если нет, то получить сообщение об ошибке.

Если запрос выполнен успешно, то получить результаты методом `getData()`. Содержимое `getData()` зависит от типа запроса. Формат возвращаемых данных требуется смотреть в документации к Diadoc.

### 1. Получение документа (метаданные)

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

```
