PHPackages                             itpanda-llc/smspilot-messenger-sdk - 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. [HTTP &amp; Networking](/categories/http)
4. /
5. itpanda-llc/smspilot-messenger-sdk

ActiveLibrary[HTTP &amp; Networking](/categories/http)

itpanda-llc/smspilot-messenger-sdk
==================================

Library for integration with the SMSPILOT.RU messaging service

16PHP

Since May 16Pushed 4y ago2 watchersCompare

[ Source](https://github.com/itpanda-llc/smspilot-messenger-sdk)[ Packagist](https://packagist.org/packages/itpanda-llc/smspilot-messenger-sdk)[ RSS](/packages/itpanda-llc-smspilot-messenger-sdk/feed)WikiDiscussions master Synced 2d ago

READMEChangelogDependenciesVersions (1)Used By (0)

SMSPilot-Messenger-SDK
======================

[](#smspilot-messenger-sdk)

Библиотека для интеграции с сервисом рассылки сообщений ["SMSPILOT.RU"](https://smspilot.ru)

[![Packagist Downloads](https://camo.githubusercontent.com/81cf481dbacfb0ad1f471621f6b1f1d636eca32aa5336cc1fd3ce5d0816b263c/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f697470616e64612d6c6c632f736d7370696c6f742d6d657373656e6765722d73646b)](https://packagist.org/packages/itpanda-llc/smspilot-messenger-sdk/stats)[![Packagist License](https://camo.githubusercontent.com/d677983a230d8b727cb4b0cb195417c3796b9dadfff05df67d86c040e67427be/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f697470616e64612d6c6c632f736d7370696c6f742d6d657373656e6765722d73646b)](https://camo.githubusercontent.com/d677983a230d8b727cb4b0cb195417c3796b9dadfff05df67d86c040e67427be/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f697470616e64612d6c6c632f736d7370696c6f742d6d657373656e6765722d73646b)[![Packagist PHP Version Support](https://camo.githubusercontent.com/805f684e90426985da87e95130a48cc773321e9574fb77cb49f97abd38d25af8/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f697470616e64612d6c6c632f736d7370696c6f742d6d657373656e6765722d73646b)](https://camo.githubusercontent.com/805f684e90426985da87e95130a48cc773321e9574fb77cb49f97abd38d25af8/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f697470616e64612d6c6c632f736d7370696c6f742d6d657373656e6765722d73646b)

Ссылки
------

[](#ссылки)

- [Разработка](https://github.com/itpanda-llc)
- [О проекте (SMSPILOT.RU)](https://smspilot.ru)
- [Документация (API SMSPILOT.RU)](https://smspilot.ru/apikey.php)
- [Документация (SMSPILOT.RU API-1 v1.9.19)](https://smspilot.ru/download/SMSPilotRu-HTTP-v1.9.19.pdf)
- [Документация (SMSPILOT.RU API v2.4.16 HTTP/XML/JSON)](https://smspilot.ru/download/SMSPilotRu-HTTP-v2.4.16.pdf)

Возможности
-----------

[](#возможности)

- Отправка SMS (HTTP/API-1, HTTP/API-2)
- Проверка статусов SMS (HTTP/API-2)
- Баланс (HTTP/API-1)
- Информация о пользователе (HTTP/API-1)
- Входящие SMS (HTTP/API-1)
- HLR-запросы и PING-сообщения (HTTP/API-1, HTTP/API-2)
- Голосовые сообщения (HTTP/API-1, HTTP/API-2)
- 2WAY - SMS на которые можно ответить (HTTP/API-1, HTTP/API-2)
- Управления именами и шаблонами (HTTP/API-1)

Требования
----------

[](#требования)

- PHP &gt;= 7.2
- cURL
- JSON

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

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

```
composer require itpanda-llc/smspilot-messenger-sdk
```

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

[](#подключение)

```
require_once 'vendor/autoload.php';
```

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

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

### Создание сервиса / Аутентификация

[](#создание-сервиса--аутентификация)

```
use Panda\SmsPilot\MessengerSdk;

// API-ключ
$pilot = new MessengerSdk\Pilot('apikey');

// или

/*
 * Логин
 * Пароль
 */
$pilot = new MessengerSdk\Pilot('login', 'password');
```

### Установка параметров

[](#установка-параметров)

```
// Адрес электронной почты (Отладка HTTP-запросов)
$pilot->setDebug('info@smspilot.ru')

    // Реферер
    ->setR('r');
```

### Отправка SMS (Одиночное сообщение) (HTTP/API-1)

[](#отправка-sms-одиночное-сообщение-httpapi-1)

Способ №1

- Создание запроса

```
use Panda\SmsPilot\MessengerSdk;

/*
 * Текст сообщения
 * Номер мобильного телефона, или список номеров через запятую
 * Зарегистрированный отправитель
 */
$singleton = new MessengerSdk\Singleton('Все начинается с сообщения!', '79995550011', MessengerSdk\Sender::VIBER);
```

- Установка параметров

```
use Panda\SmsPilot\MessengerSdk;

// Текст сообщения
$singleton->setSend('DEVELOPER')

    // Номер мобильного телефона, или список номеров через запятую
    ->setTo('79995550011')

    // Зарегистрированный отправитель
    ->setFrom(MessengerSdk\Sender::GOLOS)

    // Формат ответа сервера
    ->setFormat(MessengerSdk\Format::JSON)

    // Кодировка ответа и запроса
    ->setCharset(MessengerSdk\Charset::WINDOWS_1251)

    // Язык возвращаемых ошибок
    ->setLang(MessengerSdk\Lang::RU)

    // Время отправки
    ->setSendDatetime('2015-04-07 09:10:00')

    // Время жизни сообщения
    ->setTtl(1440)

    // Список возвращаемых атрибутов SMS через запятую
    ->setFields(MessengerSdk\Fields::ALL)

    // Обычная отправка / Рассчитать стоимость
    ->setCost(MessengerSdk\Cost::YES)

    // Обычная отправка / Без передачи оператору (эмулятор)
    ->setTest(MessengerSdk\Test::YES)

    // URL адрес скрипта для асинхронного приёма статуса
    ->setCallback('https://smspilot.ru')

    // Post или get
    ->setCallbackMethod(MessengerSdk\CallbackMethod::POST);
```

- Выполнение запроса

```
use Panda\SmsPilot\MessengerSdk;

try {
    print_r($pilot->request($singleton));
} catch (MessengerSdk\Exception\ClientException $e) {
    echo $e->getMessage();
}
```

Способ №2

```
use Panda\SmsPilot\MessengerSdk;

try {
    /*
     * Текст сообщения
     * Номер мобильного телефона, или список номеров через запятую
     * Зарегистрированный отправитель
     */
    print_r($pilot->sendSingleton('Все начинается с сообщения!','79995550011', MessengerSdk\Sender::VIBER));
} catch (MessengerSdk\Exception\ClientException $e) {
    echo $e->getMessage();
}
```

### Отправка SMS (Пакетная отправка) (HTTP/API-2)

[](#отправка-sms-пакетная-отправка-httpapi-2)

Способ №1

- Создание запроса

```
use Panda\SmsPilot\MessengerSdk;

/*
 * Текст сообщения
 * Телефонный номер абонента
 * Имя отправителя
 */
$packet = new MessengerSdk\Packet('Все начинается с сообщения!', '79995550011', MessengerSdk\Sender::VIBER);
```

- Установка параметров

```
use Panda\SmsPilot\MessengerSdk;

/*
 * Вызов методов "setFrom", "setDatetime", "setCallback", "setCallbackMethod", "setTtl"
 * сразу после создания экземпляра класса позволит использовать соответствующие параметры
 * по умолчанию для всех сообщений в пакете
 */

/*
 * Текст сообщения
 * Телефонный номер абонента
 * Имя отправителя
 */
$packet->addSend('Все начинается с сообщения!', '79995550011', MessengerSdk\Sender::VIBERSMS)
    ->addSend('Уже началось!', '79995550012', MessengerSdk\Sender::VIBERSMS)

    // Уникальный код сообщения в вашей системе
    ->setId('id')

    // Имя отправителя
    ->setFrom(MessengerSdk\Sender::GOLOS)

    // Время отложенной отправки сообщения
    ->setSendDatetime('2015-04-07 09:10:00')

    // URL адрес скрипта для приѐма статуса
    ->setCallback('https://smspilot.ru')

    // get или post вызов скрипта приёма статусов
    ->setCallbackMethod(MessengerSdk\CallbackMethod::POST)

    // Время жизни сообщения
    ->setTtl(1440)

    // Обычная отправка / Без передачи оператору (эмулятор)
    ->setTest(MessengerSdk\Test::YES)

    // Обычная отправка / Рассчитать стоимость
    ->setCost(MessengerSdk\Cost::YES);
```

- Выполнение запроса

```
use Panda\SmsPilot\MessengerSdk;

try {
    print_r($pilot->request($packet));
} catch (MessengerSdk\Exception\ClientException $e) {
    echo $e->getMessage();
}
```

Способ №2

```
use Panda\SmsPilot\MessengerSdk;

try {
    /*
     * Текст сообщения
     * Номер мобильного телефона, или список номеров через запятую
     * Зарегистрированный отправитель
     */
    print_r($pilot->sendPacket('Все начинается с сообщения!', '79995550011', MessengerSdk\Sender::VIBER));
} catch (MessengerSdk\Exception\ClientException $e) {
    echo $e->getMessage();
}
```

### Проверка статусов SMS (HTTP/API-2)

[](#проверка-статусов-sms-httpapi-2)

Способ №1

- Создание запроса

```
use Panda\SmsPilot\MessengerSdk;

// Код сообщения
$status = new MessengerSdk\Status('id');
```

- Установка параметров

```
use Panda\SmsPilot\MessengerSdk;

// Код сообщения
$status->addId('id')
    ->addId('id')

    // Код пакета
    ->setPacketId('packetId');
```

- Выполнение запроса

```
use Panda\SmsPilot\MessengerSdk;

try {
    print_r($pilot->request($status));
} catch (MessengerSdk\Exception\ClientException $e) {
    echo $e->getMessage();
}
```

Способ №2

```
use Panda\SmsPilot\MessengerSdk;

try {
    // Код сообщения
    print_r($pilot->getStatusById('id'));
} catch (MessengerSdk\Exception\ClientException $e) {
    echo $e->getMessage();
}

// или

try {
    // Код пакета
    print_r($pilot->getStatusByPacketId('packetId'));
} catch (MessengerSdk\Exception\ClientException $e) {
    echo $e->getMessage();
}
```

### Баланс (HTTP/API-1)

[](#баланс-httpapi-1)

Способ №1

- Создание запроса

```
use Panda\SmsPilot\MessengerSdk;

// Единица измерения
$balance = new MessengerSdk\Balance(MessengerSdk\Balance::SMS);

// или

// Единица измерения
$balance = new MessengerSdk\Account(MessengerSdk\Balance::SMS);
```

- Установка параметров

```
use Panda\SmsPilot\MessengerSdk;

// Единица измерения
$balance->setBalance(MessengerSdk\Balance::RUR)

    // Формат ответа сервера
    ->setFormat(MessengerSdk\Format::JSON)

    // Кодировка ответа и запроса
    ->setCharset(MessengerSdk\Charset::WINDOWS_1251)

    // Язык возвращаемых ошибок
    ->setLang(MessengerSdk\Lang::RU);
```

- Выполнение запроса

```
use Panda\SmsPilot\MessengerSdk;

try {
    print_r($pilot->request($balance));
} catch (MessengerSdk\Exception\ClientException $e) {
    echo $e->getMessage();
}
```

Способ №2

```
use Panda\SmsPilot\MessengerSdk;

try {
    // Единица измерения
    print_r($pilot->getBalance(MessengerSdk\Balance::RUR));
} catch (MessengerSdk\Exception\ClientException $e) {
    echo $e->getMessage();
}
```

### Информация о пользователе (HTTP/API-1)

[](#информация-о-пользователе-httpapi-1)

Способ №1

- Создание запроса

```
use Panda\SmsPilot\MessengerSdk;

// Единица измерения
$account = new MessengerSdk\Account(MessengerSdk\Balance::SMS);
```

- Установка параметров

```
use Panda\SmsPilot\MessengerSdk;

// Единица измерения
$account->setBalance(MessengerSdk\Balance::RUR)

    // Формат ответа сервера
    ->setFormat(MessengerSdk\Format::JSON)

    // Кодировка ответа и запроса
    ->setCharset(MessengerSdk\Charset::WINDOWS_1251)

    // Язык возвращаемых ошибок
    ->setLang(MessengerSdk\Lang::RU);
```

- Выполнение запроса

```
use Panda\SmsPilot\MessengerSdk;

try {
    print_r($pilot->request($account));
} catch (MessengerSdk\Exception\ClientException $e) {
    echo $e->getMessage();
}
```

Способ №2

```
use Panda\SmsPilot\MessengerSdk;

try {
    // Единица измерения
    print_r($pilot->getAccount(MessengerSdk\Balance::RUR));
} catch (MessengerSdk\Exception\ClientException $e) {
    echo $e->getMessage();
}
```

### Входящие SMS (HTTP/API-1)

[](#входящие-sms-httpapi-1)

Способ №1

- Создание запроса

```
use Panda\SmsPilot\MessengerSdk;

// Дата/время с которого начинается выборка
$inbound = new MessengerSdk\Inbound(MessengerSdk\Inbound::ALL);
```

- Установка параметров

```
use Panda\SmsPilot\MessengerSdk;

// Дата/время с которого начинается выборка
$inbound->setInbound('2010-06-03 09:45:41')

    // Формат ответа сервера
    ->setFormat(MessengerSdk\Format::JSON)

    // Кодировка ответа и запроса
    ->setCharset(MessengerSdk\Charset::WINDOWS_1251)

    // Язык возвращаемых ошибок
    ->setLang(MessengerSdk\Lang::RU);
```

- Выполнение запроса

```
use Panda\SmsPilot\MessengerSdk;

try {
    print_r($pilot->request($inbound));
} catch (MessengerSdk\Exception\ClientException $e) {
    echo $e->getMessage();
}
```

Способ №2

```
use Panda\SmsPilot\MessengerSdk;

try {
    // Дата/время с которого начинается выборка
    print_r($pilot->getInbound(MessengerSdk\Inbound::ALL);
} catch (MessengerSdk\Exception\ClientException $e) {
    echo $e->getMessage();
}
```

### Имена отправителя (HTTP/API-1)

[](#имена-отправителя-httpapi-1)

Способ №1

- Создание запроса

```
use Panda\SmsPilot\MessengerSdk;

/*
 * Имя отправителя
 * Название проекта, адрес сайта, примеры сообщений
 * Адрес для уведомления о результате проверки
 */
$sender = new MessengerSdk\Sender('SMSPilot',
    'Сайт: https://smspilot.ru; Деятельность: Телематические услуги связи...',
    'info@smspilot.ru');
```

- Установка параметров

```
use Panda\SmsPilot\MessengerSdk;

// Имя отправителя
$sender->setAddSender('SMSPilot')

    // Название проекта, адрес сайта, примеры сообщений
    ->setDescription('Сайт: https://smspilot.ru; Деятельность: Телематические услуги связи...')

    // Адрес для уведомления о результате проверки
    ->setCallback('info@smspilot.ru')

    // Получить список отправителей
    ->setList(MessengerSdk\Sender::SENDERS)

    // Формат ответа сервера
    ->setFormat(MessengerSdk\Format::JSON)

    // Кодировка ответа и запроса
    ->setCharset(MessengerSdk\Charset::WINDOWS_1251)

    // Язык возвращаемых ошибок
    ->setLang(MessengerSdk\Lang::RU)

    // Обычная отправка / Без передачи оператору (эмулятор)
    ->setTest(MessengerSdk\Test::YES);
```

- Выполнение запроса

```
use Panda\SmsPilot\MessengerSdk;

try {
    print_r($pilot->request($sender));
} catch (MessengerSdk\Exception\ClientException $e) {
    echo $e->getMessage();
}
```

Способ №2

```
use Panda\SmsPilot\MessengerSdk;

try {
    /*
     * Имя отправителя
     * Название проекта, адрес сайта, примеры сообщений
     * Адрес для уведомления о результате проверки
     */
    print_r($pilot->registerSender('SMSPilot',
        'Сайт: https://smspilot.ru; Деятельность: Телематические услуги связи...',
        'info@smspilot.ru');
} catch (MessengerSdk\Exception\ClientException $e) {
    echo $e->getMessage();
}
```

### Анти-спам шаблоны (HTTP/API-1)

[](#анти-спам-шаблоны-httpapi-1)

Способ №1

- Создание запроса

```
use Panda\SmsPilot\MessengerSdk;

/*
 * Текст шаблона
 * Адрес для уведомления о результате проверки
 */
$template = new MessengerSdk\Template('Ваш ребенок покинул(а) школу в __:__. Школа №1.',
    'http://smspilot.ru/api.php');
```

- Установка параметров

```
use Panda\SmsPilot\MessengerSdk;

// Имя отправителя
$template->setAddTemplate('Ваш ребенок покинул(а) школу в __:__. Школа №1.')

    // Адрес для уведомления о результате проверки
    ->setCallback('http://smspilot.ru/api.php')

    // Формат ответа сервера
    ->setFormat(MessengerSdk\Format::JSON)

    // Кодировка ответа и запроса
    ->setCharset(MessengerSdk\Charset::WINDOWS_1251)

    // Язык возвращаемых ошибок
    ->setLang(MessengerSdk\Lang::RU);
```

- Выполнение запроса

```
use Panda\SmsPilot\MessengerSdk;

try {
    print_r($pilot->request($template));
} catch (MessengerSdk\Exception\ClientException $e) {
    echo $e->getMessage();
}
```

Способ №2

```
use Panda\SmsPilot\MessengerSdk;

try {
    print_r($pilot->registerTemplate('Код подтверждения: _____', 'http://smspilot.ru/api.php'));
} catch (MessengerSdk\Exception\ClientException $e) {
    echo $e->getMessage();
}
```

###  Health Score

17

—

LowBetter than 6% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity29

Early-stage or recently created project

 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.

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/61195488?v=4)[Mikhail Pakhomov](/maintainers/itpanda-llc)[@itpanda-llc](https://github.com/itpanda-llc)

---

Top Contributors

[![itpanda-llc](https://avatars.githubusercontent.com/u/61195488?v=4)](https://github.com/itpanda-llc "itpanda-llc (58 commits)")

### Embed Badge

![Health badge](/badges/itpanda-llc-smspilot-messenger-sdk/health.svg)

```
[![Health](https://phpackages.com/badges/itpanda-llc-smspilot-messenger-sdk/health.svg)](https://phpackages.com/packages/itpanda-llc-smspilot-messenger-sdk)
```

###  Alternatives

[friendsofsymfony/rest-bundle

This Bundle provides various tools to rapidly develop RESTful API's with Symfony

2.8k73.3M319](/packages/friendsofsymfony-rest-bundle)[php-http/discovery

Finds and installs PSR-7, PSR-17, PSR-18 and HTTPlug implementations

1.3k309.5M1.2k](/packages/php-http-discovery)[nyholm/psr7

A fast PHP7 implementation of PSR-7

1.3k235.4M2.4k](/packages/nyholm-psr7)[pusher/pusher-php-server

Library for interacting with the Pusher REST API

1.5k94.8M293](/packages/pusher-pusher-php-server)[spatie/crawler

Crawl all internal links found on a website

2.8k16.3M52](/packages/spatie-crawler)[react/http

Event-driven, streaming HTTP client and server implementation for ReactPHP

78126.4M414](/packages/react-http)

PHPackages © 2026

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