PHP code example of rstacode / otpiq
1. Go to this page and download the library: Download rstacode/otpiq library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
rstacode / otpiq example snippets
use Rstacode\Otpiq\Facades\Otpiq;
$info = Otpiq::getProjectInfo();
echo $info['projectName'];
echo $info['credit'];
[
'projectName' => 'My SMS Project',
'credit' => 15000
]
use Rstacode\Otpiq\Facades\Otpiq;
$response = Otpiq::sendSms([
'phoneNumber' => '964750123456',
'smsType' => 'verification',
'verificationCode' => '123456',
'provider' => 'whatsapp-sms',
]);
echo $response['smsId'];
echo $response['remainingCredit'];
echo $response['cost'];
[
'message' => 'SMS task created successfully',
'smsId' => 'sms-1234567890abcdef123456',
'remainingCredit' => 14800,
'cost' => 200,
'canCover' => true,
'paymentType' => 'prepaid'
]
$response = Otpiq::sendSms([
'phoneNumber' => '964750123456',
'smsType' => 'verification',
'verificationCode' => '123456',
'senderId' => 'MyBrand',
'provider' => 'sms',
]);
$response = Otpiq::sendSms([
'phoneNumber' => '964750123456',
'smsType' => 'verification',
'verificationCode' => '123456',
'deliveryReport' => [
'webhookUrl' => 'https://your-app.com/webhooks/sms-status',
'deliveryReportType' => 'all',
'webhookSecret' => 'your_webhook_secret_123',
],
]);
use Rstacode\Otpiq\Facades\Otpiq;
$response = Otpiq::sendSms([
'phoneNumber' => '964750123456',
'smsType' => 'custom',
'customMessage' => 'Your order #12345 has been confirmed. Thank you!',
'senderId' => 'MyShop',
'provider' => 'sms',
]);
use Rstacode\Otpiq\Facades\Otpiq;
$response = Otpiq::sendSms([
'phoneNumber' => '964750123456',
'smsType' => 'whatsapp-template',
'templateName' => 'auth_template',
'whatsappAccountId' => '68c46fecc509cdcec8fb3ef2',
'whatsappPhoneId' => '68da31fb518ac3db3eb0a0f4',
'templateParameters' => [
'body' => [
'1' => '123456',
'2' => '10',
],
],
'provider' => 'whatsapp',
]);
use Rstacode\Otpiq\Facades\Otpiq;
$status = Otpiq::trackSms('sms-1234567890abcdef123456');
echo $status['status'];
echo $status['lastChannel'];
[
'smsId' => 'sms-1234567890abcdef123456',
'phoneNumber' => '964750123456',
'status' => 'delivered',
'cost' => 200,
'isFinalStatus' => true,
'lastChannel' => 'whatsapp',
'channelFlow' => [
[
'channel' => 'whatsapp',
'tried' => true,
'success' => true,
],
]
]
use Rstacode\Otpiq\Facades\Otpiq;
$senderIds = Otpiq::getSenderIds();
foreach ($senderIds['data'] as $sender) {
echo $sender['senderId'];
echo $sender['status'];
echo $sender['pricePerSms']['korekTelecom'];
}
[
'success' => true,
'data' => [
[
'_id' => '507f1f77bcf86cd799439011',
'senderId' => 'OTPIQ',
'status' => 'accepted',
'pricePerSms' => [
'korekTelecom' => 80,
'asiaCell' => 80,
'zainIraq' => 80,
'others' => 100,
]
]
]
]
use Rstacode\Otpiq\Facades\Otpiq;
use Rstacode\Otpiq\Exceptions\OtpiqApiException;
try {
$response = Otpiq::sendSms([
'phoneNumber' => '964750123456',
'smsType' => 'verification',
'verificationCode' => '123456',
]);
} catch (OtpiqApiException $e) {
if ($e->isAuthError()) {
echo 'Invalid API key';
}
if ($e->isCreditError()) {
echo 'Insufficient credit: ' . $e->getRemainingCredit();
echo 'Required credit: ' . $e->getRequiredCredit();
}
if ($e->isRateLimitError()) {
echo 'Rate limit exceeded. Wait ' . $e->getRateLimitWaitMinutes() . ' minutes';
}
if ($e->isTrialModeError()) {
echo 'Account in trial mode';
}
if ($e->isSpendingThresholdError()) {
echo 'Spending threshold exceeded';
}
if ($e->isSenderIdError()) {
echo 'Sender ID not found';
}
if ($e->isValidationError()) {
echo 'Validation error: ' . $e->getFirstError();
}
echo $e->getMessage();
print_r($e->getResponseData());
}
[
'phoneNumber' => 'string (,
'verificationCode' => 'string (tional)',
'whatsappAccountId' => 'string (optional)',
'whatsappPhoneId' => 'string (optional)',
'templateName' => 'string (optional)',
'deliveryReport' => [
'webhookUrl' => 'string',
'deliveryReportType' => 'all|final',
'webhookSecret' => 'string',
],
]
[
'phoneNumber' => 'string ('customMessage' => 'string (tring (optional)',
'whatsappAccountId' => 'string (optional)',
'whatsappPhoneId' => 'string (optional)',
'templateName' => 'string (optional)',
'deliveryReport' => [
'webhookUrl' => 'string',
'deliveryReportType' => 'all|final',
'webhookSecret' => 'string',
],
]
[
'phoneNumber' => 'string (late',
'templateName' => 'string ( => 'string ( '2' => 'string',
],
],
'provider' => 'string (optional)',
'deliveryReport' => [
'webhookUrl' => 'string',
'deliveryReportType' => 'all|final',
'webhookSecret' => 'string',
],
]
[
'projectName' => 'string',
'credit' => 'integer'
]
[
'smsId' => 'string',
'phoneNumber' => 'string',
'status' => 'string',
'cost' => 'integer',
'isFinalStatus' => 'boolean',
'lastChannel' => 'string',
'channelFlow' => 'array'
]
[
'success' => 'boolean',
'data' => [
[
'_id' => 'string',
'senderId' => 'string',
'status' => 'string',
'pricePerSms' => [
'korekTelecom' => 'integer',
'asiaCell' => 'integer',
'zainIraq' => 'integer',
'others' => 'integer',
]
]
]
]
bash
php artisan vendor:publish --tag=otpiq-config