OverviewAPI ReferenceTutorialChangelogStatus
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.

← SEBELUMNYA
SDK Python (requests & OpenAI)
SELANJUTNYA →
SDK PHP & Laravel
← Semua tutorial · API Reference
© 2026 SahabatMobile — PT BINA SEJAHTERA INOVASI DIGITAL Docs · API · Tutorial · Changelog · Status