Skip to content

Commit fbfbdbe

Browse files
author
Kamyar
committed
Parsa SMS adapter was added
1 parent 51b94a8 commit fbfbdbe

File tree

3 files changed

+56
-0
lines changed

3 files changed

+56
-0
lines changed

config/iranian_sms.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,5 +25,10 @@
2525
],
2626
'slack' => [
2727
'url' => env('IRANIANSMS_SLACK_URL')
28+
],
29+
'parsasms' => [
30+
'gateway' => env('IRANIANSMS_PARSASMS_GATEWAY','http://api.parsasms.com/v2/sms/send/simple'),
31+
'api_key' => env('IRANIANSMS_PARSASMS_APIKEY','test'),
32+
'sender' => env('IRANIANSMS_PARSASMS_SENDER','test')
2833
]
2934
];

src/Adapters/ParsaSms.php

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
<?php
2+
3+
namespace Tartan\IranianSms\Adapter;
4+
5+
use Ghasedak\GhasedakApi;
6+
7+
class ParsaSms extends AdapterAbstract implements AdapterInterface
8+
{
9+
10+
private $credential = [
11+
'gateway' => '',
12+
'api_key' => '',
13+
'sender' => ''
14+
];
15+
16+
public function __construct()
17+
{
18+
$this->credential['gateway'] = config('iranian_sms.parsasms.gateway');
19+
$this->credential['api_key'] = config('iranian_sms.parsasms.api_key');
20+
$this->credential['sender'] = config('iranian_sms.parsasms.sender');
21+
}
22+
23+
public function send(String $number, String $message)
24+
{
25+
$number = $this->filterNumber($number);
26+
$sender = $this->credential['sender'];
27+
$api_key = $this->credential['api_key'];
28+
29+
$curl = curl_init();
30+
curl_setopt_array($curl, array(
31+
CURLOPT_URL => $this->credential['gateway'],
32+
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
33+
CURLOPT_CUSTOMREQUEST => "POST",
34+
CURLOPT_POSTFIELDS => "message=$message &sender=$sender &Receptor=$number",
35+
CURLOPT_CONNECTTIMEOUT => 5,
36+
CURLOPT_TIMEOUT => 5,
37+
CURLOPT_HTTPHEADER => array(
38+
"apikey: $api_key"),
39+
CURLOPT_RETURNTRANSFER => true,
40+
));
41+
42+
$response = curl_exec($curl);
43+
curl_close($curl);
44+
45+
return $response;
46+
}
47+
}

src/Factory.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
use Tartan\IranianSms\Adapter\Ghasedak;
66
use Tartan\IranianSms\Adapter\MehrAfzar;
77
use Tartan\IranianSms\Adapter\KaveNegar;
8+
use Tartan\IranianSms\Adapter\ParsaSms;
89
use Tartan\IranianSms\Adapter\Slack;
910
use Tartan\IranianSms\Adapter\SmsIr;
1011
use Tartan\IranianSms\Adapter\SmsLog;
@@ -42,6 +43,9 @@ public function make($adapter = '')
4243
case 'ghasedak':
4344
return new Ghasedak();
4445
break;
46+
case 'parsasms':
47+
return new ParsaSms();
48+
break;
4549
default:
4650
throw new Exception('Adapter not defined');
4751
break;

0 commit comments

Comments
 (0)