TIP
Looking for an SMS provider? Check out CompareSMS (opens new window) and find the best SMS provider for you
# CMSMS notifications channel for Laravel
(opens new window) (opens new window) (opens new window)
This package makes it easy to send CMSMS messages (opens new window) with Laravel.
# Contents
- Requirements
- Installation
- Setting up your CMSMS account
- Usage
- Changelog
- Testing
- Security
- Contributing
- Credits
- License
# Requirements
- Sign up (opens new window) for a online sms gateway account
- Find your API key in account settings
# Installation
You can install the package via composer:
composer require laravel-notification-channels/cmsms
This package will register itself automatically with Laravel 5.5 and up trough Package auto-discovery.
# Manual installation
You can install the service provider for Laravel 5.4 and below:
// config/app.php
'providers' => [
...
NotificationChannels\Cmsms\CmsmsServiceProvider::class,
],
# Setting up your CMSMS account
Add your CMSMS Product Token and default originator (name or number of sender) to your config/services.php
:
// config/services.php
...
'cmsms' => [
'product_token' => env('CMSMS_PRODUCT_TOKEN'),
'originator' => env('CMSMS_ORIGINATOR'),
],
...
Notice: The originator can contain a maximum of 11 alphanumeric characters.
# Usage
Now you can use the channel in your via()
method inside the notification:
use NotificationChannels\Cmsms\CmsmsMessage;
use Illuminate\Notifications\Notification;
class VpsServerOrdered extends Notification
{
public function via($notifiable)
{
return ['cmsms'];
}
public function toCmsms($notifiable)
{
return CmsmsMessage::create("Your {$notifiable->service} was ordered!");
}
}
In order to let your Notification know which phone numer you are targeting, add the routeNotificationForCmsms
method to your Notifiable model.
Important note: CMCMS requires the recipients phone number to be in international format. For instance: 0031612345678
public function routeNotificationForCmsms()
{
return '0031612345678';
}
# Available message methods
body('')
: Accepts a string value for the message body.originator('')
: Accepts a string value between 1 and 11 characters, used as the message sender name.reference('')
: Accepts a string value for your message reference. This information will be returned in a status report so you can match the message and it's status. Restrictions: 1 - 32 alphanumeric characters. Reference will not work for demo accounts.tariff()
: Accepts a integer value for your message tariff. The unit is eurocent. Requires theoriginator
to be set to a specific value. Contact CM for this tariff value. CM also must enable this feature for your contract manually.multipart($minimum, $maximum)
: Accepts a 0 to 8 integer range which allows multipart messages. See the documentation from CM (opens new window) for more information.
# Changelog
Please see CHANGELOG (opens new window) for more information what has changed recently.
# Testing
$ composer test
# Security
If you discover any security related issues, please email michel@enflow.nl instead of using the issue tracker.
# Contributing
Please see CONTRIBUTING (opens new window) for details.
# Credits
Special thanks to Peter Steenbergen (opens new window) for the MessageBird template from where this is mostly based on.
# License
The MIT License (MIT). Please see License File (opens new window) for more information.