UNPKG

apparatus-sdk

Version:

JavaScript SDK for Apparatus.ai

61 lines (45 loc) 1.58 kB
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;