reksols-recommendation-sdk
v0.1.0
Published
JavaScript SDK for the AI Recommendation Engine
Readme
reksols-recommendation-sdk
JavaScript SDK for the AI Recommendation Engine. Enables merchants to easily integrate product recommendations, event tracking, and user personalization into their storefronts.
Installation
npm install reksols-recommendation-sdkQuick Start
import { RecommendationSDK } from "reksols-recommendation-sdk"
const sdk = new RecommendationSDK()
// Initialize with your API key
await sdk.init({
apiKey: "pk_your_api_key_here",
baseUrl: "https://your-api-url.com", // Optional, defaults to localhost:3000
debug: true, // Optional, enables console logging
})
// Track a product view
sdk.trackView("product-123")
// Track a search
sdk.trackSearch("gaming laptop")
// Track add to cart
sdk.trackAddToCart("product-123", 2)
// Track a purchase
sdk.trackPurchase(["product-123", "product-456"], "order-789")
// Get recommendations
const recommendations = await sdk.getRecommendations({
productId: "product-123",
limit: 5,
})
console.log(recommendations)
// [
// {
// id: '...',
// externalId: 'product-456',
// name: 'Gaming Keyboard',
// price: 150,
// score: 0.85,
// reason: 'category + user_affinity'
// },
// ...
// ]User Identification
For personalized recommendations, set the user ID after login:
sdk.setUserId("user-123")Session Management
The SDK automatically manages session IDs using localStorage. You can access or clear the session:
// Get current session ID
const sessionId = sdk.getSessionId()
// Clear session (useful on logout)
sdk.logout()API Reference
RecommendationSDK
init(config: SDKConfig): Promise<void>
Initialize the SDK with your API key.
trackView(productId: string, metadata?: object): void
Track a product view event.
trackSearch(query: string): void
Track a search event.
trackAddToCart(productId: string, quantity?: number): void
Track an add-to-cart event.
trackPurchase(productIds: string[], orderId?: string): void
Track a purchase event.
setUserId(userId: string): void
Set the user ID for personalized recommendations.
getRecommendations(options?: RecommendationOptions): Promise<Recommendation[]>
Fetch product recommendations.
getSessionId(): string
Get the current session ID.
logout(): void
Clear session and reset SDK state.
destroy(): void
Clean up resources (call when unmounting).
License
MIT
