Cara membuat akun OpenAI, mendapatkan API Key, menyimpannya dengan aman di environment variable, dan menguji koneksi API OpenAI pertama kali menggunakan PHP.
Daftar Isi
Terakhir diperbarui:
TL;DR (Ringkasan Cepat)
- Buat akun di platform.openai.com dan top-up minimal kredit.
- Generate API Key di menu API Keys dan simpan di file
.env. - Gunakan model
gpt-4o-miniuntuk development karena paling hemat biaya. - Uji koneksi dengan request
curlatau kode PHP sederhana.
Membuat Akun OpenAI
- Buka platform.openai.com
- Klik Sign Up dan daftar menggunakan email atau akun Google/Microsoft.
- Verifikasi nomor telepon Anda.
- Setelah login, pergi ke menu Billing dan tambahkan payment method.
- Top-up saldo minimal $5 untuk mulai menggunakan API (cukup untuk ribuan percobaan dengan model mini).
Tips Biaya
Gunakan gpt-4o-mini selama development. Harganya ~60x lebih murah dari gpt-4o dan sudah cukup powerful untuk belajar dan prototyping. Hanya upgrade ke model yang lebih besar untuk production jika benar-benar diperlukan.
Membuat API Key
- Login ke platform.openai.com
- Klik menu API Keys di sidebar kiri.
- Klik tombol Create new secret key.
- Beri nama key Anda (misal: "php-ai-agent-dev").
- Salin API Key yang muncul — ini adalah satu-satunya kesempatan untuk melihatnya!
Menyimpan API Key dengan Aman
Simpan API Key di file .env Anda, bukan hard-coded di kode PHP:
# .env
OPENAI_API_KEY=sk-proj-xxxxxxxxxxxxxxxxxxxxxxxxxxxx
OPENAI_MODEL=gpt-4o-mini
OPENAI_MAX_TOKENS=4096
Menguji Koneksi API
Buat file test-api.php untuk memverifikasi bahwa koneksi ke API OpenAI berhasil:
<?php
require_once __DIR__ . '/config/config.php';
$config = require __DIR__ . '/config/config.php';
$apiKey = $config['openai_api_key'];
if (empty($apiKey)) {
die("Error: OPENAI_API_KEY belum diisi di .env\n");
}
$payload = json_encode([
'model' => $config['openai_model'],
'messages' => [
['role' => 'user', 'content' => 'Halo! Balas dengan: Koneksi berhasil.'],
],
'max_tokens' => 50,
]);
$ch = curl_init('https://api.openai.com/v1/chat/completions');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => $payload,
CURLOPT_HTTPHEADER => [
'Content-Type: application/json',
'Authorization: Bearer ' . $apiKey,
],
CURLOPT_SSL_VERIFYPEER => true,
CURLOPT_TIMEOUT => 30,
]);
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
$curlError = curl_error($ch);
curl_close($ch);
if ($curlError) {
die("cURL Error: $curlError\n");
}
if ($httpCode !== 200) {
die("HTTP Error $httpCode: $response\n");
}
$data = json_decode($response, true);
$message = $data['choices'][0]['message']['content'] ?? 'Tidak ada respons';
echo "✅ Koneksi API OpenAI berhasil!\n";
echo "📝 Respons AI: $message\n";
echo "💰 Token digunakan: " . $data['usage']['total_tokens'] . "\n";
# Jalankan test
php test-api.php
# Output yang diharapkan:
# ✅ Koneksi API OpenAI berhasil!
# 📝 Respons AI: Koneksi berhasil.
# 💰 Token digunakan: 25
Poin Kunci Bab 4
API Key adalah "kunci brankas" untuk layanan AI Anda. Perlakukan dengan sangat hati-hati. Gunakan rotation key secara berkala dan set spending limit di dashboard OpenAI untuk menghindari tagihan tidak terduga.