http://localhost:5000/api
Check if the service is running.
Request:
GET /api/healthResponse:
{
"status": "healthy",
"service": "SmartSupport AI",
"version": "1.0.0"
}Process a text-based customer inquiry.
Request:
POST /api/chat
Content-Type: application/json
{
"query": "What is your pricing?",
"session_id": "optional-session-id"
}Response:
{
"type": "text",
"query": "What is your pricing?",
"response": "Our pricing starts at $29/month...",
"confidence": 0.95,
"intent": "pricing",
"sentiment": "neutral",
"response_time_ms": 12.5,
"session_id": "session-123",
"timestamp": 1234567890.123
}Fields:
query(required): Customer questionsession_id(optional): Session identifier for tracking conversations
Process a voice-based customer inquiry.
Request:
POST /api/voice
Content-Type: application/json
{
"audio_data": "base64-encoded-audio-data",
"format": "wav",
"session_id": "optional-session-id"
}Response:
{
"type": "voice",
"transcription": "What are your features?",
"response_text": "SmartSupport AI offers...",
"response_audio": "base64-encoded-audio-response",
"confidence": 0.95,
"intent": "features",
"response_time_ms": 45.2,
"session_id": "session-123",
"timestamp": 1234567890.123,
"success": true
}Fields:
audio_data(required): Base64-encoded audio dataformat(optional): Audio format (wav, mp3, ogg), defaults to 'wav'session_id(optional): Session identifier
Get platform analytics and performance metrics.
Request:
GET /api/analyticsResponse:
{
"total_requests": 150,
"average_response_time_ms": 15.5,
"intent_distribution": {
"pricing": 45,
"features": 30,
"support": 25
},
"sentiment_distribution": {
"positive": 80,
"neutral": 60,
"negative": 10
},
"voice_requests": 50,
"text_requests": 100
}Clear analytics history (useful for testing).
Request:
POST /api/resetResponse:
{
"message": "History cleared successfully"
}All endpoints return appropriate HTTP status codes:
200 OK: Successful request400 Bad Request: Missing required fields or invalid data500 Internal Server Error: Server-side error
Error response format:
{
"error": "Error message describing what went wrong"
}The NLP agent recognizes the following customer intents:
- greeting: Hello, hi, good morning, etc.
- pricing: Questions about costs, plans, fees
- features: Inquiries about capabilities and functionality
- support: Help requests and issue reporting
- hours: Availability and schedule questions
- demo: Trial and testing requests
- integration: API and third-party integration questions
Currently, there are no rate limits. In production, consider implementing:
- Per-session rate limiting
- IP-based throttling
- API key authentication