CSAT Integration¶
The CSAT (Customer Satisfaction) integration provides the Stratpoint Timesheet Application with access to customer satisfaction filter data and reference information for reporting and analytics purposes.
Integration Overview¶
CSAT System Architecture¶
graph TB
A[CSAT Application] --> B[CSAT Integration Layer]
B --> C[Filter Data API]
C --> D[Reference Data]
D --> E[Customer IDs]
D --> F[Satisfaction Categories]
D --> G[Survey Types]
D --> H[Rating Scales]
I[Timesheet Application] --> B
Key Features¶
- Filter Data Access: Retrieve CSAT-related filter options for reporting
- Reference Data Integration: Access to customer satisfaction categories and types
- Lightweight Integration: Simple API endpoint for basic data exchange
- Authentication Security: App-to-app authentication with rate limiting
API Endpoints¶
The CSAT integration provides a single endpoint for accessing filter data:
Base URL¶
Authentication¶
All CSAT endpoints use app-to-app authentication with the timesheet.authAppBulongOnly:csat middleware.
Rate Limiting¶
- Rate Limit: 50 requests per minute
- Throttling: Automatic throttling applied via Laravel middleware
Available Endpoint¶
Filter Data Retrieval¶
Endpoint: POST /api/v2/csat/getIdList
Provides bulk filter data for CSAT-related queries and reporting.
Request Parameters:
Response: Returns available filter options for CSAT queries including customer type IDs, satisfaction level categories, survey type IDs, and rating scale definitions.
Example Response:
{
"customer_types": [
{"id": 1, "name": "Enterprise"},
{"id": 2, "name": "SMB"},
{"id": 3, "name": "Startup"}
],
"satisfaction_levels": [
{"id": 1, "name": "Very Satisfied"},
{"id": 2, "name": "Satisfied"},
{"id": 3, "name": "Neutral"},
{"id": 4, "name": "Dissatisfied"},
{"id": 5, "name": "Very Dissatisfied"}
],
"survey_categories": [
{"id": 1, "name": "Project Completion"},
{"id": 2, "name": "Service Quality"},
{"id": 3, "name": "Communication"}
]
}
Usage Guidelines¶
Integration Usage¶
The CSAT integration is designed for:
- Reference Data Queries: Retrieving filter options for customer satisfaction reporting
- Report Generation: Supporting CSAT-related reporting within the timesheet application
- Data Consistency: Ensuring consistent customer satisfaction categories across systems
Error Handling¶
// CSAT Error Handling
function handleCSATError(error, requestData) {
const errorLog = {
timestamp: new Date(),
endpoint: 'getIdList',
error_type: error.type || 'unknown',
message: error.message,
request_data: requestData
};
logCSATError(errorLog);
// Simple retry logic for the single endpoint
switch (error.type) {
case 'timeout':
return retryRequest(requestData);
case 'authentication_failed':
return refreshAuthAndRetry(requestData);
default:
return escalateError(errorLog);
}
}
This CSAT integration provides essential filter data for customer satisfaction reporting within the Stratpoint Timesheet Application, enabling consistent categorization and analysis of customer satisfaction metrics.