- Development:
http://localhost:8000 - Production:
https://api.smartcommerce.com
Include API key in headers:
Authorization: Bearer <token>
Content-Type: application/json
GET /api/recommendations/{user_id}/Parameters:
user_id(int): User identifiercount(int, optional): Number of recommendations (default: 10)
Response:
{
"user_id": 123,
"recommendations": [
{
"product_id": 456,
"product_name": "Wireless Headphones",
"category": "Electronics",
"price": 99.99,
"confidence_score": 0.87,
"algorithm": "hybrid_ensemble"
}
],
"count": 10
}POST /api/interaction/Request Body:
{
"user_id": 123,
"product_id": 456,
"interaction_type": "purchase"
}POST /api/streaming-event/Request Body:
{
"user_id": "123",
"product_id": "456",
"event_type": "view",
"session_id": "session_abc123",
"device_type": "mobile",
"context": {}
}POST /api/ab-test/create/Request Body:
{
"experiment_id": "rec_test_v1",
"name": "Recommendation Algorithm Test",
"variants": [
{"name": "control", "config": {"algorithm": "collaborative"}},
{"name": "treatment", "config": {"algorithm": "deep_learning"}}
],
"traffic_allocation": {"control": 0.5, "treatment": 0.5},
"success_metrics": ["click_through_rate", "conversion_rate"],
"start_date": "2024-01-01T00:00:00Z",
"end_date": "2024-01-14T23:59:59Z",
"minimum_sample_size": 1000
}GET /api/performance-metrics/Response:
{
"performance": {
"total_requests": 12345,
"average_latency_ms": 145,
"cache_hit_rate": 0.93,
"active_users": 2847
},
"realtime": {
"recommendations_served_last_hour": 1234,
"clicks_last_hour": 456,
"ctr_last_hour": 0.37
},
"daily": {
"recommendations_served": 50000,
"recommendation_clicks": 18500,
"click_through_rate": 0.37
}
}POST /api/upload-dataset/Form Data:
file: CSV filedataset_type: "interactions" | "items" | "users"
POST /api/enhanced-train/Request Body:
{
"dataset_ids": [1, 2, 3],
"config": {
"embedding_dim": 64,
"learning_rate": 0.001,
"epochs": 50
}
}GET /api/model-metrics/All endpoints return consistent error responses:
{
"error": "Invalid parameter",
"details": "User ID must be a positive integer"
}- API endpoints: 100 requests/minute
- ML training: 10 requests/hour
- Bulk operations: 5 requests/hour
GET /health/
GET /ready/