PHPackages                             sintsov/smsclient - 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. sintsov/smsclient

ActiveLibrary[API Development](/categories/api)

sintsov/smsclient
=================

PHP-класс для работы с API сервисов СМС уведомлений

1.1(8y ago)221.4k3MITPHPPHP &gt;=5.4.0

Since Jul 9Pushed 8y ago2 watchersCompare

[ Source](https://github.com/sintsov/smsClient)[ Packagist](https://packagist.org/packages/sintsov/smsclient)[ Docs](https://github.com/sintsov/smsClient)[ RSS](/packages/sintsov-smsclient/feed)WikiDiscussions master Synced today

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

SMS Client
==========

[](#sms-client)

[![Latest Stable Version](https://camo.githubusercontent.com/048f0eec609edfb4479b5a33d878a3ed1a49bd0df49c097fb4896905ba3c69d3/68747470733a2f2f706f7365722e707567782e6f72672f73696e74736f762f736d73636c69656e742f762f737461626c65)](https://packagist.org/packages/sintsov/smsclient) [![Total Downloads](https://camo.githubusercontent.com/d85bf1c0dc23c7df5d53f248252aeb472b88df09b5e1787feac64bc700b373bb/68747470733a2f2f706f7365722e707567782e6f72672f73696e74736f762f736d73636c69656e742f646f776e6c6f616473)](https://packagist.org/packages/sintsov/smsclient) [![Latest Unstable Version](https://camo.githubusercontent.com/6148a70d502c47e7cd727e2ca8f6baedc280403ff8f0949b932abf5925077828/68747470733a2f2f706f7365722e707567782e6f72672f73696e74736f762f736d73636c69656e742f762f756e737461626c65)](https://packagist.org/packages/sintsov/smsclient) [![License](https://camo.githubusercontent.com/9500264b46a4a557be2d8028d0a2087e0b6e29f7eba0b54cbe6ab3adbeec7e74/68747470733a2f2f706f7365722e707567782e6f72672f73696e74736f762f736d73636c69656e742f6c6963656e7365)](https://packagist.org/packages/sintsov/smsclient)

PHP-класс для работы с API сервисов СМС уведомлений

В настоящий момент поддержка DevinoTelecom

### Установка зависимостей через Composer

[](#установка-зависимостей-через-composer)

Для работы проекта требуется подтянуть необходмые зависимости

Для этого запустите

```
php composer.phar install

```

Для установки в свой проект

```
php composer.phar require sintsov/smsclient "dev-master"

```

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

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

- PHP &gt;= 5.4.0

Классы и методы

Класс SmsClient\\DevinoSMS\\Api
-------------------------------

[](#класс-smsclientdevinosmsapi)

Реализует основные методы Devino REST API

### send

[](#send)

---

***Описание***: Отправка СМС сообщения

##### *Параметры*

[](#параметры)

*$sourceAddress*: string, отправитель. До 11 латинских символов или до 15 цифровых.
*$destinationAddress*: string|array, адрес или массив адресов назначения. (Код страны+код сети+номер телефона, Пример: 79031234567)
*$data*: string, текст сообщения
*$sendDate*: mixed. дата отправки сообщения. Строка вида (YYYY-MM-DDTHH:MM:SS) или Timestamp (необязательный параметр)
*$validity*: integer, время жизни сообщения в минутах (необязательный параметр)

##### *Возвращаемое значение*

[](#возвращаемое-значение)

*array* массив ID сообщений

##### *Пример*

[](#пример)

```
$devinoSMS->send('test', '7905000000', 'Тестовое сообщение!'); // отправка SMS
$devinoSMS->send('test', '7905000000', 'Тестовое сообщение!', '2015-07-09T11:55:00'); // отправка SMS в указанное время
$devinoSMS->send('test', '7905000000', 'Тестовое сообщение!', '2015-07-09T11:55:00', '10'); // отправка SMS в указанное время и указанием времени жизни сообщения (10 минут)

```

### sendByTimeZone

[](#sendbytimezone)

---

***Описание***: Отправка СМС сообщения с учетом часового пояса получателя

##### *Параметры*

[](#параметры-1)

*$sourceAddress*: string, отправитель. До 11 латинских символов или до 15 цифровых.
*$destinationAddress*: string, адрес назначения. (Код страны+код сети+номер телефона, Пример: 79031234567
*$data*: string, текст сообщения
*$sendDate*: mixed. дата отправки сообщения. Строка вида (YYYY-MM-DDTHH:MM:SS) или Timestamp
*$validity*: integer, время жизни сообщения в минутах (необязательный параметр)

##### *Возвращаемое значение*

[](#возвращаемое-значение-1)

*array* массив ID сообщений

##### *Пример*

[](#пример-1)

```
$devinoSMS->sendByTimeZone('test', '7905000000', 'Тестовое сообщение!', '1436608063'); // отправка SMS в указанное время с учетом часового пояса получателя указанного в виде timestamp
$devinoSMS->sendByTimeZone('test', '7905000000', 'Тестовое сообщение!', '2015-07-09T11:55:00'); // отправка SMS в указанное время с учетом часового пояса получателя
$devinoSMS->sendByTimeZone('test', '7905000000', 'Тестовое сообщение!', '2015-07-09T11:55:00', '10'); // отправка SMS в указанное время с учетом часового пояса получателя и указанием времени жизни сообщения (10 минут)

```

### getSMSStatus

[](#getsmsstatus)

---

***Описание***: Запрос статуса SMS-сообщения

##### *Параметры*

[](#параметры-2)

*$messageID*: string, ID сообщения (который возвращает методы send и sendByTimeZone)

##### *Возвращаемое значение*

[](#возвращаемое-значение-2)

*object* объект, вида:

- *State*: статус сообщения
- *TimeStampUtc*: дата и время получения ответа
- *StateDescription*: описание статуса
- *CreationDateUtc*: дата создания
- *SubmittedDateUtc*: дата отправки
- *ReportedDateUtc*: дата доставки
- *Price*: цена за сообщение

##### *Пример*

[](#пример-2)

```
$devinoSMS->getSMSStatus($id); // Запрос статуса SMS-сообщения

```

### getInbox

[](#getinbox)

---

***Описание***: Запрос входящих SMS-сообщений за указанный период

##### *Параметры*

[](#параметры-3)

*$minDateUTC*: mixed, начало периода выборки. Строка вида (YYYY-MM-DDTHH:MM:SS) или Timestamp
*$maxDateUTC*: mixed, конец периода выборки. Строка вида (YYYY-MM-DDTHH:MM:SS) или Timestamp

##### *Возвращаемое значение*

[](#возвращаемое-значение-3)

*array* массив объектов с полями:

- *Data*: текст сообщения
- *SourceAddress*: адрес отправителя
- *DestinationAddress*: адрес приема входящих сообщений
- *ID*: идентификатор сообщения

##### *Пример*

[](#пример-3)

```
$devinoSMS->getInbox('2015-07-09T09:00:00', '2015-07-09T19:00:00'); // Запрос входящих SMS-сообщений за указанный период
$devinoSMS->getInbox('1436608063', '1436861906'); // Запрос входящих SMS-сообщений за указанный период используя timestamp

```

### getStatistics

[](#getstatistics)

---

***Описание***: Запрос статистики по SMS-рассылкам за указанный период

##### *Параметры*

[](#параметры-4)

*$startDate*: mixed, начало периода выборки. Строка вида (YYYY-MM-DDTHH:MM:SS) или Timestamp
*$endDate*: mixed, конец периода выборки. Строка вида (YYYY-MM-DDTHH:MM:SS) или Timestamp

##### *Возвращаемое значение*

[](#возвращаемое-значение-4)

*array* массив с информацией по статистике

##### *Пример*

[](#пример-4)

```
$devinoSMS->getStatistics('2015-07-09T09:00:00', '2015-07-09T19:00:00'); //  Запрос статистики по SMS-рассылкам за указанный период
$devinoSMS->getStatistics('1436608063', '1436861906'); //  Запрос статистики по SMS-рассылкам за указанный период используя timestamp

```

### getSessionID

[](#getsessionid)

---

***Описание***: Получить ID сессии (в рамках API метод вызывается в конструкторе) и отдельно вызывать его не требуется

##### *Возвращаемое значение*

[](#возвращаемое-значение-5)

*string* ID сессии

##### *Пример*

[](#пример-5)

```
$devinoSMS->getSessionID(); // получить ID сесси

```

### getBalance

[](#getbalance)

---

***Описание***: Запроса баланса

##### *Возвращаемое значение*

[](#возвращаемое-значение-6)

*double* Баланс

##### *Пример*

[](#пример-6)

```
$devinoSMS->getBalance(); // получить баланс

```

### getClient

[](#getclient)

---

***Описание***: Получить клиента

##### *Возвращаемое значение*

[](#возвращаемое-значение-7)

*object* SmsClient\\Client\\ClientInterface

##### *Пример*

[](#пример-7)

```
$client = $devinoSMS->getClient(); // получить клиента
$client->setTimeout(2); // установить таймаут соединения

```

### Пример использования API

[](#пример-использования-api)

#### DevinoTelecom

[](#devinotelecom)

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

ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(-1);

use SmsClient\DevinoSMS\Api;

$devinoSMS = new Api('login', 'password');
// пример установки таймаута в секундах, по дефолту используется 1 секунда
$devinoSMS->getClinet()->setTimeout(2);

try {
    $sessionID = $devinoSMS->getSessionID();
    echo "SessionID: {$sessionID}";
    echo "Balance: {$devinoSMS->getBalance()} руб";

    $list = $devinoSMS->send('test', '7905000000', 'Тестовое сообщение!');
    $id = reset($list);
    echo "Send SMS: {$id}";

    $list = $devinoSMS->sendByTimeZone('test', '7905000000', 'Тестовое сообщение с учетом часового пояса!', '2015-07-09T11:55:00');
    $id = reset($list);
    echo "Send SMS By Time Zone: {$id}";

    $list = $devinoSMS->send('test', array('7905000000', '7905000001'), 'Массовое тестовое сообщение!');
    $mes = print_r($list, true);
    echo "Send SMS Bulk: {$mes}";

    $result = $devinoSMS->getSMSStatus($id);
    $mes = print_r($result, true);
    echo "SMS Status: {$mes}";

    $result = $devinoSMS->getStatistics('2015-07-09T09:00:00', '2015-07-09T19:00:00');
    $mes = print_r($result, true);
    echo "Get Message statistics: {$mes}";

    $result = $devinoSMS->getInbox('2015-07-09T09:00:00', '2015-07-09T19:00:00');
    $mes = print_r($result, true);
    echo "Get Message Inbox: {$mes}";

} catch (\SmsClient\DevinoSMS\Exception $e) {
    echo $e->getMessage();
}

```

### TODO

[](#todo)

- реализовать DI и нормальный интерфейс
- вынести настройки в конфиги
- написать тесты

###  Health Score

33

—

LowBetter than 72% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity28

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity60

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

Total

3

Last Release

3117d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/42d008898630b12c956c0d84bda191819b4490cbc721bb664041e7313d2d0ef7?d=identicon)[sintsov](/maintainers/sintsov)

---

Top Contributors

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

---

Tags

apismsdevinodevinotelecomdevinosms

### Embed Badge

![Health badge](/badges/sintsov-smsclient/health.svg)

```
[![Health](https://phpackages.com/badges/sintsov-smsclient/health.svg)](https://phpackages.com/packages/sintsov-smsclient)
```

###  Alternatives

[tencentcloud/tencentcloud-sdk-php

TencentCloudApi php sdk

3741.3M47](/packages/tencentcloud-tencentcloud-sdk-php)[plivo/plivo-php

A PHP SDK to make voice calls &amp; send SMS using Plivo and to generate Plivo XML

1143.1M19](/packages/plivo-plivo-php)[plivo/php-sdk

A PHP SDK to make voice calls &amp; send SMS using Plivo and to generate Plivo XML

1112.0M6](/packages/plivo-php-sdk)[eslazarev/wildberries-sdk

Wildberries OpenAPI clients (generated).

273.0k](/packages/eslazarev-wildberries-sdk)[resend/resend-php

Resend PHP library.

617.2M43](/packages/resend-resend-php)[files.com/files-php-sdk

Files.com PHP SDK

2481.1k](/packages/filescom-files-php-sdk)

PHPackages © 2026

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