apparatus-sdk
Version:
JavaScript SDK for Apparatus.ai
61 lines (45 loc) • 1.58 kB
JavaScript
class ApparatusAI {
constructor(apiToken) {
if (!apiToken || !apiToken.startsWith("apai_")) {
throw new Error("Invalid API token. It must start with 'apai_'.");
}
this.apiToken = apiToken;
this.baseURL = "https://app.apparatusai.space/api";
}
async request(endpoint, method = "GET", body = null) {
const headers = {
"Authorization": `Bearer ${this.apiToken}`,
"Content-Type": "application/json",
};
const options = {
method,
headers,
body: body ? JSON.stringify(body) : null,
};
const response = await fetch(`${this.baseURL}${endpoint}`, options);
const text = await response.text();
console.log(`Response from ${endpoint}:`, text);
if (!text) {
throw new Error(`Empty response from ${endpoint}`);
}
try {
const data = JSON.parse(text);
if (!response.ok) {
throw new Error(data.error || "API request failed");
}
return data;
} catch (error) {
throw new Error(`Invalid JSON response: ${text}`);
}
}
async getUserInfo() {
return this.request("/user/info");
}
async forecast(data) {
return this.request("/forecast", "POST", { data });
}
async analyzeSocialTrends(params) {
return this.request("/social-analysis", "POST", params);
}
}
module.exports = ApparatusAI;