Files
kulakpos_web/vendor/melipayamak/php/src/SmsRest.php
eko54r b5e3a778ce
All checks were successful
Build, Push and Deploy / build-and-push (push) Successful in 3m3s
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 16s
Build, Push and Deploy / deploy-staging (push) Successful in 32s
Build, Push and Deploy / deploy-production (push) Has been skipped
Build, Push and Deploy / cleanup (push) Successful in 1s
allow vendord
2026-03-30 14:54:57 +07:00

183 lines
2.9 KiB
PHP

<?php
namespace Melipayamak;
class SmsRest extends BaseSms
{
const PATH = "https://rest.payamak-panel.com/api/SendSMS/%s";
protected $username;
protected $password;
public function __construct($username,$password)
{
parent::__construct($username,$password);
}
protected function execute($url, $data = null)
{
$fields_string = "";
if (!is_null($data)) {
$fields_string = http_build_query($data);
}
$handle = curl_init();
curl_setopt($handle, CURLOPT_URL, $url);
curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);
curl_setopt($handle, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($handle, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($handle, CURLOPT_POST, true);
curl_setopt($handle, CURLOPT_POSTFIELDS, $fields_string);
$response = curl_exec($handle);
$code = curl_getinfo($handle, CURLINFO_HTTP_CODE);
$curl_errno = curl_errno($handle);
$curl_error = curl_error($handle);
if ($curl_errno) {
throw new \Exception($curl_error);
}
curl_close($handle);
return $response;
}
public function send($to,$from,$text,$isFlash=false)
{
$url = $this->getPath(self::PATH,'SendSMS');
$data = [
'UserName' => $this->username,
'PassWord' => $this->password,
'To' => $to,
'From' => $from,
'Text' => $text,
'IsFlash' => $isFlash
];
return $this->execute($url,$data);
}
public function sendByBaseNumber($text,$to,$bodyId)
{
$url = $this->getPath(self::PATH,'BaseServiceNumber');
$data = [
'UserName' => $this->username,
'PassWord' => $this->password,
'text' => $text,
'to' => $to,
'bodyId' => $bodyId
];
return $this->execute($url,$data);
}
public function isDelivered($id)
{
$url = $this->getPath(self::PATH,'GetDeliveries2');
$data = [
'UserName' => $this->username,
'PassWord' => $this->password,
'recId' => $id
];
return $this->execute($url,$data);
}
public function getMessages($location,$index,$count,$from='')
{
$url = $this->getPath(self::PATH,'GetMessages');
$options = [
'UserName'=> $this->username,
'PassWord'=> $this->password,
'location'=> $location,
'index'=> $index,
'count' => $count,
'from' => $from
];
return $this->execute($url,$options);
}
public function getCredit()
{
$url = $this->getPath(self::PATH,'GetCredit');
$data=[
'UserName' => $this->username,
'PassWord' => $this->password
];
return $this->execute($url,$data);
}
public function getBasePrice()
{
$url = $this->getPath(self::PATH,'GetBasePrice');
$data=[
'UserName' => $this->username,
'PassWord' => $this->password
];
return $this->execute($url,$data);
}
public function getNumbers()
{
$url = $this->getPath(self::PATH,'GetUserNumbers');
$data=[
'UserName' => $this->username,
'PassWord' => $this->password
];
return $this->execute($url,$data);
}
}