tahaghafuri/melipayamak

A PHP wrapper for melipayamak's web services

3.0.0 2023-09-14 10:49 UTC

This package is auto-updated.

Last update: 2024-11-14 13:25:29 UTC


README

نصب

composer require tahaghafuri/melipayamak

یا از طریق اضافه کردن خط زیر به فایل composer.json

"tahaghafuri/melipayamak": "*"

و سپس اجرای دستور

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');

تفاوت های وب سرویس پیامک rest و soap

از آنجا که ملی پیامک وب سرویس کاملی رو در اختیار توسعه دهندگان میگزارد برای راحتی کار با وب سرویس پیامک علاوه بر وب سرویس اصلی 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);

اضافه کردن کاربر جدید در سامانه(WithLocation)

$users->addWithLocation($options);

بدست آوردن ID کاربر

$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();