Setelah sebelumnya kita membahas cara mengintegrasikan Twilio WhatsApp Gateway ke Laravel, kali ini kita akan melanjutkan ke tahap berikutnya: membuat bot AI berbasis ChatGPT yang bisa merespons pesan pengguna secara otomatis lewat WhatsApp.
Dengan kombinasi Twilio dan OpenAI API, kita bisa membuat asisten percakapan pintar yang berjalan langsung di WhatsApp. Prosesnya masih menggunakan struktur project Laravel yang sama dengan artikel sebelumnya, hanya saja kali ini kita akan menambahkan koneksi ke ChatGPT dan membuat alur komunikasi antar keduanya.
1. Menambahkan API Key OpenAI
Pertama, pastikan kamu sudah memiliki akun di OpenAI dan membuat API key.
Setelah itu, tambahkan konfigurasi berikut di file .env project Laravel kamu.
OPENAI_API_KEY=your_openai_api_key_here
Nantinya API key ini digunakan untuk mengirim permintaan ke ChatGPT dan menerima hasil respons dalam bentuk teks.
2. Membuat Service untuk Komunikasi dengan ChatGPT
Agar lebih terstruktur, kita buat service class baru untuk menangani komunikasi dengan ChatGPT.
Buat file baru di app/Services/ChatGptService.php dan tambahkan kode berikut.
<?php
namespace App\Services;
use Illuminate\Support\Facades\Http;
class ChatGptService
{
public function ask($prompt)
{
$response = Http::withToken(env('OPENAI_API_KEY'))
->post('https://api.openai.com/v1/chat/completions', [
'model' => 'gpt-3.5-turbo',
'messages' => [
['role' => 'user', 'content' => $prompt],
],
]);
if ($response->successful()) {
return $response['choices'][0]['message']['content'] ?? 'Maaf, saya tidak bisa memproses permintaan.';
}
return 'Terjadi kesalahan saat menghubungi ChatGPT.';
}
}
Class ini berfungsi untuk mengirim pesan ke ChatGPT dan menerima balasan yang dihasilkan AI.
3. Membuat Endpoint Webhook Twilio
Pada artikel sebelumnya, kita sudah berhasil mengirim pesan dari Laravel ke WhatsApp. Kali ini, kita akan menambahkan endpoint yang berfungsi menerima pesan masuk dari pengguna lewat Twilio, lalu meneruskannya ke ChatGPT, dan mengirimkan hasil balasannya kembali ke WhatsApp.
Buka file routes/web.php dan tambahkan route berikut.
use Illuminate\Http\Request;
use App\Services\ChatGptService;
Route::post('/whatsapp/webhook', function (Request $request, ChatGptService $chatGpt) {
$from = $request->input('From');
$message = $request->input('Body');
$reply = $chatGpt->ask($message);
$response = "<Response><Message>{$reply}</Message></Response>";
return response($response, 200)
->header('Content-Type', 'application/xml');
});
Saat pesan WhatsApp masuk, Twilio akan mengirim data ke endpoint ini. Laravel kemudian memanggil ChatGptService untuk memproses isi pesan, lalu mengembalikan hasil respons ke Twilio agar dikirim kembali ke pengguna.
4. Pengujian Bot AI
Jalankan server Laravel dan pastikan webhook Twilio sudah diarahkan ke endpoint /whatsapp/webhook.
Setelah itu, coba kirim pesan WhatsApp dari nomor yang terhubung ke sandbox Twilio.
Jika semua berjalan dengan benar, kamu akan menerima balasan dari bot ChatGPT sesuai dengan pesan yang kamu kirimkan. Contohnya, jika kamu mengetik "Halo", maka bot akan menjawab dengan teks hasil pemrosesan dari ChatGPT.
5. Pengembangan Lanjutan
Setelah fitur dasarnya berjalan, kamu bisa mengembangkan bot ini menjadi lebih interaktif. Misalnya dengan menambahkan fitur penyimpanan percakapan ke database, membuat log aktivitas pengguna, atau menyesuaikan gaya bahasa bot agar sesuai dengan karakter brand kamu.
Kamu juga bisa memanfaatkan Laravel Queue agar proses pengiriman pesan lebih efisien, terutama jika jumlah pengguna mulai meningkat. Prinsipnya sama seperti implementasi Queue pada pengiriman pesan Twilio yang sudah dibahas di artikel sebelumnya.
6. Kesimpulan
Dengan menggabungkan integrasi Twilio dan API ChatGPT, kamu bisa membangun bot AI WhatsApp yang benar-benar interaktif menggunakan Laravel. Struktur kodenya tetap sederhana dan mudah dipahami, karena semua logika komunikasi dengan Twilio dan ChatGPT dipisahkan ke dalam service masing-masing. Langkah berikutnya, kamu bisa menambahkan fitur lanjutan seperti personalisasi pesan, analisis konteks percakapan, atau sistem memori untuk bot agar bisa mengenali pengguna secara berkelanjutan.
Pada tahap ini, kamu sudah memiliki pondasi kuat untuk mengembangkan bot AI WhatsApp versi kamu sendiri. Artikel sebelumnya mengajarkan cara mengirim pesan lewat Twilio, dan artikel ini melengkapinya dengan kemampuan kecerdasan buatan. Keduanya saling terhubung, membentuk sistem komunikasi cerdas berbasis Laravel yang mudah untuk dikembangkan lebih jauh.