1. Go to this page and download the library: Download gr8shivam/laravel-sms-api 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/ */
gr8shivam / laravel-sms-api example snippets
use Gr8Shivam\SmsApi\SmsApiFacade as SmsApi;
// Simple usage
SmsApi::sendMessage("9876543210", "Hello from Laravel!");
// Or using helper
smsapi("9876543210", "Hello from Laravel!");
use Gr8Shivam\SmsApi\SmsApiFacade as SmsApi;
// Basic usage
SmsApi::sendMessage("9876543210", "Hello!");
// With gateway selection
SmsApi::gateway('gateway_name')
->sendMessage("9876543210", "Hello!");
// With country code
SmsApi::countryCode('44') // UK
->sendMessage("7911123456", "Hello from UK!");
// Bulk SMS
SmsApi::sendMessage(
["9876543210", "9876543211"],
"Bulk message"
);
// Get response
$response = SmsApi::sendMessage("9876543210", "Test")
->response();
// Get status code
$code = SmsApi::sendMessage("9876543210", "Test")
->getResponseCode();
// Check success
$success = SmsApi::sendMessage("9876543210", "Test")
->isSuccessful();
use Illuminate\Notifications\Notifiable;
class User extends Authenticatable
{
use Notifiable;
/**
* Route notifications for SMS API channel
*/
public function routeNotificationForSmsApi()
{
return $this->phone; // Return the phone number column
}
}
namespace App\Notifications;
use Illuminate\Notifications\Notification;
use Gr8Shivam\SmsApi\Notifications\SmsApiChannel;
use Gr8Shivam\SmsApi\Notifications\SmsApiMessage;
class WelcomeNotification extends Notification
{
public function via($notifiable)
{
return [SmsApiChannel::class];
}
public function toSmsApi($notifiable)
{
return (new SmsApiMessage)
->content("Welcome {$notifiable->name}!");
}
}
public function toSmsApi($notifiable)
{
return (new SmsApiMessage)
->content("Your OTP is: {$this->otp}")
->params([
'template_id' => 'OTP_VERIFY',
'priority' => 'high'
]);
}
public function toSmsApi($notifiable)
{
return (new SmsApiMessage)
->content($this->message)
->params(['campaign' => 'marketing'])
->headers(['X-Campaign-ID' => '12345']);
}
public function toSmsApi($notifiable)
{
return (new SmsApiMessage)
->content("नमस्ते! Welcome")
->unicode();
}
public function toSmsApi($notifiable)
{
return SmsApiMessage::create("Hello {$notifiable->name}!")
->addParam('template_id', 'WELCOME_001')
->addHeader('X-Priority', 'high');
}
public function toSmsApi($notifiable)
{
return "Welcome to our platform!"; // Automatically converted to SmsApiMessage
}
if (send_sms("9876543210", "Hello!")) {
echo "SMS sent successfully!";
} else {
echo "SMS failed. Error logged.";
}
$sms = smsapi()->sendMessage("9876543210", "Hello!");
// Get raw response
$response = $sms->response();
// Get status code
$code = $sms->getResponseCode();
// Check if successful
if ($sms->isSuccessful()) {
// 2xx status code
}
$message = new SmsApiMessage("Your message here");
// Get message length
$length = $message->length();
// Check if empty
if ($message->isEmpty()) {
// Handle empty message
}
// Estimate SMS segments (for cost calculation)
$segments = $message->estimateSegments(); // Returns 1, 2, 3...
// Get preview
$preview = $message->preview(50); // First 50 characters
use Gr8Shivam\SmsApi\Tests\AbstractTestCase;
use Gr8Shivam\SmsApi\SmsApiFacade as SmsApi;
class MyFeatureTest extends AbstractTestCase
{
/** @test */
public function it_sends_sms()
{
$this->mockSmsGateway(200, 'Success');
$response = SmsApi::sendMessage("9876543210", "Test");
$this->assertEquals(200, $response->getResponseCode());
$this->assertTrue($response->isSuccessful());
}
}