PHPackages                             bloodlog/webinar-client - 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. bloodlog/webinar-client

ActiveLibrary[API Development](/categories/api)

bloodlog/webinar-client
=======================

PHP client for webinar.ru

1.0.4(3y ago)224MITPHPPHP ^7.4|^8.0

Since Apr 14Pushed 3y ago1 watchersCompare

[ Source](https://github.com/Bloodlog/webinar-client)[ Packagist](https://packagist.org/packages/bloodlog/webinar-client)[ Docs](https://github.com/Bloodlog/webinar-client)[ RSS](/packages/bloodlog-webinar-client/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (5)Dependencies (3)Versions (8)Used By (0)

PHP client for webinar.ru API
=============================

[](#php-client-for-webinarru-api)

Laravel integration client
==========================

[](#laravel-integration-client)

[![](https://camo.githubusercontent.com/30da60ee026a505924b598ee10e72b4f78c52de0509ddad6d8574eb1b5713b08/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048502d253545372e342d626c7565)](https://camo.githubusercontent.com/30da60ee026a505924b598ee10e72b4f78c52de0509ddad6d8574eb1b5713b08/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048502d253545372e342d626c7565)[![](https://camo.githubusercontent.com/29e76b25f44fd19ba3a88f85f00b3ac7329ffd604075db0fbbeda87f6c794491/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048502d253545382e302d626c7565)](https://camo.githubusercontent.com/29e76b25f44fd19ba3a88f85f00b3ac7329ffd604075db0fbbeda87f6c794491/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048502d253545382e302d626c7565)[![](https://camo.githubusercontent.com/7d253eff00e80bafb9a4b1d5ab843b5d3dbde5051ef17f8d9f2f033413d27c7c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c61726176656c2d253545362e302d726564)](https://camo.githubusercontent.com/7d253eff00e80bafb9a4b1d5ab843b5d3dbde5051ef17f8d9f2f033413d27c7c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c61726176656c2d253545362e302d726564)[![](https://camo.githubusercontent.com/dc8ae68c4689f7b9c5b6e6a04dfde2d5eff1321b135e71091c52e7099e403350/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f76657273696f6e2d312e302e332d6c6967687467726579)](https://camo.githubusercontent.com/dc8ae68c4689f7b9c5b6e6a04dfde2d5eff1321b135e71091c52e7099e403350/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f76657273696f6e2d312e302e332d6c6967687467726579)

```
composer require bloodlog/webinar-client
```

Подключение:

1. Опубликовать конфиг:

```
php artisan vendor:publish --provider="Bloodlog\WebinarClient\Providers\WebinarClientProvider"
```

Или если автоматическая регистрация не работает, можно зарегистрировать провайдер с настройкой клиента в config/app.php:

```
'providers' => [
    Bloodlog\WebinarClient\Providers\WebinarClientProvider::class,
]
```

2. Получить API Token для доступа к webinar.ru и добавить в конфиг:

- config/webinar.php

```
 'token' => 'Enter your api token', //
```

Получить ключ можно здесь:

-  - ключ
- [https://help.webinar.ru/ru/articles/3147750-интеграция-api-с-чего-начать](https://help.webinar.ru/ru/articles/3147750-%D0%B8%D0%BD%D1%82%D0%B5%D0%B3%D1%80%D0%B0%D1%86%D0%B8%D1%8F-api-%D1%81-%D1%87%D0%B5%D0%B3%D0%BE-%D0%BD%D0%B0%D1%87%D0%B0%D1%82%D1%8C) - документация

Для регистрации пользователя на вебинар:

1 Запросить вебинары:

```
use Bloodlog\WebinarClient\WebinarClient;

$client = new WebinarClient();

$webinars = $client->events()->webinarsRequest(); // получаем все вебинары

// Здесь нам нужно найти нужный вебинар и взять у него eventSessions -> id
// Или можно воспользоваться полезным запросом ниже
```

Или метод помощник, который удобнее

```
use Bloodlog\WebinarClient\WebinarClient;

$client = new WebinarClient();

$webinars = $client->events()->webinarsList(); // получаем только eventSessionId и имя вебинара
// Response:[
//     'id' => 123, // $eventSession->id,
//     'name' => 'Новый вебинар', // $eventSession->name,
//]
```

2 Запросить eventSessionID ключ и получить additionalFields(поля для регистрации): (Если дополнительных полей(additionalFields) нет, то можно пропустить)

```
$client = new WebinarClient();
$eventSessionId = 123;
$webinars = $client->events()->eventSessions($eventSessionId);
/* Получаем список полей и сохраняем ключи полей. Ключи нужно использовать при регистрации пользователей.
Response:{
    "id": 123,
    "name": "Новое мероприятие сегодня",
    "additionalFields": [
        {
            "key": "cea75f8cd36a4f8567d5068b7e7e05e8",
            "label": "referrer",
            "type": "text",
            "isRequired": true
        }
    ],
}
*/
```

3 Отправить запрос на регистрацию (Опять используем $eventSessionId из 1 шага):

```
$client = new WebinarClient();
$data = [
            'email' => 'example@example.ru',
            'name' => 'Иван',
            'secondName' => 'Иванов',
            'additionalFields' => [
                '62899cefc8855544723baae88cbfce9c' => 'Иванович',
                '62899cefc8855544723baae88cbfce2c' => 'IBM',
            ],
            'role' => 'GUEST',
            'isAutoEnter' => true,
            'sendEmail' => false,
];
$webinars = $client->registration()->registerRequest($eventSessionId, $data);
// Response: {"participationId":123,"link":"https:\/\/events.webinar.ru\/Test\/9232275\/46a222712a0466960b1bf3a432c22054","contactId":654}
```

Или метод помощник, который удобнее

Мне не удобно было использовать длинные и не удобные ключи для отправки доп полей(additionalFields), поэтому я избавился от них с помощью конфига и метода трансформера:

1 нужно зарегистрировать ключи доп полей в конфиге: Используем сопоставление ключей, слева ключ с вебинара, справа ваш ключ:

- config/webinar.php

```
 'api' => [
        'registration' => [
            'form-transform' => [ // webinar.ru использует ключи вместо наименования полей. После получения ключей для регистрации нужно сопоставить поля
                'additionalFields' => [
                    '62899cefc8855544723baae88cbfce9c' => 'last_name', // Сопоставление по которому будет произведена замена
                    '62899cefc8855544723baae66cbfce2c' => 'company', // Сопоставление по которому будет произведена замена
                ],
            ],
        ],
    ],
```

2 Далее просто используем свои имена полей:

```
$client = new WebinarClient();
$data = [
            'email' => 'example@example.ru',
            'name' => 'Иван',
            'secondName' => 'Иванов',
            'additionalFields' => [
                'last_name' => 'Иванович', // Замена на обратный ключ произойдёт внутри метода.
                'company' => 'IBM', // Замена
            ],
            'role' => 'GUEST',
            'isAutoEnter' => true,
            'sendEmail' => false,
];
$webinars = $client->registration()->registerRequest($eventSessionId, $data);
// Response: {"participationId":123,"link":"https:\/\/events.webinar.ru\/Test\/9232275\/46a222712a0466960b1bf3a432c22054","contactId":654}
```

За доп. информацией обращаться к офф. документации

- [https://help.webinar.ru/ru/articles/3180528-быстрый-старт-регистрация-участника](https://help.webinar.ru/ru/articles/3180528-%D0%B1%D1%8B%D1%81%D1%82%D1%80%D1%8B%D0%B9-%D1%81%D1%82%D0%B0%D1%80%D1%82-%D1%80%D0%B5%D0%B3%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%86%D0%B8%D1%8F-%D1%83%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA%D0%B0)

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity9

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity58

Maturing project, gaining track record

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

Recently: every ~30 days

Total

6

Last Release

1367d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/23c0357d690e55e4efe9b557ff1782541de2fc6034635e426babe0b1835bbd32?d=identicon)[Bloodlog](/maintainers/Bloodlog)

---

Top Contributors

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

---

Tags

clientlaravelparserphpunittestwebinarapiclientwebinarwebinar.ru

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/bloodlog-webinar-client/health.svg)

```
[![Health](https://phpackages.com/badges/bloodlog-webinar-client/health.svg)](https://phpackages.com/packages/bloodlog-webinar-client)
```

###  Alternatives

[openai-php/laravel

OpenAI PHP for Laravel is a supercharged PHP API client that allows you to interact with the Open AI API

3.7k7.6M74](/packages/openai-php-laravel)[resend/resend-php

Resend PHP library.

564.7M21](/packages/resend-resend-php)[crowdin/crowdin-api-client

PHP client library for Crowdin API v2

611.5M5](/packages/crowdin-crowdin-api-client)[mozex/anthropic-laravel

Anthropic PHP for Laravel is a supercharged PHP API client that allows you to interact with the Anthropic API

71226.4k1](/packages/mozex-anthropic-laravel)[markrogoyski/numverify-api-client-php

Numverify API Client for PHP

1220.9k](/packages/markrogoyski-numverify-api-client-php)[azuracast/php-api-client

An API client library for the AzuraCast API

311.3k](/packages/azuracast-php-api-client)

PHPackages © 2026

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