PHPackages                             lowbase/yii2-sms - 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. lowbase/yii2-sms

ActiveYii2-extension

lowbase/yii2-sms
================

Yii2 Sms Extension.

1.0.2(9y ago)41.4k↓100%4[3 issues](https://github.com/lowbase/yii2-sms/issues)MITPHP

Since Oct 14Pushed 9y ago1 watchersCompare

[ Source](https://github.com/lowbase/yii2-sms)[ Packagist](https://packagist.org/packages/lowbase/yii2-sms)[ Docs](https://github.com/lowbase/yii2-sms)[ RSS](/packages/lowbase-yii2-sms/feed)WikiDiscussions master Synced 2mo ago

READMEChangelog (3)Dependencies (1)Versions (4)Used By (0)

СМС-менеджер
============

[](#смс-менеджер)

Yii2-sms - менеджер отправки Смс-сообщений через различные сервисы

- Отправка смс, запрос статусов сообщений, проверка баланса
- Включает сервисы: IqSmsc.ru (Смс-Дисконт), Smsc.ru в качестве примеров
- Возможность сохранения информации по всем сообщениям в базе данных
- Возможность отправки сообщений через несколько сервисов одним компонентом
- Автоматическая отправка через резервные сервисы при неудачной отправке основных сервисов

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

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

```
php composer.phar require --prefer-dist lowbase/yii2-sms "*"

```

или

```
"lowbase/yii2-sms": "*"

```

затем запускаем миграции для создания таблицы БД

```
php yii migrate --migrationPath=@vendor/lowbase/yii2-sms/migrations

```

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

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

```
'components' => [
    ...
        'sms' => [
            'class' => 'lowbase\sms\Sms',
            'cascade' => true,
            'services' => [
                // http://iqsms.ru/api/api_rest/
                'iqsmsc_ru' => [
                    'class' => 'lowbase\sms\services\IqmscRuService',
                    'login' => '...',
                    'password' => '...',
                    'order' => 2,
                ],
                // http://iqsms.ru/api/api_rest/
                'iqsmsc_ru_2' => [
                    'class' => 'lowbase\sms\services\IqmscRuService',
                    'login' => '...',
                    'password' => '...',
                    'order' => 3,
                ],
                // http://smsc.ru/api/
                'smsc_ru' => [
                    'class' => 'lowbase\sms\services\SmscRuService',
                    'login' => '...',
                    'password' => '...',
                    'order' => 1
                ],
            ]
        ]
    ...
]

```

,где `'cascade' => true` - автоматическая отправка смс-сообщения следующим сервисом при неудачной отправке текущим. `services` - сервисы отправки сообщений с аутентификационными данными (логин и пароль), `order` (обязательно для заполнения) - порядок вызова сервисов при каскадной отправке. Названия сервисов (`iqsmsc_ru, iqsmsc_ru_2, smsc_ru`) можно заменить на свои.

Возможно добавление собственных сервисов. Их необходимо наследовать от lowbase\\sms\\AbstractService, и указать в конфигурации, представленной выше.

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

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

```
// Получение баланса сервиса по-умолчанию (1-го)
Yii::$app->sms->getBalance();

// Вывод баланса сервиса iqsmsc_ru_2
echo Yii::$app->sms->useService('iqsmsc_ru_2')->getBalance();

// Отправка смс сообщения через сервис smsc_ru без сохранения информации в базу данных
Yii::$app->sms->useServicese('smsc_ru')->sendSms('+79801112233', 'Тестовое сообщение', false);

// Отправка смс сообщения сервисом по-умолчанию с сохранением информации в базу данных, тип смс -1, для пользователя 5.
Yii::$app->sms->sendSms('+79801112233', 'Тестовое сообщение', true, 1, 5);

// Получение статуса СМС по Id из базы данных (id = 94) с сохранением статуса в базе данных
Yii::$app->sms->getSmsStatusById(94);

// Вывод статуса смс по Id без сохранения в базу данных
echo Yii::$app->sms->getSmsStatusById(94, false);

// Получение статуса смс по Id, полученному от провайдера (сервиса).
Yii::$app->sms->getSmsStatusByProviderId(1977846286);

// Для сервиса Smsc.ru необходимо передать доп. параметр phone для работоспособности метода выше
Yii::$app->sms->getSmsStatusByProviderId(3, ['phone' => '+79801112233']);

```

Статусы сообщений
-----------------

[](#статусы-сообщений)

- `-1` - неизвестно (STATUS\_UNKNOWN)
- `0` - ошибка (STATUS\_FAILED)
- `1` - отправлено (STATUS\_SENT)
- `2` - в очереди на доставку (STATUS\_QUEUED)
- `3` - доставлено (STATUS\_DELIVERED)

Инормация о сообщениях в базе данных
------------------------------------

[](#инормация-о-сообщениях-в-базе-данных)

- `id`
- `provider_sms_id` - ID, полученный от провайдера (сервиса)
- `phone` - телефон
- `text` - текст сообщения
- `type` - тип сообщения (необязательное)
- `for_user_id` - ID пользователя (необзятельное)
- `status` - статус сообещния
- `created_by` - отправитель
- `created_at` - время запроса на отправку
- `must_sent_at` - необходимое время (для отсроченной отправки)
- `check_status_at` - время обновления статуса
- `provider` - название сервиса, через который производилась отправка
- `provider_answer` - последий ответ полученный от сервиса по текущему сообщению

###  Health Score

29

—

LowBetter than 60% of packages

Maintenance5

Infrequent updates — may be unmaintained

Popularity22

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity65

Established project with proven stability

 Bus Factor1

Top contributor holds 80% 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 ~84 days

Total

3

Last Release

3327d ago

### Community

Maintainers

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

---

Top Contributors

[![lowbase](https://avatars.githubusercontent.com/u/15556461?v=4)](https://github.com/lowbase "lowbase (4 commits)")[![Shekhovtsovy](https://avatars.githubusercontent.com/u/11638272?v=4)](https://github.com/Shekhovtsovy "Shekhovtsovy (1 commits)")

---

Tags

smsyii2extension

### Embed Badge

![Health badge](/badges/lowbase-yii2-sms/health.svg)

```
[![Health](https://phpackages.com/badges/lowbase-yii2-sms/health.svg)](https://phpackages.com/packages/lowbase-yii2-sms)
```

###  Alternatives

[daixianceng/yii2-smser

Yii2 SMS extension

862.9k1](/packages/daixianceng-yii2-smser)[abhi1693/yii2-sms

Send Free Sms for Yii2

171.9k](/packages/abhi1693-yii2-sms)

PHPackages © 2026

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