Sebelum memulai praktik, pastikan Anda telah memahami konsep dasar pada materi kelas AI Agent & PHP di infokoding.

BAB 4

Mendapatkan API Key OpenAI

Cara membuat akun OpenAI, mendapatkan API Key, menyimpannya dengan aman di environment variable, dan menguji koneksi API OpenAI pertama kali menggunakan PHP.

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-mini untuk development karena paling hemat biaya.
  • Uji koneksi dengan request curl atau kode PHP sederhana.

Membuat Akun OpenAI

  1. Buka platform.openai.com
  2. Klik Sign Up dan daftar menggunakan email atau akun Google/Microsoft.
  3. Verifikasi nomor telepon Anda.
  4. Setelah login, pergi ke menu Billing dan tambahkan payment method.
  5. 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

  1. Login ke platform.openai.com
  2. Klik menu API Keys di sidebar kiri.
  3. Klik tombol Create new secret key.
  4. Beri nama key Anda (misal: "php-ai-agent-dev").
  5. 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.