承接 laravel-notification-channels/smsapi 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

laravel-notification-channels/smsapi

最新稳定版本:0.9.0

Composer 安装命令:

composer require laravel-notification-channels/smsapi

包简介

Smsapi Notifications Channel for Laravel

README 文档

README

Latest Version on Packagist Software License Build Status StyleCI Quality Score Code Coverage Total Downloads PHP 7 ready

This package makes it easy to send notifications using Smsapi with Laravel 5.5+, 6.x, & 7.x

Contents

Installation

You can install the package via composer:

composer require laravel-notification-channels/smsapi

You can also publish the config file with:

php artisan vendor:publish --provider="NotificationChannels\Smsapi\SmsapiServiceProvider"

Setting up the Smsapi service

Log in to your Smsapi dashboard and configure your preferred authentication method. There is a polish version and an international version which have separated accounts. Set your credentials and defaults in config/smsapi.php:

'auth' => [ 'method' => 'token', // 'method' => 'password', 'credentials' => [ 'token' => env('SMSAPI_AUTH_TOKEN'), // 'username' => env('SMSAPI_AUTH_USERNAME'), // 'password' => env('SMSAPI_AUTH_PASSWORD'), // Hashed by MD5 ], // Service of smsapi. Can be SmsapiClient::SERVICE_PL or SmsapiClient::SERVICE_COM. 'service' => SmsapiClient::SERVICE_PL, ], 'defaults' => [ 'common' => [ // 'notify_url' => env('SMSAPI_NOTIFY_URL'), // 'partner' => env('SMSAPI_PARTNER'), // 'test' => env('SMSAPI_TEST', true), ], 'sms' => [ // 'from' => env('SMSAPI_FROM'), // 'fast' => false, // 'flash' => false, // 'encoding' => 'utf-8', // 'normalize' => false, // 'nounicode' => false, // 'single' => false, ], 'mms' => [ ], 'vms' => [ // 'from' => env('SMSAPI_FROM'), // 'tries' => 2, // 'interval' => 300, // 'tts_lector' => 'Agnieszka', // 'skip_gsm' => false, ], ],

Usage

You can use the channel in your via() method inside the notification:

use Illuminate\Notifications\Notification; use NotificationChannels\Smsapi\SmsapiChannel; use NotificationChannels\Smsapi\SmsapiSmsMessage; class FlightFound extends Notification { public function via($notifiable) { return [SmsapiChannel::class]; } public function toSmsapi($notifiable) { return (new SmsapiSmsMessage())->content("Buy now your flight!"); } }
use Illuminate\Notifications\Notification; use NotificationChannels\Smsapi\SmsapiChannel; use NotificationChannels\Smsapi\SmsapiMmsMessage; class AnimalTrespassed extends Notification { public $photoId; public function via($notifiable) { return [SmsapiChannel::class]; } public function toSmsapi($notifiable) { return (new SmsapiMmsMessage())->subject('Animal!')->smil($this->smil()); } private function smil() { $url = route('photos', ['id' => $this->photoId]); $smil = "<smil>" . "<head>" . "<layout>" . "<root-layout height='100%' width='100%'/>" . "<region id='Image' width='100%' height='100%' left='0' top='0'/>" . "</layout>" . "</head>" . "<body><par><img src='{$url}' region='Image' /></par></body>" . "</smil>"; return $smil; } }

Add a routeNotificationForSmsapi method to your Notifiable model to return the phone number(s):

public function routeNotificationForSmsapi() { return $this->phone_number; }

Or add a routeNotificationForSmsapiGroup method to return the contacts group:

public function routeNotificationForSmsapiGroup() { return $this->contacts_group; }

Available Message methods

SmsapiSmsMessage

  • to(string|string[] $to)
  • group(string $group)
  • content(string $content)
  • template(string $template)
  • from(string $from)
  • fast(bool $fast = true)
  • flash(bool $flash = true)
  • encoding(string $encoding)
  • normalize(bool $normalize = true)
  • nounicode(bool $nounicode = true)
  • single(bool $single = true)
  • date(int|string $date)
  • notifyUrl(string $notifyUrl)
  • partner(string $partner)
  • test(bool $test = true)

SmsapiMmsMessage

  • to(string|string[] $to)
  • group(string $group)
  • subject(string $subject)
  • smil(string $smil)
  • date(int|string $date)
  • notifyUrl(string $notifyUrl)
  • partner(string $partner)
  • test(bool $test = true)

SmsapiVmsMessage

  • to(string|string[] $to)
  • group(string $group)
  • file(string $file)
  • tts(string $tts)
  • ttsLector(string $ttsLector)
  • from(string $from)
  • tries(int $tries)
  • interval(int $interval)
  • skipGsm(bool $skipGsm = true)
  • date(int|string $date)
  • notifyUrl(string $notifyUrl)
  • partner(string $partner)
  • test(bool $test = true)

Changelog

Please see CHANGELOG for more information what has changed recently.

Testing

$ composer test

Security

If you discover any security related issues, please email mat.drost@gmail.com instead of using the issue tracker.

Contributing

Please see CONTRIBUTING for details.

Credits

License

The MIT License (MIT). Please see License File for more information.

统计信息

  • 总下载量: 74.41k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 25
  • 点击次数: 2
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 24
  • Watchers: 5
  • Forks: 22
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-01-04

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固