How to Send SMS using Twilio in Laravel 11?

03-Jun-2024

.

Admin

How to Send SMS using Twilio in Laravel 11?

Hi, Dev

In this tutorial, I will demonstrate how to send a text SMS to a mobile number using the Twilio API in a Laravel 11 application.

Twilio is a cloud communications platform enabling developers to integrate multiple communication channels, including voice, SMS, and video, into their applications. Founded in 2008 and headquartered in San Francisco, California, Twilio offers APIs that facilitate the seamless integration of these communication capabilities. This empowers developers to easily build applications that can send and receive SMS messages, make and receive phone calls, and much more.

In this example, we will simply install twilio/sdk composer package and send sms to specific number using Twilio API and Secret Key. you just need to follow the below steps to done example.

Step for Laravel 11 Send SMS to Mobile Number using Twilio API


Step 1: Install Laravel 11

Step 2: Create Twilio Account

Step 3: Install twilio/sdk Package

Step 4: Create Route

Step 5: Create Controller

Run Laravel App

Step 1: Install Laravel 11

This step is not required; however, if you have not created the Laravel app, then you may go ahead and execute the below command:

composer create-project laravel/laravel example-app

Step 2: Create Twilio Account

First you need to create and add phone number. then you can easily get account SID, Token and Number.

Create Account from here: www.twilio.com.

Next add Twilio Phone Number

Next you can get account SID, Token and Number and add on .env file as like bellow:

.env

TWILIO_SID=XXXXXXXXXXXXXXXXX

TWILIO_TOKEN=XXXXXXXXXXXXX

TWILIO_FROM=+XXXXXXXXXXX

Step 3: Install twilio/sdk Package

In this step, we need to install twilio/sdk composer package to use twilio api. so let's run bellow command:

composer require twilio/sdk

Step 4: Create Route

now we will create one route for calling our example, so let's add new route to web.php file as bellow:

routes/web.php

<?php

use Illuminate\Support\Facades\Route;

use App\Http\Controllers\TwilioSMSController;

/*

|--------------------------------------------------------------------------

| Web Routes

|--------------------------------------------------------------------------

|

| Here is where you can register web routes for your application. These

| routes are loaded by the RouteServiceProvider within a group which

| contains the "web" middleware group. Now create something great!

|

*/

Route::get('sendSMS', [TwilioSMSController::class, 'index']);

Step 5: Create Controller

in this step, we will create TwilioSMSController and write send sms logic, so let's add new route to web.php file as bellow:

app/Http/Controllers/TwilioSMSController.php

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use Exception;

use Twilio\Rest\Client;

class TwilioSMSController extends Controller

{

/**

* Write code on Method

*

* @return response()

*/

public function index()

{

$receiverNumber = "RECEIVER_NUMBER";

$message = "This is testing from NiceSnippets.com";

try {

$account_sid = getenv("TWILIO_SID");

$auth_token = getenv("TWILIO_TOKEN");

$twilio_number = getenv("TWILIO_FROM");

$client = new Client($account_sid, $auth_token);

$client->messages->create($receiverNumber, [

'from' => $twilio_number,

'body' => $message]);

dd('SMS Sent Successfully.');

} catch (Exception $e) {

dd("Error: ". $e->getMessage());

}

}

}

Run Laravel App:

All the required steps have been done, now you have to type the given below command and hit enter to run the Laravel app:

php artisan serve

Now, Go to your web browser, type the given URL and view the app output:

http://localhost:8000/sendSMS

Now you can run and check.

I hope it can help you...

#Laravel 11