siputzx-api
v0.0.1
Published
Module Wrapper For Siputzx API
Downloads
19
Maintainers
Readme
SiputzxAPI Wrapper
Wrapper TypeScript untuk SiputzxAPI (https://api.siputzx.my.id) dengan kemampuan otomatis mengambil endpoint.
Instalasi
npm install siputzx-api
Cara Penggunaan
Penggunaan Dasar
import { SiputzxAPI } from 'siputzx-api';
// Inisialisasi client API
const api = new SiputzxAPI({
BASE_URL: 'https://api.siputzx.my.id', // Opsional, default ke URL ini
apikey: 'your-api-key' // Opsional
});
// Semua endpoint akan otomatis diambil dari API
await api.initializeEndpoints();
// Metode request generik
async function contohRequest() {
// Request GET
const getData = await api.get('/api/endpoint', { param1: 'value1' });
console.log(getData);
// Request POST
const postData = await api.post('/api/endpoint', { param1: 'value1' });
console.log(postData);
}
contohRequest().catch(console.error);
Menggunakan Endpoint AI
import { SiputzxAPI } from 'siputzx-api';
const api = new SiputzxAPI();
await api.initializeEndpoints();
async function testAIEndpoints() {
try {
// Menggunakan Llama 3.3
const llama33Response = await api.ai.llama33({
prompt: 'Be a helpful assistant',
text: 'hi'
});
console.log('Respons Llama 3.3:', llama33Response);
// Menggunakan Meta Llama 3.3-70B
const metaLlamaResponse = await api.ai.metaLlama33_70BInstructTurbo({
content: 'hai'
});
console.log('Respons Meta Llama:', metaLlamaResponse);
// Menggunakan Nous Hermes
const nousHermesResponse = await api.ai.nousHermes({
content: 'hai'
});
console.log('Respons Nous Hermes:', nousHermesResponse);
// Menggunakan Joko Sijawa
const jokoResponse = await api.ai.joko({
content: 'hai'
});
console.log('Respons Joko:', jokoResponse);
} catch (error) {
console.error('Error:', error);
}
}
testAIEndpoints();
Auto-Discovery Endpoint
Wrapper ini secara otomatis mengambil dan menyiapkan semua endpoint yang tersedia dari API. Semua endpoint dikelompokkan berdasarkan kategori (seperti "ai" untuk AI endpoints).
import { SiputzxAPI } from 'siputzx-api';
async function explorerEndpoints() {
const api = new SiputzxAPI();
// Tunggu hingga endpoint selesai di-load
await api.initializeEndpoints();
// Dapatkan endpoint yang tersedia
const endpoints = await api.getEndpoints();
// Cek kategori yang tersedia
console.log('Kategori yang tersedia:', Object.keys(endpoints.routes));
// Contoh pengaksesan kategori "Ai"
if (endpoints.routes.Ai) {
console.log('Endpoint AI:', endpoints.routes.Ai.endpoints.map(e => e.name));
}
// Menggunakan endpoint dari kategori yang ditemukan secara dinamis
const categoryKeys = Object.keys(api);
console.log('Kategori yang tersedia di wrapper:', categoryKeys.filter(k => typeof api[k] === 'object'));
}
explorerEndpoints();
Melihat Parameter Contoh
Setiap endpoint memiliki parameter contoh yang dapat diakses:
import { SiputzxAPI } from 'siputzx-api';
async function checkExampleParams() {
const api = new SiputzxAPI();
await api.initializeEndpoints();
// Akses parameter contoh untuk endpoint Llama33
if (api.ai && api.ai.llama33) {
console.log('Parameter contoh untuk Llama33:', api.ai.llama33.exampleParams);
// Output: { prompt: 'Be a helpful assistant', text: 'hi' }
}
}
checkExampleParams();
Fitur
- 🚀 Otomatis mengambil endpoint dari API
- 🔍 Auto-discovery endpoint berdasarkan kategori
- 📝 Parameter contoh untuk setiap endpoint
- 🔄 Dukungan metode HTTP (GET, POST)
- 🔐 Dukungan API key authentication