2017 © Pedro Peláez
 

library laravel-sms

Пакет для Laravel 5.x для отправки смс

image

nutnet/laravel-sms

Пакет для Laravel 5.x для отправки смс

  • Friday, July 13, 2018
  • by maximkou
  • Repository
  • 2 Watchers
  • 5 Stars
  • 2,558 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 4 Forks
  • 0 Open issues
  • 8 Versions
  • 20 % Grown

The README.md

Пакет Laravel-Sms

Этот пакет предоставляет класс для отправки смс и предустановленные реализации популярных провайдеров., (*1)

Установка

Подключите пакет командой:, (*2)

composer require nutnet/laravel-sms

После того как пакет был установлен добавьте его сервис-провайдер в config/app.php (для версий Laravel ниже 5.5):, (*3)

// config/app.php
'providers' => [
    ...
    Nutnet\LaravelSms\ServiceProvider::class,
];

Теперь необходимо перенести конфигурацию пакета в Laravel: ``` bash php artisan vendor:publish --provider="Nutnet\LaravelSms\ServiceProvider" --tag="config", (*4)


## Конфигурирование **ВНИМАНИЕ:** в обновлении 0.8.0 изменился формат конфигурационного файла. Если вы обновились с более ранних версий, не забудьте актуализировать конфигурацию. #### Log Используется для локальной разработки. Смс-сообщения записываются в файл лога. Не поддерживает передачу параметров сообщения. Для включения данного провайдера добавьте в `.env` файл

NUTNET_SMS_PROVIDER=log, (*5)


Для отправки сообщений в определенный канал/стек (например, в консоль браузера), используйте настройку `channels`: ```php // config/nutnet-laravel-sms.php 'providers' => [ 'log' => [ /** * каналы, в которые публикуются сообщения * оставьте пустым, если хотите использовать общие настройки логирования * @see https://laravel.com/docs/5.8/logging#building-log-stacks */ 'channels' => ['slack', 'browser'], // для версий Laravel >=5.6 ] ],

Пример настройки лог-канала для отправки сообщений в консоль браузера, (*6)

// config/logging.php
'browser' => [
    'driver' => 'monolog',
    'handler' => Monolog\Handler\BrowserConsoleHandler::class,
],

SMPP

Отправка соообщений через протокол SMPP. Требует для работы пакет franzose/laravel-smpp. В данный момент не поддерживает передачу параметров сообщения., (*7)

Для включения данного провайдера добавьте в .env файл, (*8)

NUTNET_SMS_PROVIDER=smpp

Все прочие настройки находятся в конфигурационном файле пакета franzose/laravel-smpp, (*9)

Sms.ru

Отправка сообщений через провайдера Sms.ru. Требует для работы пакет zelenin/smsru., (*10)

Для включения данного провайдера добавьте в .env файл, (*11)

NUTNET_SMS_PROVIDER=smsru

Авторизация по паре логин-пароль:, (*12)

// config/nutnet-laravel-sms.php
'providers' => [
    'smsru' => [
        'auth_type' => 'standard',
        'login' => '<your login>',
        'password' => '<your password>',
        'partner_id' => '<your partner_id>', // оставьте null, если не нужен
        'message_defaults' => []
    ]
],

Усиленная авторизация по паре логин-пароль и api_id:, (*13)

// config/nutnet-laravel-sms.php
'providers' => [
    'smsru' => [
        'auth_type' => 'secured',
        'login' => '<your login>',
        'password' => '<your password>',
        'api_id' => '<your api_id>',
        'partner_id' => '<your partner_id>', // оставьте null, если не нужен
        'message_defaults' => []
    ]
],

Авторизация с использованием api_id:, (*14)

// config/nutnet-laravel-sms.php
'providers' => [
    'smsru' => [
        'auth_type' => 'api_id',
        'api_id' => '<your api_id>',
        'partner_id' => '<your partner_id>', // оставьте null, если не нужен
        'message_defaults' => []
    ]
],

Параметры сообщения: Поддерживается передача параметров сообщения (см. ниже в блоке "Отправка сообщений"). Полный список доступных параметров можно найти здесь., (*15)

$sender->send('<phone_number>', '<your_message>', [
    'translit' => 1,
    'test' => 1
]);

Использовать собственный http-клиент вместо стандартного Zelenin\SmsRu\Client\Client:, (*16)

Просто зарегистрируйте свой http-клиент (например, App\Services\SmsRuHttpClient) в DI-контейнере следующим образом:, (*17)

// app/Providers/AppServiceProvider.php
public function register()
{
    $this->app->bind(\Zelenin\SmsRu\Client\ClientInterface::class, \App\Services\SmsRuHttpClient::class);
}

Smsc.ru

Отправка сообщений через провайдера Smsc.ru. Требует для работы установленный curl., (*18)

Для включения данного провайдера добавьте в .env файл, (*19)

NUTNET_SMS_PROVIDER=smscru

В настройках провайдера требуется указать логин и пароль:, (*20)

// config/nutnet-laravel-sms.php
'providers' => [
    'smscru' => [
        'login' => '<your_login>',
        'password' => '<your_password>',
        'message_defaults' => [],
    ]
],

Поддерживается передача параметров сообщения (см. ниже в блоке "Отправка сообщений")., (*21)

IqSms.ru (Смс-Дисконт)

Отправка сообщений через провайдера iqsms.ru. Требует для работы установленный curl., (*22)

Для включения данного провайдера добавьте в .env файл, (*23)

NUTNET_SMS_PROVIDER=iqsms

В настройках провайдера требуется указать логин и пароль:, (*24)

// config/nutnet-laravel-sms.php
'providers' => [
    'iqsms' => [
        'login' => '<your_login>',
        'password' => '<your_password>',
        'message_defaults' => [
            // to example, sender
            // 'sender' => 'Test',
        ]
    ]
],

Передача параметров сообщения поддерживается частично - разрешено передавать client_id (см. ниже в блоке "Отправка сообщений")., (*25)

Отправка сообщений

Для отправки сообщений используется класс Nutnet\LaravelSms\SmsSender. Пример отправки:, (*26)

class IndexController extends Controller
{
    public function sendSms(Nutnet\LaravelSms\SmsSender $smsSender)
    {
        // отправка сообщения на 1 номер
        $smsSender->send('89193216754', 'Здесь текст сообщений');

        // отправка сообщения на несколько номеров
        $smsSender->sendBatch(['89193216754', '89228764523'], 'Здесь текст сообщений');

        // отправка сообщений с параметрами
        $sender->send('<phone_number>', '<your_message>', [
            'translit' => 1,
            'test' => 1
        ]);
        // ...
    }
}

Задать параметры сообщения по умолчанию можно в настройках провайдера, в опции message_defaults., (*27)

Использование в связке с Laravel Notifications

Пакет включает в себя канал для Laravel Notifications (Nutnet\LaravelSms\Notification\NutnetSmsChannel)., (*28)

Настройка Notifiable-модели

Добавьте метод routeNotificationForNutnetSms в свою Notifiable-модель, например:, (*29)

public function routeNotificationForNutnetSms() {
    return $this->phone; // Метод должен возвращать номер телефона, на который будет отправлено уведомление.
}  

Пример Notification

namespace App\Notifications;

use Nutnet\LaravelSms\Notification\NutnetSmsChannel;
use Nutnet\LaravelSms\Notification\NutnetSmsMessage;
use Illuminate\Notifications\Notification;

class ExampleNotification extends Notification
{
    public function via($notifiable)
    {
        return [NutnetSmsChannel::class];
    }

    public function toNutnetSms($notifiable)
    {
        return new NutnetSmsMessage('текст сообщения', ['параметр1' => 'значение1']);

        // или верните просто строку, равнозначно new NutnetSmsMessage('текст сообщения')
        // return 'текст сообщения';
    }
}

The Versions

13/07 2018

dev-master

9999999-dev

Пакет для Laravel 5.x для отправки смс

  Sources   Download

The Requires

 

13/07 2018

0.2.5

0.2.5.0

Пакет для Laravel 5.x для отправки смс

  Sources   Download

The Requires

 

08/02 2018

0.2.4

0.2.4.0

Пакет для Laravel 5.x для отправки смс

  Sources   Download

The Requires

 

09/11 2017

0.2.3

0.2.3.0

Пакет для Laravel 5.x для отправки смс

  Sources   Download

The Requires

 

09/11 2017

0.2.2

0.2.2.0

Пакет для Laravel 5.x для отправки смс

  Sources   Download

The Requires

 

08/11 2017

0.2.1

0.2.1.0

Пакет для Laravel 5.x для отправки смс

  Sources   Download

The Requires

 

08/11 2017

0.2.0

0.2.0.0

Пакет для Laravel 5.x для отправки смс

  Sources   Download

The Requires

 

18/07 2017

0.1

0.1.0.0

Пакет для Laravel 5.x для отправки смс

  Sources   Download

The Requires