2017 © Pedro Peláez
 

library twilio

SMS sending using Twilio

image

lakshmaji/twilio

SMS sending using Twilio

  • Friday, May 19, 2017
  • by lakshmaji
  • Repository
  • 4 Watchers
  • 29 Stars
  • 222 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 3 Forks
  • 0 Open issues
  • 9 Versions
  • 34 % Grown

The README.md

Laravel - Twilio

Wiki on web, (*1)

Latest Stable Version Total Downloads Latest Unstable Version License Monthly Downloads Daily Downloads composer.lock, (*2)

INDEX

|Index|Description| |---|:---| |What it is|- Introduction| |Installation |- Installing Twilio package | |Laravel Integration |- Integrating this package with Laravel application| |Docs|- Description of methods available and parameters etc Method Responses| |Miscellaneous |- Miscellaneous content regarding method calls Invalid method calls|- Invalid arguments (Not supported)| |Sending SMS |- A simple Examp to illustarte the using this package| |Example with Laravel|- Sample code in Laravel| |Exception Handling |- An Exception Handling mechanism to catch errors| |Twilio |- How to Get registered on Twilio to use free trail account| |License |- License|, (*3)

WHAT IT IS?

  • This package is used to send sms to any mobile number.
  • This uses Twilio API.
  • It requires AccountSID and AuthToken, they can be generated by registrting @at Twilio
    • after registration click on Account ,there you will be able to see authsid and authtoken.
    • You have assigned a sender mobile number which can be found at Twilio,which is used to send Text Messages or MMS and ShortCodes etc.

INSTALLATION

  • Download package form https://github.com/lakshmaji/twilio .
  • OR YOU CAN RUN FOLLOWING COMMAND FROM TERMINAL
  • With composer you can run this line composer require lakshmaji/twilio

Run this command from the Terminal:, (*4)

    composer require lakshmaji/twilio
    composer dumpautoload
    composer update

LARAVEL INTEGRATION

you need to add the service provider. Open app/config/app.php, and add a new item to the providers array., (*5)

  Lakshmaji\Twilio\TwilioServiceProvider::class,

Then, add a Facade for more convenient usage. In app/config/app.php add the following line to the aliases array:, (*6)

  'Twilio'    => Lakshmaji\Twilio\Facade\Twilio::class,

Again do composer update, (*7)


METHOD, AVAILABLE PARAMETERS AND RESPONSES

Method
message(array, string, boolean, boolean, boolean)

$message_array = array( 'sender_id' => 'TWILIO_AUTH_SID', 'sender_secret' => 'TWILIO_AUTH_SECRET', 'reciver_mobile' => 'MOBILE_NUMBER', 'media_url' => 'MEDIA_URL', 'otp' =>'OTP', 'sender' => 'TWILIO_SOURCE_NUMBER' );
The message_array parameters
PARAMETER DESCRIPTION
sender_id This is the key defined in ".env" file for auth_sid
sender_secret This is the key defined in ".env" file for auth_secret
sender This is the key defined in .env file for sender mobile number
reciver_mobile This is the receivers mobile number
media_url This is the "uri" for mutimedia
otp This key values associates with the otp
Responses
CODE DESCRIPTION
16000 Error due to all flags are set to false or no flag was set
16001 Error due to all flags were set to true
16002 No sms type was set witin the avialbel list of flag parameters
16003 Un handled error

MISCELLANEOUS

To send SMS
  Twilio::message($message_array,$op="only msg", true,  false, false ); // sms
To send MMS
  Twilio::message($message_array,$op="only MMS", false, false, true  ); // media
To send OTP
  Twilio::message($message_array,$op="only verfication code", false, true,  false ); // otp
To send both SMS and MMS
  Twilio::message($message_array,$op="This is combaination both SMS and MMS", true,  false, true  ); // sms , media 
INVALID METHOD CALLS
Twilio::message($message_array,$op="All set to true sms,mms,otp", true,  true,  true  ); // sms , otp , media
Twilio::message($message_array,$op="all set to false", false, false, false );            // none defined
Twilio::message($message_array,$op="all considered to be false");                        // none defined
Twilio::message($message_array); 


SENDING SMS


<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Http\Requests; use App\Http\Controllers\Controller; use Twilio; /** * Twilio - Package usage Example * * @access public * @since 1.2.0 * @author lakshmaji */ class TwilioTest extends Controller { public function testMesssage() { // initialize message array $message_array = array( 'sender_id' => 'TWILIO_AUTH_ID', 'sender_secret' => 'TWILIO_AUTH_SECRET', 'reciver_mobile' => '999999999', 'media_url' => 'http://goo.gl/F9igRq', 'otp' =>'325565', 'sender' => 'TWILIO_SOURCE_NUMBER' ); // This will send message only $sms_response = Twilio::message($message_array,$op="only msg", true, false, false ); return response()->json($sms_response,200); } } // end of class TwilioTest // end of file TwilioTest.php

Example code for Laravel along with sample .env file

.env file, (*8)


APP_ENV=local APP_DEBUG=true APP_KEY=BPfhzoGJ7RJB8D3qoyP6KZ2MjX2MAzcN DB_HOST=127.0.0.1 DB_DATABASE=homestead DB_USERNAME=homestead DB_PASSWORD=secret CACHE_DRIVER=file SESSION_DRIVER=file QUEUE_DRIVER=sync REDIS_HOST=127.0.0.1 REDIS_PASSWORD=null REDIS_PORT=6379 MAIL_DRIVER=smtp MAIL_HOST=mailtrap.io MAIL_PORT=2525 MAIL_USERNAME=null MAIL_PASSWORD=null MAIL_ENCRYPTION=null TWILIO_SOURCE_MOBILE_NUMBER=+44778338721 TWILIO_USER_ID=ACef0d5a519rwetbf821ea07c2fdbfd8204e TWILIO_USER_PASSWORD=a0fb23srfdsf4825cbb9501df25b906a74

The code to use above ".env" file is given below, (*9)


<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Http\Requests; use App\Http\Controllers\Controller; use Twilio; /** * Twilio - Package usage Example * * @access public * @since 1.2.0 * @author lakshmaji */ class TwilioTest extends Controller { public function testMesssage() { // initialize message array $message_array = array( 'sender_id' => 'TWILIO_USER_ID', 'sender_secret' => 'TWILIO_USER_PASSWORD', 'reciver_mobile' => '99999999999', 'media_url' => 'http://goo.gl/F9igRq', 'otp' =>'325456', 'sender' => 'TWILIO_SOURCE_MOBILE_NUMBER' ); // This will send OTP only $sms_response = Twilio::message($message_array,$op="otp only", false, true, false ); // otp return response()->json($sms_response,200); } } // end of class TwilioTest // end of file TwilioTest.php

Handling Exceptions

<?php

namespace App\Exceptions;

use Exception;
use Lakshmaji\Twilio\Exception\TwilioException;


/**
 * Twilio - A Simple Exception handler class to Catch
 * Exceptions thrown by TwilioException class 
 *
 * @author   lakshmaji 
 */
class Handler extends ExceptionHandler
{

    //....
    //.................
    //....

     /**
     * Render an exception into an HTTP response.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Exception  $e
     * @return \Illuminate\Http\Response
     */
    public function render($request, Exception $e)
    {
        if($e instanceof TwilioException)
        {
            return response()->json(array('message'=>$e->getMessage(),'status' =>$e->getStatusCode()),500);
        }
        return parent::render($request, $e);
    }
}

In laravel we can easily handle the errors by using Handler.php (You can use custom Exception Handlr too), (*10)


TWILIO TRAIL ACCOUNT USAGE:

  • If You are trying to implement SMS functionality with Twilio the you need to verify the list of destination mobile numbers at Twilio VERIFIED NUMBERS
  • Before sending MESSAGE make sure that you have enabled GEO-PERMISSIONS at Twilio GEO PERMISSIONS

Licence

MIT License (MIT), (*11)

@ MUTYALA ANANTHA LAKSHMAJI, (*12)

The Versions

19/05 2017

dev-master

9999999-dev

SMS sending using Twilio

  Sources   Download

MIT

The Requires

 

by Avatar lakshmaji

laravel php composer twilio

22/04 2017

v1.2.3

1.2.3.0

SMS sending using Twilio

  Sources   Download

MIT

The Requires

 

by Avatar lakshmaji

laravel php composer twilio

30/01 2017

v1.2.2

1.2.2.0

SMS sending using Twilio

  Sources   Download

MIT

The Requires

 

by Avatar lakshmajim

laravel php composer twilio

09/06 2016

v1.2.1

1.2.1.0

SMS sending using Twilio

  Sources   Download

MIT

The Requires

 

by Avatar lakshmajim

twilio

09/06 2016

v1.2.0

1.2.0.0

SMS sending using Twilio

  Sources   Download

MIT

The Requires

 

by Avatar lakshmajim

twilio

21/04 2016

v1.0.3

1.0.3.0

SMS sending using Twilio

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

by Avatar lakshmajim

twilio

22/02 2016

v1.0.1

1.0.1.0

SMS sending using Twilio

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

by Avatar lakshmajim

twilio

22/02 2016

v1.0.2

1.0.2.0

SMS sending using Twilio

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

by Avatar lakshmajim

twilio

17/02 2016

v1.0.0

1.0.0.0

SMS sending using Twilio

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

by Avatar lakshmajim

twilio