Skip to content

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

/api/v2/csat/

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:

{
    "filters": ["customer_types", "satisfaction_levels", "survey_categories", "rating_scales"]
}

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.