1. Go to this page and download the library: Download mane-olawale/laravel-termii 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/ */
use ManeOlawale\Laravel\Termii\Facades\Termii;
Termii::send('2347041945964', 'Hello World!');
# With sender id and channel
Termii::send('2347041945964', 'Hello World!', 'Olawale', 'generic');
use ManeOlawale\Laravel\Termii\Facades\Termii;
// @return \ManeOlawale\Termii\Api\Sender
Termii::sender();
// @return \ManeOlawale\Termii\Api\Sms
Termii::sms();
// @return \ManeOlawale\Termii\Api\Token
Termii::token();
// @return \ManeOlawale\Termii\Api\Insights
Termii::insights();
// On the client
$client->sender->request('Olawale', 'Friendship based notification', 'Olawale INC');
// On the facade class
Termii::sender()->request('Olawale', 'Friendship based notification', 'Olawale INC');
use Illuminate\Bus\Queueable;
use Illuminate\Notifications\Notification;
use ManeOlawale\Laravel\Termii\Messages\Message as TermiiMessage;
class WelcomeText extends Notification
{
use Queueable;
/**
* Get the notification's delivery channels.
*
* @param mixed $notifiable
* @return array
*/
public function via($notifiable)
{
return ['termii'];
}
/**
* Get the termii sms representation of the notification.
*
* @param mixed $notifiable
* @return \ManeOlawale\Laravel\Termii\Messages\Message
*/
public function toTermii($notifiable)
{
return (new TermiiMessage)
->line('The introduction to the notification.')
->line('Thank you for using our application!');
}
}
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;
class User extends Authenticatable //implements MustVerifyEmail
{
use HasFactory, Notifiable;
public function routeNotificationForTermii()
{
return $this->phone;
}
}
# Using constructor
$message = new TermiiMessage('Olawale wants to connect with you.');
# Using the line method
$message = (new TermiiMessage)
->line('Debit Alert!')
->line('Acct: *******324')
->line('Amt: 21,500.00')
->line('DESC: squander am!')
->line('Trx: 37373-3843-4')
->line('Time: 22/02/2022|4:32 PM')
->line('Avail Bal: 3,642,873.00')
->line('Total Bal: 3,742,873.00');
# Overwriting the content
$message->content('Olawale is your first contributor.');
# Getting the content
$message->getContent();
/**
* Get the termii sms representation of the notification.
*
* @param mixed $notifiable
* @return \ManeOlawale\Laravel\Termii\Messages\Message
*/
public function toTermii($notifiable)
{
return (new TermiiMessage('Someone wants to connect with you.'))
->from('sender_id')
->channel('generic')
->type('unicode')
->unicode()
->line('Thank you for using our application!');
}
use ManeOlawale\Laravel\Termii\Facades\Termii;
$otp = Termii::OTP('login_account');
# Set Number
$otp->to('2347041945964');
# Set text
$otp->text('{pin} is your account activation code');
# Send the OTP
$otp->start();
use ManeOlawale\Laravel\Termii\Facades\Termii;
$otp = Termii::OTP('login_account');
# Set Number
$otp->to('2347041945964');
# Set text
$otp->text('{pin} is your account activation code');
# Send the OTP
$otp->start();
$encrypted = $otp->signature(); // eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQi...
use ManeOlawale\Laravel\Termii\Facades\Termii;
$otp = Termii::OTP('login_account');
# Set Number
$otp->to('2347041945964');
# Set text
$otp->text('{pin} is your account activation code');
# Set text
$otp->inApp();
# Send the OTP
$otp->start();
# Send the OTP
$otp->start();
# Get the pin id
$otp->id();
# Get the tag
$otp->tag();
# Check if the OTP has expired
$otp->isValid();
# Get the pin only for in app tokens
$otp->pin();
use ManeOlawale\Laravel\Termii\Facades\Termii;
// Regular
$otp = Termii::OTP('login_account')->to('2347041945964')
->text('{pin} is your account activation code')->start();
// In App
$otp = Termii::OTP('login_account')->to('2347041945964')
->text('{pin} is your account activation code')->inApp()->start();
use GuzzleHttp\Psr7\Response;
use ManeOlawale\Laravel\Termii\Testing\Sequence;
$sequence = Sequence::create(
new Response(200),
new Response(300),
new Response(400)
);
$sequence->next(); // new Response(200);
$sequence->next(); // new Response(300);
$sequence->next(); // new Response(400);
$sequence->next(); // new Response(200);
$sequence->count(); // int: 3
# This is the number of times the sequence start all over.
$sequence->rotation(); // int: 1
use GuzzleHttp\Psr7\Response;
use ManeOlawale\Laravel\Termii\Facades\Termii;
use ManeOlawale\Laravel\Termii\Testing\Sequence;
Termii::fake();
Termii::mock('send', Sequence::create(new Response(
200,
['Content-Type' => 'application/json'],
json_encode($data = [
'message_id' => '9122821270554876574',
'message' => 'Successfully Sent',
'balance' => 9,
'user' => 'Peter Mcleish'
])
)));
$this->get('/send_text'); // Let us assume message was sent twice
Termii::assertSent('send');
# Assert the message was sent twice
Termii::assertSentTimes('send', 2);
use GuzzleHttp\Psr7\Response;
use ManeOlawale\Laravel\Termii\Facades\Termii;
use ManeOlawale\Laravel\Termii\Testing\Sequence;
Termii::fake();
$this->get('/send_text'); // Let us assume no message was sent
Termii::assertNotSent('send');
# Assert the message was sent twice
Termii::assertSentTimes('send', 0);
use GuzzleHttp\Psr7\Response;
use ManeOlawale\Laravel\Termii\Facades\Termii;
use ManeOlawale\Laravel\Termii\Testing\Sequence;
Termii::fake();
Termii::mock('send', Sequence::create(new Response(
200,
['Content-Type' => 'application/json'], '{}'
), new Response(
200,
['Content-Type' => 'application/json'], '{}'
), new Response(
422,
['Content-Type' => 'application/json'], '{}'
)));
/**
* Let us assume message was sent three times.
* This means one wont be successful
*/
$this->get('/send_text');
# For successful requests
Termii::assertSentSuccessful('send');
# Assert the message was sent successfully twice
Termii::assertSentSuccessfulTimes('send', 2);
# For failed requests
Termii::assertSentFailed('send');
# Assert the message failed once
Termii::assertSentFailedTimes('send', 1);
use GuzzleHttp\Psr7\Response;
use ManeOlawale\Laravel\Termii\Facades\Termii;
use ManeOlawale\Laravel\Termii\Testing\Sequence;
Termii::fake();
Termii::mock('send', Sequence::create(new Response(
200,
['Content-Type' => 'application/json'],
json_encode([
'message_id' => '9122821270554876574',
'message' => 'Successfully Sent',
'balance' => 9,
'user' => 'Peter Mcleish'
])
)));
$this->get('/send_text'); // Let us assume message was sent once
Termii::assert('send', function ($pair) {
//Correct alias
$this->assertSame('send', $pair['alias']);
//Check if what happened between the request and response was successful
$this->assertTrue($pair['successful']);
});
use GuzzleHttp\Psr7\Response;
use ManeOlawale\Laravel\Termii\Facades\Termii;
use ManeOlawale\Laravel\Termii\Testing\Sequence;
Termii::fake();
Termii::mock('send', Sequence::create(new Response(
200,
['Content-Type' => 'application/json'], '{}'
), new Response(
422,
['Content-Type' => 'application/json'], '{}'
)));
$this->get('/send_text'); // Let us assume message was sent twice
Termii::assert('send', Sequence::create(
function ($pair) {
//Correct alias
$this->assertSame('send', $pair['alias']);
//Check if what happened between the request and response was successful
$this->assertTrue($pair['successful']);
},
function ($pair) {
//Correct alias
$this->assertSame('send', $pair['alias']);
//Check if what happened between the request and response was not successful
$this->assertNotTrue($pair['successful']);
}
));
use GuzzleHttp\Psr7\Response;
use ManeOlawale\Laravel\Termii\Facades\Termii;
Termii::fake();
Termii::fallbackResponse(new Response(
400,
['Content-Type' => 'application/json'],
json_encode([
'message' => 'Error'
])
));
$this->get('/send_text'); // Let us assume message was sent once
# Assert the failed request
Termii::assertSentFailed('send');
# Assert the message failed once
Termii::assertSentFailedTimes('send', 1);
bash
php artisan termii:install
bash
php artisan make:notification WelcomeText
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.