PHPackages                             rabotaru/zagruzka-connector - 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. rabotaru/zagruzka-connector

ActiveLibrary

rabotaru/zagruzka-connector
===========================

Zagruzka Connector

v1.1.1(4y ago)07.6k↓33.3%MITPHP &gt;=7.2

Since Jul 26Compare

[ Source](https://github.com/RabotaRu/zagruzkaconnector)[ Packagist](https://packagist.org/packages/rabotaru/zagruzka-connector)[ RSS](/packages/rabotaru-zagruzka-connector/feed)WikiDiscussions Synced 1mo ago

READMEChangelogDependencies (8)Versions (6)Used By (0)

ZagruzkaConnector
=================

[](#zagruzkaconnector)

Библиотека предназначена для отправки сообщений посредством сервиса Zagruzka.com.

Сообщения отправляются посредством REST-протокола сервиса Zagruzka, подробности того, что означают поля в объекте `Request` - см. в [документации](https://docs.zagruzka.com/pages/viewpage.action?pageId=24642131)к сервису.

TODO
----

[](#todo)

Список нереализованных фич (будут доделываться по запросу):

1. Viber и Whatsapp сообщения (message/data/instantContent)
2. Дополнительные параметры Push-уведомлений
3. CascadeChainLink
4. ScheduleInfo
5. Классы Sender не только для СМС

Самый простой вариант использования для отправки СМС
----------------------------------------------------

[](#самый-простой-вариант-использования-для-отправки-смс)

```
    use RabotaRu\ZagruzkaConnector\Factory;
    use RabotaRu\ZagruzkaConnector\SMSSender;

    //Обычно CollectorRegistry у вас уже есть, вам надо получить его из вашего фреймворка.
    $registry = new \Prometheus\CollectorRegistry(
        new \Prometheus\Storage\APC(),
        false
    );

    //Получим стандартный коннектор
    $connector = (new Factory())->defaultConnector(
        "https://zagruzka.com/api",
        "zagruzka_sender",
        $registry
    );

     //И теперь сам отправщик
    $sender = new SMSSender(
        $connector,
        "login",
        "password",
        "MyService", //то, что будет отображаться как отправитель в СМС
        "https://myservice.com/callback_for_sms" //сюда будут приходить отчеты о доставке
    );

    $sender->sendSMS("+79261234567", "Test SMS");

```

Hooks
-----

[](#hooks)

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

`RestPreSendHook` - выполняется перед отправкой данных, должны возвращать значение true или false. Если такой хук вернет false - отправки не будет `RestPostSendHook` - выполняется после отправки данных, ничего не возвращает

Request
-------

[](#request)

Класс `RabotaRu\ZagruzkaConnector\RestRequest\Request` - это объектное представление запроса в API Zagruzka.com. (может не все поддерживать, см. **TODO**).

Пример того, как создается класс:

```
new Request(
            $id,
            $this->login,
            $this->password,
            $destAddr,
            new RequestMessage(
                new RequestMessageType(),
                new RequestMessageData(
                    $text,
                    $this->serviceName
                )
            ),
            "https://myservice.com/callback_for_sms"
        );
```

Response
--------

[](#response)

Для того чтобы Response приходил, НЕОБХОДИМО указать notifyUrl в Request. Так же вы можете прописать такой URL в личном кабинете Zagruzka.com.

Можно настроить этот эндпоинт на запись метрик с помощью вашего коннектора - предлагаются три метода на выбор:

- у вас есть только строка в json: `processResponseByJson`
- ваш фреймворк вам уже все разобрал в массив: `processResponseByArray`
- ваш фреймворк вам может все разобрать в объект `RabotaRu\ZagruzkaConnector\RestResponse\Response` библиотеки - тогда воспользуйтесь `processResponse`

Что еще можно расширять
-----------------------

[](#что-еще-можно-расширять)

Можно заменить транспорт — достаточно реализовать интерфейс `RabotaRu\ZagruzkaConnector\Transport\ITransport`, тогда при инстанцировании коннектора вы можете передать его. Транспорт отправляет в заданный URL данные с помощью метода POST в формате json, так что его можно использовать и, например, для отправки событий в статистику.

Можно написать свой коллектор метрик — достаточно реализовать интерфейс `RabotaRu\ZagruzkaConnector\Metrics\IMetric`, тогда при инстанцировании коннектора вы можете передать его.

Можно отнаследовать коннектор и переопределить в нем константы-префиксы метрик. Создавать свою реализацию `IRestConnector` или переопределять метод `sendByRest`в `ZagruzkaConnector` не рекомендуется, так как именно там инкапсулирована вся логика записи метрик.

###  Health Score

28

—

LowBetter than 54% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity22

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity50

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

Total

3

Last Release

1504d ago

PHP version history (2 changes)v1.0.1PHP &gt;=7.4

v1.1.0PHP &gt;=7.2

### Community

Maintainers

![](https://www.gravatar.com/avatar/131272fc3d366ef5d27edc467cdc4457c8b2609c2152d9bc823693f16afcde9e?d=identicon)[RabotaRu](/maintainers/RabotaRu)

---

Top Contributors

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

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Code StylePHP\_CodeSniffer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/rabotaru-zagruzka-connector/health.svg)

```
[![Health](https://phpackages.com/badges/rabotaru-zagruzka-connector/health.svg)](https://phpackages.com/packages/rabotaru-zagruzka-connector)
```

###  Alternatives

[laravel/framework

The Laravel Framework.

34.7k509.9M17.0k](/packages/laravel-framework)[sylius/sylius

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

8.4k5.6M651](/packages/sylius-sylius)[google/cloud

Google Cloud Client Library

1.2k16.2M53](/packages/google-cloud)[shlinkio/shlink

A self-hosted and PHP-based URL shortener application with CLI and REST interfaces

4.8k4.3k](/packages/shlinkio-shlink)[getdkan/dkan

DKAN Open Data Catalog

385135.4k2](/packages/getdkan-dkan)[torchlight/torchlight-laravel

A Laravel Client for Torchlight, the syntax highlighting API.

120452.8k11](/packages/torchlight-torchlight-laravel)

PHPackages © 2026

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