igniterlabs / ti-ext-smsnotify
Send SMS notifications to both restaurant and customer about an order or reservation.
Fund package maintenance!
tastyigniter
Open Collective
Installs: 15
Dependents: 0
Suggesters: 0
Security: 0
Stars: 7
Watchers: 3
Forks: 4
Open Issues: 2
Type:tastyigniter-extension
Requires
- arcturial/clickatell: ~3.0
- plivo/plivo-php: ^1.1
- twilio/sdk: ~6.0
- vonage/client: ^2.0
Replaces
- php-http/guzzle7-adapter: ~1.0
This package is auto-updated.
Last update: 2024-12-20 12:23:38 UTC
README
This extension allows admins to configure sms notifications to be sent out when certain events happen in TastyIgniter.
Features
- Receive SMS notifications whenever a new order has been placed
- SMS alert to your customers about their order or reservation status
- Customizable SMS Messages
- Supported channels: twilio, nexmo, clickatell and plivo
- Add your own custom SMS notification channel.
Admin Panel
Go to System > Settings > Configure SMS Channels to manage notification channels. Notification messages can be customized in the admin panel by navigating to Design > SMS Templates.
Use the SendSmsNotification
Automation rule action to send out notification when certain events happen by navigating to Tools > Automations.
Usage
Example of Registering Notification channel and/or template
public function registerSmsNotifications()
{
return [
'channels' => [
'twilio' => \IgniterLabs\SmsNotify\Notifications\Channels\Twilio::class,
],
'template' => [
'igniterlabs.smsnotify::_sms.new_order' => 'igniterlabs.smsnotify::default.template.text_order_placed',
],
];
}
Example of a Notification Channel Class
A notification channel class is responsible for building the settings form and setting the required configuration values.
class Twilio extends \IgniterLabs\SmsNotify\Classes\BaseChannel
{
/**
* Returns information about this channel, including name and description.
*/
public function channelDetails()
{
return [
'name' => 'Twilio SMS Channel',
'description' => '',
];
}
public function defineFormConfig()
{
return [
'status' => [
'label' => 'Status',
'type' => 'switch',
'default' => FALSE,
'span' => 'left',
'tab' => 'Twilio',
],
'account_sid' => [
'label' => 'Account SID',
'type' => 'text',
'tab' => 'Twilio',
],
...
];
}
public function send($to, $content)
{
//
}
}