ghasedak/laravel

Easy-to-use SDK for implementing Ghasedak SMS API in your Laravel projects.

v1.0.0 2020-10-12 11:21 UTC

This package is not auto-updated.

Last update: 2020-10-13 10:45:41 UTC


README


Logo

Ghasedak Laravel SDK

Easy-to-use SDK for implementing Ghasedak SMS API in your Laravel projects.
Explore the docs »

Web Service Documents · REST API . Report Bug · Request Feature


contributors forks stars issues license

English Document | مستندات فارسی

Table of Contents

Install

The easiest way to install is by using Composer:

composer require ghasedak/laravel

usage

To use the package, you need an API key. To get that you should have a Ghasedak account. Register and get your API key.
Copy the following variable into your project's .env file and change your_api_key to the key you have got from your Ghasedak account.

GHASEDAKAPI_KEY=your_api_key

Use GhasedakApi on top of your controller or wherever you want:

use Ghasedak\GhasedakApi;

Then you can simply create an instance of GhasedakApi and use SendSimple method to send a text message:

$api = new GhasedakApi(env('GHASEDAKAPI_KEY'));
$api->SendSimple(
    "09xxxxxxxxx", // receptor
    "Hello World!", // message 
    "3000xxxxx" // choose a line number from your account
);

Parameters

Parameter Required Description Type Example
message Yes Text to be sent string Hello, World!
receptor Yes The number of the recipient(s) of the message (seperated by comma ,). string 09111111111
linenumber No The number of the sender of the message, which, if not specified, will be selected from your dedicated lines with a higher priority.(If you do not have a dedicated line, you must specify the linenumber) string 5000222
senddate No The exact date and time of sending the message based on Unix time, if not specified, the message will be sent instantly. string 1508144471

Example

Here is a sample code for sending SMS. Please note that you must specify line number if you don't have a dedicated line.

$receptor = '09xxxxxxxxx';
$message = 'Hello, World!';
$lineNumber = '3000xxxxx';

$api = new GhasedakApi(env('GHASEDAKAPI_KEY'));
$api->SendSimple($receptor,$message,$lineNumber);

One-Time Passwords (OTP)

The One-Time-Password (OTP) Interface is used to perform a mobile authentication or to implement Two-Factor-Authentication (2FA).
You can pass up to 10 param to Verify method:

$api->Verify(
    "09xxxxxxxxx",  // receptor  
    1,              // 1 for text message and 2 for voice message "my-template",  // name of the template which you've created in you account   
    "param1",       // parameters (supporting up to 10 parameters)   
    "param2",   
    "param3"
);  

Parameters

Parameter Required Description Type Example
receptor Yes The number of the recipient of the message. string 09111111111
type Yes Set 1 to send text message and 2 to send voice message. int Hello, World!
template Yes The title of the template you created in your panel. string my-template
checkid No It is used to set a unique number for each SMS, and after sending the SMS, all the information of the sent message can be received with the status method. string 2071
param1 Yes The values you enter (You must enter at least one parameter). string abcdef
param2 No The values you enter. string abcdef
param3 No The values you enter. string abcdef
param4 No The values you enter. string abcdef
param5 No The values you enter. string abcdef
param6 No The values you enter. string abcdef
param7 No The values you enter. string abcdef
param8 No The values you enter. string abcdef
param9 No The values you enter. string abcdef
param10 No The values you enter. string abcdef

Example

$receptor = "09xxxxxxxxx";
$type = 1;
$template = "my-template";
$param1 = '123456';

$api = new GhasedakApi(env('GHASEDAKAPI_KEY'));
$api->Verify($receptor, $type, $template, $param1);

:)

License

Freely distributable under the terms of the MIT license.

فهرست مطالب

نصب

ساده‌ترین راه برای نصب این پکیج استفاده از Composer است:

composer require ghasedak/laravel

نحوه استفاده

برای استفاده از این پکیج می‌بایست API key داشته باشید. جهت دریافت ابتدا در سایت قاصدک ثبت‌نام کنید و از پنل کاربری‌تان API key دریافت کنید.

متغیر زیر را درون فایل .env پروژه‌ی خود کپی کرده و به جای your_api_key کلید دریافتی از حساب قاصدک خود را قرار دهید.

GHASEDAKAPI_KEY=your_api_key
در بالای کنترلر یا هر جایی از پروژه GhasedakApi را استفاده کنید:
use Ghasedak\GhasedakApi;

سپس به راحتی می‌توانید یک instance از GhasedakApi بسازید و از متد SendSimple برای ارسال پیام متنی استفاده کنید:

$api = new GhasedakApi(env('GHASEDAKAPI_KEY')); 
$api->SendSimple(    
   "09xxxxxxxxx",  // receptor   
   "Hello World!", // message   
   "3000xxxxx"    // choose a line number from your account  
 );

:))

پارامترها

پارامتر اجباری توضیحات نوع مثال
message بله متنی که باید ارسال شود. string سلام دنیا!
receptor بله شماره گیرنده پیام می باشد. string 09111111111
linenumber خیر شماره فرستنده پیام می باشد، که اگر قید نشود از بین خطوط اختصاصی شما خط با اولویت بالاتر انتخاب می شود.( در صورت نداشتن خط اختصاصی باید linenumber را مشخص نمایید ) string 5000222
senddate خیر تاریخ و زمان دقیق ارسال پیام بر اساس Unixtime می باشد که اگر قید نشود در همان لحظه پیام ارسال می شود. string 1508144471
checkid خیر برای تعیین شماره ای یکتا از طرف کاربر برای هر پیامک به کار می رود و پس از ارسال پیامک می توان با متد status کلیه اطلاعات پیام ارسال شده را دریافت کرد. string 2071

نمونه کد

کد زیر نمونه‌ای از متد ارسال تکی پیامک می‌باشد. لطفا توجه کنید که در صورت نداشتن خط اختصاصی می‌بایست حتما line number را وارد کنید.

$receptor = '09xxxxxxxxx';
$message = 'Hello, World!';
$lineNumber = '3000xxxxx';

$api = new GhasedakApi(env('GHASEDAKAPI_KEY'));
$api->SendSimple($receptor,$message,$lineNumber);

رمز عبور یکبار مصرف (OTP)

رمز عبور یک‌بار مصرف برای اعتبارسنجی از طریق تلفن همراه و یا برای ورود دو مرحله‌ای (2FA) استفاده می‌شود.

با استفاده از متد Verify می‌توانید تا سقف 10 param را ارسال کنید:

$api->Verify(    
    "09xxxxxxxxx", // receptor   
    1,             // 1 for text message and 2 for voice message   
    "my-template", // name of the template which you've created in you account   
    "param1",      // parameters (supporting up to 10 parameters)   
    "param2",   
    "param3"
);  

پارامترها

پارامتر اجباری توضیحات نوع مثال
receptor بله شماره گیرنده پیام که با ( , ) از هم جدا می شوند. string 09111111111
type بله برای ارسال پیام متنی عدد 1 و برای ارسال پیام صوتی عدد 2 را وارد کنید. int Hello, World!
template بله عنوان قالبی که در پنل خود ایجاد کرده اید. string my-template
checkid خیر برای تعیین شماره ای یکتا از طرف کاربر برای هر پیامک به کار می رود و پس از ارسال پیامک می توان با متد status کلیه اطلاعات پیام ارسال شده را دریافت کرد string 2071
param1 بله مقادیری که از سمت شما وارد می شود (وارد کردن حداقل 1 مورد اجباری است). string abcdef
param2 خیر مقادیری که از سمت شما وارد می شود. string abcdef
param3 خیر مقادیری که از سمت شما وارد می شود. string abcdef
param4 خیر مقادیری که از سمت شما وارد می شود. string abcdef
param5 خیر مقادیری که از سمت شما وارد می شود. string abcdef
param6 خیر مقادیری که از سمت شما وارد می شود. string abcdef
param7 خیر مقادیری که از سمت شما وارد می شود. string abcdef
param8 خیر مقادیری که از سمت شما وارد می شود. string abcdef
param9 خیر مقادیری که از سمت شما وارد می شود. string abcdef
param10 خیر مقادیری که از سمت شما وارد می شود. string abcdef

نمونه کد

$receptor = "09xxxxxxxxx";
$type = 1;
$template = "my-template";
$param1 = '123456';

$api = new GhasedakApi(env('GHASEDAKAPI_KEY'));
$api->Verify($receptor, $type, $template, $param1);

مجوز

این پکیج تحت مجوز MIT منتشر شده است.