1. Go to this page and download the library: Download agiledrop/laravel-telnyx library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
agiledrop / laravel-telnyx example snippets
return [
/*
* The API KEY.
*
* You can generate API keys from the Telnyx web interface.
* See https://developers.telnyx.com/docs/v2/development/authentication for details
*/
'api_key' => env('TELNYX_API_KEY'),
/*
* The phone number or a text that is shown as sender
*
*/
'from' => env('TELNYX_FROM'), // Can be phone number or name
/*
* The messaging profile id.
* Also generated from the Telnyx web interface.
*/
'messaging_profile_id' => env('TELNYX_MESSAGING_PROFILE_ID'),
];
use App\Notifications\Alerts\SmsNotification;
// ...
$from = env('TELNYX_FROM');
$content = 'The text of your sms…';
$admin->notify(new SmsNotification($from, $content));
/**
* Override the RouteNotificationFor
*
* The routeNotificationFor() method exists in the Notifications\RoutesNotifications trait,
* this trait is used inside the Notifications\Notifiable trait that a User model uses
* by default in a fresh laravel installation,
* this method is used to determine where to route the notification to.
*
* @param string $driver
*
* @return \Illuminate\Database\Eloquent\Relations\MorphMany|string
*/
public function routeNotificationFor(string $driver)
{
if (method_exists($this, $method = 'routeNotificationFor' . Str::studly($driver))) {
return $this->{$method}();
}
switch ($driver) {
case 'database':
return $this->notifications();
case 'mail':
return $this->email; // set here the name of your user mail field
case 'telnyx':
return $this->phone; // set here the name of your user phone field
}
}
namespace App\Notifications;
use Illuminate\Bus\Queueable;
use AGILEDROP\LaravelTelnyx\Messages\TelnyxMmsMessage;
use Illuminate\Notifications\Notification;
class MmsNotification extends Notification
{
use Queueable;
private string $content;
private string $subject;
private array $images;
private string $from;
/**
* Create a new notification instance.
*
* @param string $content
* @param string $subject
* @param array $images
* @param string $from
*/
public function __construct(string $from, string $content, string $subject, array $images)
{
$this->from = $from;
$this->content = $content;
$this->subject = $subject;
$this->images = $images;
}
/**
* Get the notification's delivery channels.
*
* @param mixed $notifiable
* @return array
*/
public function via($notifiable): array
{
return ['telnyx-mms'];
}
/**
* Get the Telnyx / SMS representation of the notification.
*
* @param mixed $notifiable
* @return TelnyxMmsMessage
*/
public function toTelnyx($notifiable): TelnyxMmsMessage
{
return (new TelnyxMmsMessage())
->from($this->from)
->content($this->content)
->subject($this->subject)
->images($this->images);
}
}
use App\Notifications\Alerts\MmsNotification;
…
$from = env('TELNYX_FROM');
$content = 'The text of your mms…';
$subject = 'The mms subject';
$photos = []; //Array with images urls
$member->notify(new MmsNotification($from, $content, $subject, $photos));