آیو اس ام اس یک وب سرویس کامل برای ارسال و دریافت پیامک و پیامک صوتی و مدیریت کامل خدمات دیگر است که براحتی میتوانید از آن استفاده کنید.
قبل از نصب نیاز به ثبت نام در سایت آیو اس ام اس دارید.
ثبت نام به همراه دریافت 200 پیامک هدیه جهت تست وبسرویس
پس از ثبت نام برای نصب از راههای زیر میتوانید اقدام کنید.
composer require melipayamak/php:1.0.0
یا از طریق اضافه کردن خط زیر به فایل composer.json
"melipayamak/php": "1.0.0"
و سپس اجرای دستور
composer update
require __DIR__ . '/vendor/autoload.php';
use Melipayamak\MelipayamakApi;
try{
$username = 'username';
$password = 'password';
$api = new MelipayamakApi($username,$password);
$sms = $api->sms();
$to = '09123456789';
$from = '5000...';
$text = 'تست وب سرویس آیو اس ام اس';
$response = $sms->send($to,$from,$text);
$json = json_decode($response);
echo $json->Value; //RecId or Error Number
}catch(Exception $e){
echo $e->getMessage();
}
از آنجا که وب سرویس آیو اس ام اس تنها محدود به ارسال پیامک نیست شما از طریق زیر میتوانید به وب سرویس ها دسترسی کامل داشته باشید:
// وب سرویس پیامک
$smsRest = $api->sms();
$smsSoap = $api->sms('soap');
// وب سرویس تیکت پشتیبانی
$ticket = $api->ticket();
// وب سرویس برای مدیریت کامل ارسال انبوه پیامک
$branch = $api->branch();
//وب سرویس کاربران
$users = $api->users();
//وب سرویس دفترچه تلفن
$contacts = $api->contacts()
شما میتوانید از وب سرویس آیو اس ام اس در حالت آسنکرون هم استفاده کنید. آماده سازی آسنکرون در PHP به صورت زیر است. توجه کنید که دستورات آسنکرون به شرط فراخوانی متد execute
(بطور موازی) انجام می شوند.
// وب سرویس پیامک
$smsRestAsync = $api->sms('async');
$smsSoapAsync = $api->sms('soap', 'async');
// وب سرویس تیکت پشتیبانی
$ticket = $api->ticket('async');
// وب سرویس برای مدیریت کامل ارسال انبوه پیامک
$branch = $api->branch('async');
//وب سرویس کاربران
$users = $api->users('async');
//وب سرویس دفترچه تلفن
$contacts = $api->contacts('async');
از آنجا که آیو اس ام اس وب سرویس کاملی رو در اختیار توسعه دهندگان میگزارد برای راحتی کار با وب سرویس پیامک علاوه بر وب سرویس اصلی soap وب سرویس rest رو هم در اختیار توسعه دهندگان گزاشته شده تا راحتتر بتوانند با وب سرویس کار کنند. تفاوت اصلی این دو در تعداد متد هاییست که میتوانید با آن کار کنید. برای کار های پایه میتوان از وب سرویس rest استفاده کرد برای دسترسی بیشتر و استفاده پیشرفته تر نیز باید از وب سرویس باید از وب سرویس soap استفاده کرد. جهت مطالعه بیشتر وب سرویس ها به قسمت وب سرویس پنل خود مراجعه کنید.
برای مطالعه بیشتر و دریافت راهنمای وب سرویس ها و آشنایی با پارامتر های ورودی و خروجی وب سرویس به صفحه معرفی وب سرویس آیو اس ام اس مراجعه نمایید .
متد های وب سرویس:
$smsRest->send($to,$from,$text,$isFlash);
$smsSoap->send($to,$from,$text,$isFlash);
$smsSoap->addblacklist($title);
$smsSoap->sharedServiceBodyAdd($title,$body,$blackListId);
$smsSoap->getSharedServiceBody();
$smsRest->sendByBaseNumber($text,$to,$bodyId);
$smsSoap->sendByBaseNumber($text,$to,$bodyId);
- در وب سرویس soap به جای ارسال یک شماره آرایه ای از شماره ها نیز قابل قبول است
$smsRest->isDelivered($recId);
$smsSoap->isDelivered($recId);
- به در وب سرویس soap به جای تک آیدی میتوان آرایه نیز ارسال کرد.
$smsRest->getMessages($location,$index,$count,$from);
$smsSoap->getMessages($location,$index,$count,$from);
$smsSoap->getMessagesStr($location,$index,$count,$from);
// جهت دریافت به صورت رشته ای
$smsSoap->getMessagesByDate($location,$index,$count,$from,$dateFrom,$dateTo);
//جهت دریافت بر اساس تاریخ
$smsSoap->getUsersMessagesByDate($location,$index,$count,$from,$dateFrom,$dateTo);
// جهت دریافت پیام های کاربران بر اساس تاریخ
$smsRest->getCredit();
$smsSoap->getCredit();
$smsRest->getBasePrice();
$smsSoap->getPrice($irancellCount,$mtnCount,$from,$text);
$smsRest->getNumbers();
$smsSoap->getInboxCount($isRead);
//پیش فرض خوانده نشده
$smsSoap->send2($to,$from,$text,$isflash,$udh);
$smsSoap->getMessagesReceptions($msgId,$fromRows);
$smsSoap->remove($msgIds);
$smsSoap->sendSchedule($to,$from,$text,$isflash,$scheduleDateTime,$period);
$smsSoap->sendMultipleSchedule($to,$from,$text,$isflash,$scheduleDateTime,$period);
$smsSoap->addUsance($to,$from,$text,$isflash,$scheduleStartDateTime,$repeatAfterDays,$scheduleEndDateTime);
$smsSoap->getScheduleStatus($schId);
$smsSoap->removeSchedule($schId);
$smsSoap->sendWithSpeech($to,$from,$text,$speech);
$smsSoap->sendWithSpeechSchduleDate($to,$from,$text,$speech,$scheduleDate);
$smsSoap->getSendWithSpeech($recId);
$smsSoap->SendBulkSpeechText($title, $body, $receivers, $DateToSend, $repeatCount);
$smsSoap->SendBulkVoiceSMS($title, $voiceFileId, $receivers, $DateToSend, $repeatCount);
$smsSoap->UploadVoiceFile($title, $base64StringFile);
$branch->get($owner);
$branch->add($branchName,$owner);
$branch->addNumber($mobileNumbers,$branchId);
$branch->remove($branchId);
$branch->sendBulk($from,$title,$message,$branch,$DateToSend,$requestCount,$bulkType,$rowFrom,$rangeFrom,$rangeTo);
$branch->sendBulk2($from,$title,$message,$branch,$DateToSend,$requestCount,$bulkType,$rowFrom,$rangeFrom,$rangeTo);
$branch->getBulkCount($branch,$rangeFrom,$rangeTo);
$branch->getBulkReceptions($bulkId,$fromRows);
$branch->getBulkStatus($bulkId);
$branch->getTodaySent();
$branch->getTotalSent();
$branch->removeBulk($id);
$branch->sendMultipleSms($to,$from,$text,$isflash,$udh);
$branch->updateBulkDelivery($bulkId);
$ticket->add($title,$content,$aletWithSms);
$ticket->getReceived($ticketOwner,$ticketType,$keyword);
$ticket->getReceivedCount($ticketType);
$ticket->getSent($ticketOwner,$ticketType,$keyword);
$ticket->getSentCount($ticketType);
$ticket->response($ticketId,$type,$content,$alertWithSms);
$contacts->addGroup($groupName,$Descriptions,$showToChilds);
$contacts->add($options);
$contacts->checkMobileExist($mobileNumber);
$contacts->get($groupId,$keyword,$from,$count);
$contacts->getGroups();
$contacts->change($options);
$contacts->remove($mobilenumber);
$contacts->getEvents($contactId);
$users->addPayment($options);
$users->add($options);
$users->addComplete($options);
$users->addWithLocation($options);
$users->authenticate();
$users->changeCredit($amount,$description,$targetUsername,$GetTax);
$users->forgotPassword($mobileNumber,$emailAddress,$targetUsername);
$users->getBasePrice($targetUsername);
$users->getCredit($targetUsername);
$users->getDetails($targetUsername);
$users->getNumbers();
$users->getTransactions($targetUsername,$creditType,$dateFrom,$dateTo,$keyword);
$users->get();
$users->hasFilter($text);
$users->remove($targetUsername);
$users->getProvinces();
$users->getCities($provinceId);
$users->getExpireDate();