PHPackages                             magdv/mt-forwarder-registry-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. magdv/mt-forwarder-registry-api

ActiveLibrary[API Development](/categories/api)

magdv/mt-forwarder-registry-api
===============================

PHP client for MT Forwarder Registry API (system + registry read endpoints)

2.0.1(yesterday)03↑2900%MITPHPPHP ^8.3

Since Jul 31Pushed yesterdayCompare

[ Source](https://github.com/magdv/mt-forwarder-registry-api-php-wrapper)[ Packagist](https://packagist.org/packages/magdv/mt-forwarder-registry-api)[ Docs](https://github.com/magdv/mt-forwarder-registry-api-php-wrapper)[ RSS](/packages/magdv-mt-forwarder-registry-api/feed)WikiDiscussions master Synced today

READMEChangelogDependencies (3)Versions (3)Used By (0)

magdv/mt-forwarder-registry-api
===============================

[](#magdvmt-forwarder-registry-api)

PHP 8.3 клиент к [MT Forwarder Registry API](https://forwarder-registry.log.magdv.com) (контракт **2.0.0**).

Покрывает только публичные read-эндпоинты `system` + `registry` (`/health`, `/ready`, `/v1/meta`, `/v1/forwarders*`). QA-эндпоинты (`/qa/v1/*`) в пакет не входят.

Сгенерированный код в `src/` **закоммичен** — для установки потребителю не нужны Docker/Java.

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

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

```
composer require magdv/mt-forwarder-registry-api:^2.0
```

Репозиторий: [github.com/magdv/mt-forwarder-registry-api-php-wrapper](https://github.com/magdv/mt-forwarder-registry-api-php-wrapper).

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

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

```
use MagDV\MtForwarderRegistry\Configuration;
use MagDV\MtForwarderRegistry\Api\RegistryApi;
use MagDV\MtForwarderRegistry\Api\SystemApi;
use MagDV\MtForwarderRegistry\ApiException;
use MagDV\MtForwarderRegistry\Model\Health;

$config = Configuration::getDefaultConfiguration()
    ->setHost('https://forwarder-registry.log.magdv.com');
    // defaults: timeout=1.0s, connect_timeout=0.5s
    // ->setTimeout(2.0)->setConnectTimeout(1.0);

$system = new SystemApi(null, $config);
$health = $system->getHealth(); // liveness: обычно 200

// getReady(): при неготовности сервис отвечает 503 —
// клиент бросает ApiException; тело Health в getResponseObject().
try {
    $ready = $system->getReady();
} catch (ApiException $e) {
    if ($e->getCode() === 503) {
        /** @var Health|null $body */
        $body = $e->getResponseObject();
        // $body?->getReady() === false
    }
    throw $e;
}

$api = new RegistryApi(null, $config);
$meta = $api->getMeta();
$list = $api->listForwarders(inn: '7707083893', deleted: 'false', limit: 50);
$byInn = $api->getForwardersByINN('7707083893');
$one = $api->getForwarderByRegistryNumber('GL-B044-00112-00/00000051');
```

Auth не требуется (публичный read API).

### Таймауты HTTP

[](#таймауты-http)

По умолчанию (через `Configuration`):

Опция GuzzleМетодDefault`timeout``setTimeout()` / `getTimeout()``1.0` сек`connect_timeout``setConnectTimeout()` / `getConnectTimeout()``0.5` секЗначения применяются на каждый запрос (`SystemApi` / `RegistryApi`). Пример:

```
$config = Configuration::getDefaultConfiguration()
    ->setHost('https://forwarder-registry.log.magdv.com')
    ->setTimeout(3.0)
    ->setConnectTimeout(1.0);
```

Ошибки registry (`400` / `404` / `503`) тоже приходят как `ApiException`; типизированное тело `Error` — в `getResponseObject()`.

**Не используйте `*Async` / `*AsyncWithHttpInfo`.** Они приходят из шаблона OpenAPI Generator as-is: при сетевых сбоях (`ConnectException`) rejection-handler может упасть с PHP `Error` вместо `ApiException`, а typed `getResponseObject()` на ошибках может отсутствовать. Поддерживаемый контракт пакета — синхронные методы (`getMeta`, `listForwarders`, …).

### Номера реестра со `/`

[](#номера-реестра-со-)

Номер вида `GL-B044-00112-00/00000051` валиден. Клиент кодирует `/` как `%2F` в path — сервис это поддерживает. Альтернатива: `listForwarders(registry_number: '...')`.

Основные классы
---------------

[](#основные-классы)

КлассРоль`MagDV\MtForwarderRegistry\Configuration``setHost()`, `setTimeout()` / `setConnectTimeout()``MagDV\MtForwarderRegistry\Api\SystemApi``getHealth`, `getReady``MagDV\MtForwarderRegistry\Api\RegistryApi``getMeta`, `listForwarders`, `getForwarderByRegistryNumber`, `getForwardersByINN``MagDV\MtForwarderRegistry\Model\*``Health`, `Meta`, `Forwarder`, `ForwarderList`, `Error`Синхронизация с upstream
------------------------

[](#синхронизация-с-upstream)

При смене контракта API:

1. Скопировать/diff `mt-forwarder-registry/api/openapi.yaml` → `openapi/openapi.yaml`, **без** QA-путей, схемы `QAApplyResult` и тега `qa`. Версия `info.version` должна совпадать с upstream.
2. Запустить `bin/generate` (нужен Docker; CLI pinned: `openapitools/openapi-generator-cli:v7.14.0`).
3. Прогнать тесты: `composer update && vendor/bin/phpunit`. При bump `info.version` обновится `artifactVersion` в генерации.

Генерация пишет только в `build/generated/`, затем копирует `src/`, накладывает `bin/patch-timeouts` (таймауты в `Configuration` / API) и мержит runtime-зависимости в `composer.json` (`php: ^8.3`). README, `tests/`, CI не затираются.

Разработка
----------

[](#разработка)

```
composer update
vendor/bin/phpunit
```

###  Health Score

42

—

FairBetter than 88% of packages

Maintenance100

Actively maintained with recent releases

Popularity4

Limited adoption so far

Community5

Small or concentrated contributor base

Maturity49

Maturing project, gaining track record

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 ~0 days

Total

2

Last Release

1d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/8c7be182b031a590a466a7e993ef5fe82737ea6c95d7210c5f857fa1cdba5ab0?d=identicon)[denis-korolev](/maintainers/denis-korolev)

![](https://www.gravatar.com/avatar/44694b98f5d6cef0da13dec37e3bc422db04e3dc3d13b75de41c0cd22c3b795d?d=identicon)[magdv](/maintainers/magdv)

![](https://www.gravatar.com/avatar/d73fd02610eabcb72b1ddc69d11da70dd5857902b2306eb80e466a6613eb3785?d=identicon)[eugenevdunaev](/maintainers/eugenevdunaev)

---

Tags

phpopenapiapi clientmt-forwarder-registry

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/magdv-mt-forwarder-registry-api/health.svg)

```
[![Health](https://phpackages.com/badges/magdv-mt-forwarder-registry-api/health.svg)](https://phpackages.com/packages/magdv-mt-forwarder-registry-api)
```

###  Alternatives

[eslazarev/wildberries-sdk

Wildberries OpenAPI clients (generated).

293.1k](/packages/eslazarev-wildberries-sdk)[aws/aws-sdk-php

AWS SDK for PHP - Use Amazon Web Services in your PHP project

6.2k555.0M2.8k](/packages/aws-aws-sdk-php)[sylius/sylius

E-Commerce platform for PHP, based on Symfony framework.

8.5k6.0M760](/packages/sylius-sylius)[theodo-group/llphant

LLPhant is a library to help you build Generative AI applications.

1.7k441.1k6](/packages/theodo-group-llphant)[drupal/core

Drupal is an open source content management platform powering millions of websites and applications.

21667.3M1.8k](/packages/drupal-core)[oat-sa/tao-core

TAO core extension

65147.9k139](/packages/oat-sa-tao-core)

PHPackages © 2026

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