PHPackages                             tochka-developers/jsonrpc-doc - 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. tochka-developers/jsonrpc-doc

ActiveLibrary[API Development](/categories/api)

tochka-developers/jsonrpc-doc
=============================

JsonRpc Doc extension for Laravel

v1.1.1(6y ago)0461MITCSSPHP &gt;=5.6.4

Since Jan 29Pushed 6y ago4 watchersCompare

[ Source](https://github.com/tochka-developers/jsonrpc-doc)[ Packagist](https://packagist.org/packages/tochka-developers/jsonrpc-doc)[ RSS](/packages/tochka-developers-jsonrpc-doc/feed)WikiDiscussions master Synced 2d ago

READMEChangelog (10)Dependencies (1)Versions (14)Used By (0)

JSONRPC Doc (Laravel 5.4-5.5, Lumen 5.4-5.5)
============================================

[](#jsonrpc-doc-laravel-54-55-lumen-54-55)

Описание
--------

[](#описание)

Генерация документации для JsonRpc-сервера на основе SMD-схемы. Адаптирован для SMD-схемы, возвращаемой оригинальным модулем Tochka-Developers/JsonRpc версии &gt;1.1.11

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

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

### Laravel

[](#laravel)

1. `composer require tochka-developers/jsonrpc-doc`
2. Добавьте `Tochka\JsonRpcDoc\ServiceProvider` в список сервис-провайдеров в `config/app.php`:

```
'providers' => [
    //...
    \Tochka\JsonRpcDoc\ServiceProvider::class,
],
```

3. Опубликуйте конфигурацию и ресурсы:

```
php artisan vendor:publish --tag=config
php artisan vendor:publish --tag=public

```

4. Настройте роутинг для страниц документации (в `App\RouteServiceProvider`):

```
protected function mapWebRoutes()
{
    // если хотите использовать поддомен (замените SUBDOMAIN на необходимый):
    // важно использовать роутинг с поддоменоном ВЫШЕ роутинга основного домена
    Route::group([
        'domain' => 'SUBDOMAIN.{domain}.{tld}',
        'middleware' => \Tochka\JsonRpcDoc\Middleware\DomainClear::class
    ], function() {
        \Tochka\JsonRpcDoc\ServiceProvider::route();
    });

    // если хотите использовать префикс в пути:
    Route::group([
        'prefix' => 'docs'
    ], function() {
        \Tochka\JsonRpcDoc\ServiceProvider::route();
    });

    Route::middleware('web')
         ->namespace($this->namespace)
         ->group(base_path('routes/web.php'));

}
```

### Lumen

[](#lumen)

1. `composer require tochka-developers/jsonrpc-doc`
2. Зарегистрируйте сервис-провайдер `Tochka\JsonRpcDoc\ServiceProvider` в `bootstrap/app.php`:

```
$app->register(Tochka\JsonRpcDoc\ServiceProvider::class);
```

3. Скопируйте конфигурацию из пакета (`vendor/tochka-developers/jsonrpc-doc/config/jsonrpcdoc.php`) в проект (`config/jsonrpcdoc.php`)
4. Скопируйте ресурсы из пакета (`vendor/tochka-developers/jsonrpc-doc/assets/*`) в проект (`public/vendor/jsonrpcdoc/*`)
5. Подключите конфигурацию в `bootstrap/app.php`:

```
$app->configure('jsonrpcdoc');
```

6. Настройте роутинг для страниц документации в `bootstrap/app.php`:

```
// если хотите использовать префикс в пути:
$app->group([
    'prefix' => 'docs',
], function() {
    \Tochka\JsonRpcDoc\ServiceProvider::route();
});

// если хотите использовать поддомен (замените SUBDOMAIN на необходимый):
$app->routeMiddleware([
    'subdomain' => \Tochka\JsonRpcDoc\Middleware\SubDomain::class,
]);

$app->group([
    'middleware' => 'subdomain:SUBDOMAIN',
], function() {
    \Tochka\JsonRpcDoc\ServiceProvider::route();
});
```

Настройка
---------

[](#настройка)

Отредактируйте конфигурацию `jsonrpcdoc`. Пакет позволяет выводить документацию сразу для нескольких JsonRpc-серверов. Все используемые сервера должны быть перечислены в списке `connections` конфигурации пакета.

Имя используемого по умолчанию соединения должно быть прописано в параметре `default`. Если этот параметр не указан, то в качестве соединения по умолчанию будет использовано первое соединение в списке.

Для использования нескольких документаций для каждой необходимо настроить свою точку входа. Для этого в роутинге при вызове метода `\Tochka\JsonRpcDoc\ServiceProvider::route($serviceName)`в качестве `$serviceName` должно быть передано имя используемого соединения. Если имя не передано - будет использовано соединение по умолчанию.

Если пакет `tochka-developers/jsonrpc-doc` используется вместе с пакетом `tochka-developers/jsonrpc`, то в качестве `url` в конфигурации можно указать значение `null`. В таком случае адрес точки входа JsonRpc-сервера будет взят из конфигурации пакета `jsonrpc`. Стоит учесть, что это будет работать только в случае использования автоматического роутинга ([Ссылка на раздел документации](https://github.com/tochka-developers/jsonrpc#%D0%90%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9-%D1%80%D0%BE%D1%83%D1%82%D0%B8%D0%BD%D0%B3)). Также, в случае использования нескольких точек входа - будет использована только первая в списке.

> Данная возможность корректно работает только в Laravel. К сожалению, Lumen не поддерживает автоматическое получение имени текущего хоста при запуске из консоли. Вы можете самостоятельно устанавливать переменные `$_SERVER['SERVER_NAME']`и `$_SERVER['SERVER_PORT']` в своем приложении при инициализации, либо прописать имя хоста в `.env`:

```
APP_URL=http://example.org
```

Такое поведение обеспечивает автоматическую работу без дополнительных настроек в большинстве случаев. Если же вы наблюдаете ошибку типа `[ERROR] The host did not return the SMD-scheme. Generating a client is not possible.`, то попробуйте прописать путь к JsonRpc-серверу в параметре `url`.

После настройки соединений необходимо получить информацию о сервере (SMD-схему). Для этого выполните команду artisan:

```
php artisan jsonrpc:generateDocumentation
```

Если в результате вы увидели сообщение `[OK] Saving SMD for connection "api" successfull.`, значит все прошло успешно. Страницы документации после этого должны работать. Модуль сохраняет схему локально и после этого использует для генерации страниц ее. Поэтому для обновления документации необходимо снова выполнить команду `jsonrpc:generateDocumentation`.

###  Health Score

29

—

LowBetter than 57% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity9

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity65

Established project with proven stability

 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.

###  Release Activity

Cadence

Every ~52 days

Recently: every ~112 days

Total

11

Last Release

2550d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/d5ec14fdcb7d670c749bdfe547cdcae4dd77a1eb173f01c6787217c8ef90b1d5?d=identicon)[tochka-developers](/maintainers/tochka-developers)

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

---

Top Contributors

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

### Embed Badge

![Health badge](/badges/tochka-developers-jsonrpc-doc/health.svg)

```
[![Health](https://phpackages.com/badges/tochka-developers-jsonrpc-doc/health.svg)](https://phpackages.com/packages/tochka-developers-jsonrpc-doc)
```

###  Alternatives

[roots/acorn

Framework for Roots WordPress projects built with Laravel components.

9762.4M126](/packages/roots-acorn)[mehrancodes/laravel-harbor

A CLI tool to Quickly create On-Demand preview environment for your apps.

10097.5k](/packages/mehrancodes-laravel-harbor)[ycs77/laravel-newebpay

A library of connecting newebpay's API service.

3111.0k](/packages/ycs77-laravel-newebpay)

PHPackages © 2026

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