Easy-to-use SDK for implementing Ghasedak SMS API in your PHP projects.
Explore the docs »
Web Service Documents
·
REST API
.
Report Bug
·
Request Feature
The easiest way to install is by using Composer:
composer require ghasedaksms/php
Composer is a dependency manager for PHP which allows you to declare the libraries your project depends on, and it will manage (install/update) them for you. If you are not familiar with Composer, you can read its documentations and download it via getcomposer.org.
Alternatively you can download Ghasedak SDK from here and extract it in your project and follow the rest of the instructions below. Also there is an Example
folder inside the package which you can use to understand the procedure.
To use the API, you need an API key. To get that you should have a Ghasedak account. Register and get your API key.
Then require the file autoload.php to get all classes and dependencies loaded.
require __DIR__ . '/vendor/autoload.php';
Create an instance from Ghasedak class with your API key:
$ghasedaksms = new GhasedaksmsApi('your_api_key');
Don't forget to change your_api_key
with the key you have got from your Ghasedak account.
$sendDate = new DateTimeImmutable('now');
$lineNumber = '3000****';
$receptor = '0912*******';
$message = 'test';
try {
$response = $ghasedaksms->sendSingle(new SingleMessageDTO(
sendDate: $sendDate,
lineNumber: $lineNumber,
receptor: $receptor,
message: $message
));
var_dump($response);
} catch (Exceptions\GhasedakSMSException $e) {
var_dump($e->getMessage());
}
$sendDate = new DateTimeImmutable('now');
$lineNumber = '3000****';
$receptor = ['0912*******','0919*******'];
$message = 'test';
try {
$response = $ghasedaksms->sendBulk(new BulkMessageDTO(
sendDate: $sendDate,
lineNumber: $lineNumber,
receptors: $receptor,
message: $message
));
var_dump($response);
} catch (Exceptions\GhasedakSMSException $e) {
var_dump($e->getMessage());
}
$sendDate = new DateTimeImmutable('now');
$lineNumber = '3000****';
$receptor1 = '0912*******';
$receptor2 = '0912*******';
$message1 = 'test1';
$message2 = 'test2';
try {
$response = $ghasedaksms->sendPairToPair(new PairToPairMessageDTO(
[
new SingleMessageDTO(
sendDate: $sendDate,
lineNumber: $lineNumber,
receptor: $receptor1,
message: $message1
),
new SingleMessageDTO(
sendDate: $sendDate,
lineNumber: $lineNumber,
receptor: $receptor2,
message: $message2
)
]
));
var_dump($response);
} catch (Exceptions\GhasedakSMSException $e) {
var_dump($e->getMessage());
}
$sendDate = new DateTimeImmutable('now');
try {
$response = $ghasedaksms->sendOtp(new OtpMessageDTO(
sendDate: $sendDate,
receptors: [
new ReceptorDTO(
mobile: '0912*******',
clientReferenceId: '1'
)
],
templateName: 'newOtp',
inputs: [
new InputDTO(
param: 'Code',
value: 'value'
),
new InputDTO(
param: 'Name',
value: 'value'
)
]
));
var_dump($response);
} catch (Exceptions\GhasedakSMSException $e) {
var_dump($e->getMessage());
}
$sendDate = new DateTimeImmutable('now');
try {
$response = $ghasedaksms->sendOtpWithParams(new OtpMessageWithParamsDTO(
sendDate: $sendDate,
receptors: [
new ReceptorDTO(
mobile: '0912*******',
clientReferenceId: '1'
)
],
templateName: 'newOtp',
param1: 'param1',
param2: 'param2'
));
var_dump($response);
} catch (Exceptions\GhasedakSMSException $e) {
var_dump($e->getMessage());
}
try {
$response = $ghasedaksms->checkSmsStatus(new CheckSmsStatusDTO(
ids: ['246*****'],
type: 1
));
var_dump($response);
} catch (Exceptions\GhasedakSMSException $e) {
var_dump($e->getMessage());
}
try {
$response = $ghasedaksms->getAccountInformation();
var_dump($response);
} catch (Exceptions\GhasedakSMSException $e) {
var_dump($e->getMessage());
}
try {
$response = $ghasedaksms->getReceivedSMSes(
new GetReceivedSMSesDTO(
lineNumber: '3000****'
)
);
var_dump($response);
} catch (Exceptions\GhasedakSMSException $e) {
var_dump($e->getMessage());
}
$startDate = new DateTimeImmutable('now');
$endDate = $startDate->modify('+3 days');
try {
$response = $ghasedaksms->getReceivedSMSesPaging(
new GetReceivedSMSesPagingDTO(
lineNumber: '3000****',
startDate: $startDate,
endDate: $endDate,
pageIndex: 0,
pageSize: 10
)
);
var_dump($response);
} catch (Exceptions\GhasedakSMSException $e) {
var_dump($e->getMessage());
}
try {
$response = $ghasedaksms->getOtpTemplateParameters(
new GetOtpTemplateParametersDTO(
templateName: 'newOtp'
)
);
var_dump($response);
} catch (Exceptions\GhasedakSMSException $e) {
var_dump($e->getMessage());
}
Freely distributable under the terms of the MIT license.