first upload all files
This commit is contained in:
31
Modules/Sms/Gateways/Twilio.php
Normal file
31
Modules/Sms/Gateways/Twilio.php
Normal file
@@ -0,0 +1,31 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Sms\Gateways;
|
||||
|
||||
use Exception;
|
||||
use Twilio\Rest\Client;
|
||||
use Modules\Sms\GatewayInterface;
|
||||
use Modules\Sms\Exceptions\SmsException;
|
||||
|
||||
class Twilio implements GatewayInterface
|
||||
{
|
||||
public function client()
|
||||
{
|
||||
return new Client(setting('twilio_sid'), setting('twilio_token'));
|
||||
}
|
||||
|
||||
public function send(string $to, string $message)
|
||||
{
|
||||
try {
|
||||
$this->client()->messages->create(
|
||||
$to,
|
||||
[
|
||||
'from' => setting('sms_from'),
|
||||
'body' => $message,
|
||||
]
|
||||
);
|
||||
} catch (Exception $e) {
|
||||
throw new SmsException('Twilio: ' . $e->getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
31
Modules/Sms/Gateways/Vonage.php
Normal file
31
Modules/Sms/Gateways/Vonage.php
Normal file
@@ -0,0 +1,31 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Sms\Gateways;
|
||||
|
||||
use Exception;
|
||||
use Vonage\Client;
|
||||
use Vonage\SMS\Message\SMS;
|
||||
use Modules\Sms\GatewayInterface;
|
||||
use Vonage\Client\Credentials\Basic;
|
||||
use Modules\Sms\Exceptions\SmsException;
|
||||
|
||||
class Vonage implements GatewayInterface
|
||||
{
|
||||
public function client()
|
||||
{
|
||||
return new Client(
|
||||
new Basic(setting('vonage_key'), setting('vonage_secret'))
|
||||
);
|
||||
}
|
||||
|
||||
public function send(string $to, string $message)
|
||||
{
|
||||
try {
|
||||
$text = new SMS($to, setting('sms_from'), $message);
|
||||
|
||||
$this->client()->sms()->send($text);
|
||||
} catch (Exception $e) {
|
||||
throw new SmsException('Vonage: ' . $e->getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user