Files
kulakpos_web/vendor/melipayamak/php/src/SmsSoap.php
triagungbiantoro 417b7b7453
All checks were successful
Build, Push and Deploy / build-and-push (push) Successful in 3m27s
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 16s
Build, Push and Deploy / deploy-staging (push) Successful in 31s
Build, Push and Deploy / deploy-production (push) Has been skipped
harga pada beranda terhubung ke manage plans di dashboard admin
2026-04-25 21:57:25 +07:00

641 lines
9.9 KiB
PHP
Executable File

<?php
namespace Melipayamak;
class SmsSoap extends BaseSms
{
const PATH = "http://api.payamak-panel.com/post/%s.asmx?wsdl";
protected $username;
protected $password;
protected $sendUrl;
protected $receiveUrl;
protected $voiceUrl;
protected $scheduleUrl;
public function __construct($username,$password)
{
parent::__construct($username,$password);
ini_set("soap.wsdl_cache_enabled", "0");
$this->sendUrl = $this->getPath(self::PATH,'send');
$this->receiveUrl = $this->getPath(self::PATH,'receive');
$this->voiceUrl = $this->getPath(self::PATH,'Voice');
$this->scheduleUrl = $this->getPath(self::PATH,'Schedule');
}
public function getCredit()
{
$client = new \SoapClient($this->sendUrl);
$data =
[
'username' => $this->username,
'password' => $this->password
];
$result = $client->GetCredit($data)->GetCreditResult;
return $result;
}
public function sendByBaseNumber($text,$to,$bodyId)
{
$client = new \SoapClient($this->sendUrl);
$data =
[
'username' => $this->username,
'password' => $this->password,
'text'=> $text,
'to' => $to,
'bodyId' => $bodyId
];
$result;
if(is_array($text))
$result = $client->SendByBaseNumber($data)->SendByBaseNumberResult;
else
$result = $client->SendByBaseNumber2($data)->SendByBaseNumber2Result;
return $result;
}
public function isDelivered($id)
{
$client = new \SoapClient($this->sendUrl);
$data =
[
'username' => $this->username,
'password' => $this->password,
];
$result;
if(is_array($id)){
$data['recId'] = $id;
$result = $client->GetDeliveries3($data)->GetDeliveries3Result;
}
else{
$data['recId'] = $id;
$result = $client->GetDelivery2($data)->GetDelivery2Result;
}
return $result;
}
public function send($to,$from,$text,$isflash=false)
{
$client = new \SoapClient($this->sendUrl);
$data =
[
'username' => $this->username,
'password' => $this->password,
'from' => $from,
'text'=> $text,
'isflash' => $isflash,
'to' => $to
];
$result;
if(is_array($to)){
$result = $client->SendSimpleSMS($data)->SendSimpleSMSResult;
}
else{
$result = $client->SendSimpleSMS2($data)->SendSimpleSMS2Result;
}
return $result;
}
public function send2($to,$from,$text,$isflash=false,$udh="")
{
$client = new \SoapClient($this->sendUrl);
$to = is_array($to) ? $to : array($to);
$recId = array();
$status = 0x0;
$result = $client->SendSms([
'username' => $this->username,
'password' => $this->password,
'from' => $from,
'text'=> $text,
'isflash' => $isflash,
'to' => $to,
'udh' =>$udh,
'recId' => &$recId,
'status' => &$status
]
);
return $result;
}
public function sendWithDomain($to,$from,$text,$isflash,$domain)
{
//P roblem
$client = new \SoapClient($this->sendUrl);
$result = $client->SendWithDomain([
'username' => $this->username,
'password' => $this->password,
'from' => $from,
'text'=> $text,
'isflash' => $isflash,
'to' => $to,
'domainName' => $domain
]
)->SendWithDomainResult;
return $result;
}
public function getMessages($location,$index,$count,$from='')
{
$client = new \SoapClient($this->sendUrl);
$result = $client->getMessages([
'username' => $this->username,
'password' => $this->password,
'location' => $location,
'index'=> $index,
'count' => $count,
'from' => $from
]
)->getMessagesResult;
return $result;
}
public function getMessagesStr($location,$index,$count,$from='')
{
$client = new \SoapClient($this->receiveUrl);
$result = $client->GetMessageStr([
'username' => $this->username,
'password' => $this->password,
'location' => $location,
'index'=> $index,
'count' => $count,
'from' => $from
]
)->GetMessageStrResult;
return $result;
}
public function getMessagesByDate($location,$index,$count,$from,$dateFrom,$dateTo)
{
$client = new \SoapClient($this->receiveUrl);
$result = $client->GetMessagesByDate([
'username' => $this->username,
'password' => $this->password,
'location' => $location,
'index'=> $index,
'count' => $count,
'from' => $from,
'dateTo' => $dateTo,
'dateFrom' => $dateFrom
]
)->GetMessagesByDateResult;
return $result;
}
public function getMessagesReceptions($msgId,$fromRows)
{
$client = new \SoapClient($this->receiveUrl);
$result = $client->GetMessagesReceptions([
'username' => $this->username,
'password' => $this->password,
'msgId' => $msgId,
'fromRows' =>$fromRows
]
)->GetMessagesReceptionsResult;
return $result;
}
public function getUsersMessagesByDate($location,$index,$count,$from,$dateFrom,$dateTo)
{
$client = new \SoapClient($this->receiveUrl);
$result = $client->GetUsersMessagesByDate([
'username' => $this->username,
'password' => $this->password,
'location' => $location,
'index'=> $index,
'count' => $count,
'from' => $from,
'dateTo' => $dateTo,
'dateFrom' => $dateFrom
]
)->GetUsersMessagesByDateResult;
return $result;
}
public function remove($msgIds)
{
$client = new \SoapClient($this->receiveUrl);
$result = $client->RemoveMessages2([
'username' => $this->username,
'password' => $this->password,
'msgIds' => $msgIds
]
)->RemoveMessages2Result;
return $result;
}
public function getPrice($irancell,$mtn,$from,$text)
{
$client = new \SoapClient($this->sendUrl);
$result = $client->GetSmsPrice([
'username' => $this->username,
'password' => $this->password,
'irancellCount' => $irancell,
'mtnCount'=> $mtn,
'text' => $text,
'from' => $from
]
)->GetSmsPriceResult;
return $result;
}
public function getInboxCount($isRead=false)
{
$client = new \SoapClient($this->sendUrl);
$result = $client->GetInboxCount([
'username' => $this->username,
'password' => $this->password,
'isRead' => $isRead,
]
)->GetInboxCountResult;
return $result;
}
public function sendWithSpeech($to,$from,$text,$speech)
{
$client = new \SoapClient($this->voiceUrl);
$result = $client->SendSMSWithSpeechText([
'username' => $this->username,
'password' => $this->password,
'from' => $from,
'to' => $to,
'smsBody' => $text,
'speechBody' => $speech
]
)->SendSMSWithSpeechTextResult;
return $result;
}
public function sendWithSpeechSchduleDate($to,$from,$text,$speech,$scheduleDate)
{
$client = new \SoapClient($this->voiceUrl);
$result = $client->SendSMSWithSpeechTextBySchduleDate([
'username' => $this->username,
'password' => $this->password,
'from' => $from,
'to' => $to,
'smsBody' => $text,
'speechBody' => $speech,
'scheduleDate'=> $scheduleDate
]
)->SendSMSWithSpeechTextBySchduleDateResult;
return $result;
}
public function getSendWithSpeech($recId)
{
$client = new \SoapClient($this->voiceUrl);
$result = $client->GetSendSMSWithSpeechTextStatus([
'username' => $this->username,
'password' => $this->password,
'recId'=>$recId
]
);
return $result;
}
public function getMultiDelivery($recId)
{
$client = new \SoapClient($this->sendUrl);
$result = $client->GetMultiDelivery2([
'username' => $this->username,
'password' => $this->password,
'recId' => $recId,
]
)->GetMultiDelivery2Result;
return $result;
}
public function sendMultipleSchedule($to,$from,$text,$isflash,$scheduleDateTime,$period)
{
$client = new \SoapClient($this->scheduleUrl);
$result = $client->AddMultipleSchedule([
'username' => $this->username,
'password' => $this->password,
'to' => $to,
'from'=>$from,
'text'=>$text,
'isflash'=>$isflash,
'scheduleDateTime'=>$scheduleDateTime,
'period' => $period
]
)->AddMultipleScheduleResult;
return $result;
}
public function sendSchedule($to,$from,$text,$isflash,$scheduleDateTime,$period)
{
$client = new \SoapClient($this->scheduleUrl);
$result = $client->AddSchedule([
'username' => $this->username,
'password' => $this->password,
'to' => $to,
'from'=>$from,
'text'=>$text,
'isflash'=>$isflash,
'scheduleDateTime'=>$scheduleDateTime,
'period' => $period
]
)->AddScheduleResult;
return $result;
}
public function getScheduleStatus($schId)
{
$client = new \SoapClient($this->scheduleUrl);
$result = $client->GetScheduleStatus([
'username' => $this->username,
'password' => $this->password,
'scheduleId'=>$schId
]
)->GetScheduleStatusResult;
return $result;
}
public function removeSchedule($schId)
{
$client = new \SoapClient($this->scheduleUrl);
$result = $client->RemoveSchedule([
'username' => $this->username,
'password' => $this->password,
'scheduleId'=>$schId
]
)->RemoveScheduleResult;
return $result;
}
public function addUsance($to,$from,$text,$isflash,$scheduleStartDateTime,$repeatAfterDays,$scheduleEndDateTime)
{
$client = new \SoapClient($this->scheduleUrl);
$result = $client->AddUsance([
'username' => $this->username,
'password' => $this->password,
'to' => $to,
'from'=>$from,
'text'=>$text,
'isflash'=>$isflash,
'scheduleStartDateTime'=>$scheduleStartDateTime,
'repeatAfterDays' => $repeatAfterDays,
'scheduleEndDateTime'=>$scheduleEndDateTime
]
)->AddUsanceResult;
return $result;
}
}