Tutorial · Pemula · ±10 mnt
SDK Node.js (fetch & OpenAI)
Integrasi Node 18+ tanpa dependensi, plus opsi library openai.
1. Cara A — fetch bawaan (tanpa install apa pun)
Node 18+ sudah punya fetch global.
const res = await fetch("https://sahabatmobile.com/api/v1/chat/completions", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.SM_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "google/gemini-2.5-flash",
messages: [{ role: "user", content: "Halo!" }],
max_tokens: 300,
}),
});
if (!res.ok) {
const err = await res.json();
throw new Error(`HTTP ${res.status}: ${err?.error?.message}`);
}
const data = await res.json();
console.log(data.choices[0].message.content);
2. Cara B — library openai
Install: npm i openai. Praktis bila kode Anda sudah memakai SDK OpenAI.
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://sahabatmobile.com/api/v1",
apiKey: process.env.SM_API_KEY,
});
const c = await client.chat.completions.create({
model: "google/gemini-2.5-flash",
messages: [{ role: "user", content: "Buatkan slogan laundry kiloan." }],
});
console.log(c.choices[0].message.content);
3. Untuk Express/Fastify
Buat satu helper askAI(messages) dan panggil dari route Anda. Simpan key di .env, jangan pernah kirim key ke frontend browser.