uapixart / laravel-turbosms by mkuzmych

Turbosms package for Laravel
24,354
7
1
Package Data
Maintainer Username: mkuzmych
Maintainer Contact: ua.pixart@gmail.com (Mykola Kuzmich)
Package Create Date: 2017-06-02
Package Last Update: 2020-07-15
Language: PHP
License: MIT
Last Refreshed: 2024-04-30 03:01:01
Package Statistics
Total Downloads: 24,354
Monthly Downloads: 76
Daily Downloads: 9
Total Stars: 7
Total Watchers: 1
Total Forks: 5
Total Open Issues: 0

laravel-turbosms

A package for the Laravel Framework for sending emails using the Turbosms.ua by SOAP.

Installation

The preferred way to install this extension is through composer.

Either run

composer require uapixart/laravel-turbosms

Add to config/app.php:

'providers' => array(
//...
    Uapixart\LaravelTurbosms\TurbosmsServiceProvider::class,
//...
),
'aliases' => array(
//...
    'Turbosms' => Uapixart\LaravelTurbosms\TurbosmsFacade::class,
//...
),

Then run command:

$ php artisan vendor:publish --provider="Uapixart\LaravelTurbosms\TurbosmsServiceProvider"

Basic setup

You should:

  • registered account at http://turbosms.ua/
  • add sender in page https://turbosms.ua/sign/add.html
  • create login and password for soap api in page https://turbosms.ua/route.html

Configuration

In your config/turbosms.php, change the following

'login' => '',
'password' => '',
'sender' => '',
'options' => [],
'debug' => false,

in debug mode sms not send only add to db table. If you need proxy:

'options' => ['proxy_host' => "proxy.com", 'proxy_port' => 3128],

Usage

Send messages

Once the extension is installed, simply use it in your code by:

Turbosms::send('+380XXXXXXXXX','test');

or for multiple recipients:

Turbosms::send(['+380XXXXXXXXX','+380XXXXXXXXX'],'test');

Example for response this command:

Turbosms::send(['+9873','+3805037512XX'],'Test');
array:2 [▼
  0 => array:3 [▼
    "status" => 3
    "status_detail" => "Message undelivered: Не удалось распознать номер получателя "+9873""
    "messageid" => null
  ]
  1 => array:3 [▼
    "status" => 1
    "status_detail" => "Message send"
    "messageid" => "f7a6e2c8-5931-7dda-1d29-19c0bfec6beb"
  ]
]

Statuses:

0 - new message

1 - in queue

2 - message wait retry in queue

3 - message send

4 - message failed

Get credit balances

Get balance for user account from config

Turbosms::getBalance();

Get message status

Get status for message id

Turbosms::getMessageStatus('f7a6e2c8-5931-7dda-1d29-19c0bfec6beb');

and response:

array:1 [▼
  0 => array:2 [▼
    "status" => 4
    "status_description" => "Сообщение доставлено получателю"
  ]
]

Statuses can be next:

'0' => 'Сообщение с ID X не найдено',
'1' => 'Отправлено', *
'2' => 'В очереди', *
'3' => 'Сообщение передано в мобильную сеть', *
'4' => 'Сообщение доставлено получателю',
'5' => 'Истек срок сообщения',
'6' => 'Удалено оператором',
'7' => 'Не доставлено',
'8' => 'Сообщение доставлено на сервер', *
'9' => 'Отклонено оператором',
'10' => 'Неизвестный статус',
'11' => 'Ошибка, сообщение не отправлено',
'12' => 'Не достаточно кредитов на счете',
'13' => 'Отправка отменена',
'14' => 'Отправка приостановлена',
'15' => 'Удалено пользователем',

* - The status of the messages will change until the final status