All Projects → nutnetru → laravel-sms

nutnetru / laravel-sms

Licence: MIT License
Package for sending SMS from your Laravel app / Пакет для отправки смс из вашего приложения Laravel

Programming Languages

PHP
23972 projects - #3 most used programming language

Projects that are alternatives of or similar to laravel-sms

laravel-sms
Laravel 贴合实际需求同时满足多种通道的短信发送组件
Stars: ✭ 67 (+219.05%)
Mutual labels:  sms, laravel-sms
Zenziva.php
Zenziva - Indonesia Online SMS Gateway Library
Stars: ✭ 33 (+57.14%)
Mutual labels:  sms, notification
laravel-sms-api
Laravel package to provide SMS API integration.
Stars: ✭ 84 (+300%)
Mutual labels:  sms, laravel-sms
Notifme Sdk
A Node.js library to send all kinds of transactional notifications.
Stars: ✭ 1,854 (+8728.57%)
Mutual labels:  sms, notification
laravelbdsms
Xenon\LaravelBDSms is a sms gateway package for sending text message to Bangladeshi mobile numbers using several gateways like sslcommerz, greenweb, dianahost, metronet,boomcast, bulksmsbd, banglalink from Laravel framework
Stars: ✭ 68 (+223.81%)
Mutual labels:  sms, laravel-sms
ohd
Garage Door Monitor (OverHeadDoor) - Python3, Raspbian
Stars: ✭ 126 (+500%)
Mutual labels:  sms, notification
fake-sms-notifier
Fake SMS (as email during development) Notifier Bridge
Stars: ✭ 16 (-23.81%)
Mutual labels:  sms, notification
goodreads-toolbox
9 tools for Goodreads.com, for finding people based on the books they’ve read, finding books popular among the people you follow, following new book reviews, etc
Stars: ✭ 56 (+166.67%)
Mutual labels:  notification
notify
📮 a micro-library to simplifies a simple communication between activity, fragment, services
Stars: ✭ 20 (-4.76%)
Mutual labels:  notification
birthday-keeper
一个生日管理APP, UI风格模仿的系统闹钟, 可以添加, 编辑, 删除生日以及本地推送提醒, 项目截图见README.
Stars: ✭ 27 (+28.57%)
Mutual labels:  notification
screeps notify
Send messages (SMS, Slack) from inside Screeps Scripts
Stars: ✭ 21 (+0%)
Mutual labels:  sms
docs
blaulichtSMS API (Schnittstellenbeschreibung)
Stars: ✭ 15 (-28.57%)
Mutual labels:  sms
scriptbox
Script box is a full VAS application for demonstrate kannel.js, shorty and smpp usage
Stars: ✭ 19 (-9.52%)
Mutual labels:  sms
scoutx
ScoutX: An SMS/Voice notifier for Nightscout, and now currently working on a Wisblock powered GPS tracker with Helium as well as an accessible DIY Libre CGM solution.
Stars: ✭ 33 (+57.14%)
Mutual labels:  sms
simple-slack-notify
Slack notification action that just works
Stars: ✭ 23 (+9.52%)
Mutual labels:  notification
lostark-wait-notifier
🐤️ Lost Ark wait notifier
Stars: ✭ 38 (+80.95%)
Mutual labels:  notification
Clean-SmS-Forwarding
Forwarding your sms.
Stars: ✭ 88 (+319.05%)
Mutual labels:  sms
deno notify
Send desktop notifications on all platforms in Deno
Stars: ✭ 27 (+28.57%)
Mutual labels:  notification
Multiplatform-Bus
Kotlin event-bus compatible with Android & native iOS
Stars: ✭ 43 (+104.76%)
Mutual labels:  notification
notifyme
react-notification-timeline is a react based component helps in managing the notification in time-based manner.
Stars: ✭ 94 (+347.62%)
Mutual labels:  notification

Пакет Laravel-Sms

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

Установка

Подключите пакет командой:

composer require nutnet/laravel-sms

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

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

Теперь необходимо перенести конфигурацию пакета в Laravel:

php artisan vendor:publish --provider="Nutnet\LaravelSms\ServiceProvider" --tag="config"

Конфигурирование

ВНИМАНИЕ: в обновлении 0.8.0 изменился формат конфигурационного файла. Если вы обновились с более ранних версий, не забудьте актуализировать конфигурацию.

Log

Используется для локальной разработки. Смс-сообщения записываются в файл лога. Не поддерживает передачу параметров сообщения.

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

NUTNET_SMS_PROVIDER=log

Для отправки сообщений в определенный канал/стек (например, в консоль браузера), используйте настройку channels:

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

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

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

SMPP

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

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

NUTNET_SMS_PROVIDER=smpp

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

Sms.ru

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

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

NUTNET_SMS_PROVIDER=smsru

Авторизация по паре логин-пароль:

// 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:

// 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:

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

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

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

Smsc.ru

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

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

NUTNET_SMS_PROVIDER=smscru

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

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

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

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

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

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

NUTNET_SMS_PROVIDER=iqsms

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

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

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

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

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

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.

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

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

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

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

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 'текст сообщения';
    }
}
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].