Membuat SMS Gateway Dengan Nexmo Di Laravel

Membuat SMS Gateway Dengan Nexmo Di Laravel

Admin
Admin・ 3 September 2020
7 min read ・ 1111 views

SMS GATEWAY NEXMO - Di nexmo, kita bisa menggunakan versi gratis dengan limit credit 2 euro yang bisa kita gunakan testing atau belajar membuat sms gateway dengan nexmo. OK, langsung saja kita pada langkah pertama. 

1. Langkah pertama adalah dengan membuat account di nexmo.com

Membuat SMS Gateway Dengan Nexmo Di Laravel

Setelah berhasil membuat account di nexmo, maka kita akan mendapatkan Key dan secret seperti gambar di bawah ini.

Membuat SMS Gateway Dengan Nexmo Di Laravel

Key dan Secret ini akan kita gunakan pada langkah no. 7.

2. Langkah kedua adalah menginstall laravel dengan command

 composer create-project --prefer-dist laravel/laravel nexmo
Membuat SMS Gateway Dengan Nexmo Di Laravel

pada terminal. Dengan command seperti di atas, saya akan menginstall laravel dengan versi terbaru (--prefer-dist) dan akan saya beri nama project ini "nexmo".

3. Buka project nexmo yang baru diinstall pada direktori installan (htdocs/nexmo). Pada percobaan ini, saya menggunakan Visual Studio Code sehingga step-stepnya masuk folder nexmo di dalam direktori htdocs/nexmo. Kemudian klik kanan, pilih "Open With Code".

4. Install nexmo dengan composer. Jalankan command seperti di bawah ini pada terminal

composer require nexmo/laravel
Membuat SMS Gateway Dengan Nexmo Di Laravel

5. Kemudian jalankan command vendor:publish seperti di bawah ini.

php artisan vendor:publish

 

Membuat SMS Gateway Dengan Nexmo Di Laravel

Kemudian pilih Provider: Nexmo\Laravel\NexmoServiceProvider atau ketikkan angka 8 pada terminal kemudian Enter.

6. Buka Config/app.php. Tambahkan script di bawah ini pada bagian Provider.

Nexmo\Laravel\NexmoServiceProvider::class,

Dan script di bawah ini pada bagian Aliases.

'Nexmo' => \Nexmo\Laravel\Facade\Nexmo::class,

7. Kemudian buka file nexmo.php yang terletak di config/nexmo.phpUbah script di bawah ini

 'api_key'    => function_exists('env') ? env('NEXMO_KEY', '') : '',

 'api_secret' => function_exists('env') ? env('NEXMO_SECRET', '') : '',

 

 

Menjadi seperti ini

 'api_key'    => '7ba7f0e5',

 'api_secret' => 'Ki2GuZzKXoy4qriM', 

api key dan api secret ini di dapat dari Website Resmi Nexmo (Langkah no. 1)

8. Langkah selanjutnya adalah membuat controller dengan artisan.

Di controller ini nanti akan digunakan untuk meload view form yang akan digunakan untuk menampilkan form-form tester.

OK, kita buat controllernya dahulu dengan command di bawah ini

php artisan make:controller NexmoController
Membuat SMS Gateway Dengan Nexmo Di Laravel

dengan command artisan di atas, saya akan membuat controller baru dengan nama NexmoController.

Buka file NexmoController di folder app/Http/Controllers/NexmoController.php. Edit script di file tersebut menjadi seperti di bawah ini.

<?php

namespace App\Http\Controllers;
use Illuminate\Http\Request;
class NexmoController extends Controller
{
    public function index()
    {
        return view('nexmo');
    }

    public function store(Request $request)
    {
        $nexmo = app('Nexmo\Client');
        $nexmo->message()->send([
            'to' => $request->no_hp,
            'from' => 'Hilmi Purdimen',
            'text' => $request->pesan,
        ]);

        return back();
    }
} 

di function index, kita akan menampilkan view pada file nexmo.blade.blade yang akan kita buat pada langkah selanjutnya.

Kemudian di function store, kita sisipkan script yang berfungsi untuk mengirim pesan dengan value yang akan kita inputkan pada form di vew nexmo.blade.php nanti.

9. Selanjutnya adalah membuat route di file web.php yang terdapat di folder route. Buka file web.php, dan tambahkan script di bawah ini.

Route::get('/nexmo','[email protected]');

Route::post('/nexmo','[email protected]')->name('nexmo.submit'); 

Maksud script di atas adalah, ketika kita mengakses url http://127.0.0.1:8000/nexmo maka akan memanggil function index di NexmoController. Jika kita lihat di NexmoController, function index akan menampilkan view nexmo (nexmo.blade.php)

Kemudian terdapat route dengan method post yang berfungsi untuk menangkap apa yang telah kita inputkan pada form nexmo.balde.php yang akan kita buat di langkah selanjutnya.

10. Di langkah no. 10, kita akan membuat view yang dapat kita gunakan untuk input no. handphone tujuan dan pesan yang dikirimkan. OK, buat file baru di view dengan nama nexmo.blade.php dan masukkan script di bawah ini.

<form action="{{route('nexmo.submit')}}" method="POST">

{{ csrf_field() }}


<label for="hp">Masukkan No. HP *</label>

<input type="number" name="no_hp" id="hp" placeholder="Masukkan No. HP" required>

<label for="pesan">Masukkan Pesan</label>

<input type="text" name="pesan" id="pesan" placeholder="Masukkan Pesan"  required>

<button name="submit" type="submit">Kirim Pesan</button>    

</form>

Maksud dari script di atas, kita akan membuat form dengan action atau ketika kita submit (kirim pesan), akan menjalankan route dengan name nexmo.submit yang artinya akan memanggil function store di NexmoController.

OK, kita sudah bisa test kirim pesan atau sms gateway dengan nexmo. Buka URL http://127.0.0.1:8000/nexmo , maka akan menampilkan seperti gambar di bawah ini

 

Membuat SMS Gateway Dengan Nexmo Di Laravel

Untuk mengetesnya, masukkan nomor handphone atau ponsel aktifmu (contoh format: 6282143xxxxxx). Kemudian inputkan atau masukkan pesan dan klik button kirim pesan.

OK, kita sudah berhasil membuat sms gateway dengan nexmo di laravel.

Tinggalkan Komentar
Loading Comments