Membuat SMS Gateway Dengan Nexmo Di Laravel
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
Setelah berhasil membuat account di nexmo, maka kita akan mendapatkan Key dan secret seperti gambar di bawah ini.
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
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
5. Kemudian jalankan command vendor:publish seperti di bawah ini.
php artisan vendor:publish
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
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','NexmoController@index');
Route::post('/nexmo','NexmoController@store')->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
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.
- Cara Mengatasi Error XAMPP: MySQL shutdown unexpectedly 23 Oktober 2021 65579 views
- Laravel 8: REST API Authentication dengan Sanctum 17 September 2021 31644 views
- Tutorial CRUD (Create, Read, Update & Delete) Codeigniter 4 dengan Bootstrap 14 Oktober 2021 29583 views
- Membuat REST API CRUD di Laravel 8 dengan Sanctum 18 September 2021 28216 views
- Contoh Cara Menggunakan Sweet Alert di Laravel 8 27 Agustus 2021 27270 views