Chuyển tới nội dung chính

7. Analytics & Reporting

7.1 Get Conversion Funnel

GET /api/v1/analytics/conversion-funnel

Get conversion funnel metrics.

Query Parameters:

  • dateFrom - Start date
  • dateTo - End date
  • groupBy - Group by: day, week, month

Response:

{
"period": {
"from": "2026-06-01T00:00:00Z",
"to": "2026-06-05T23:59:59Z"
},
"stages": [
{
"name": "Leads",
"count": 500,
"percentage": 100
},
{
"name": "Qualified",
"count": 350,
"percentage": 70
},
{
"name": "Proposal",
"count": 100,
"percentage": 20
},
{
"name": "Customers",
"count": 35,
"percentage": 7
}
],
"conversionRate": 0.07
}

7.2 Get Team Performance

GET /api/v1/analytics/team-performance

Get team metrics and statistics.

Query Parameters:

  • dateFrom - Start date
  • dateTo - End date
  • departmentId - Filter by department (optional)

Response:

{
"period": { "from": "2026-06-01", "to": "2026-06-05" },
"team": [
{
"userId": "user-123",
"name": "John Doe",
"contactsAssigned": 45,
"messagesReplied": 120,
"averageResponseTime": 3.5,
"conversionRate": 0.11,
"revenueGenerated": 12500
}
],
"teamTotal": {
"contactsAssigned": 450,
"messagesReplied": 1200,
"conversionRate": 0.08,
"revenueGenerated": 95000
}
}

7.3 Get Response Time Analytics

GET /api/v1/analytics/response-time

Get response time metrics.

Response:

{
"averageFirstResponseTime": 4.2,
"averageResolutionTime": 24.5,
"medianResponseTime": 3.1,
"percentile95": 15.2,
"percentile99": 45.0,
"onTimeRate": 0.87
}

7.4 Create Custom Report

POST /api/v1/analytics/custom

Generate custom analytics report.

Request Body:

{
"name": "Q2 Sales Report",
"metrics": ["revenue", "lead_count", "conversion_rate"],
"dimensions": ["source", "assignedUser"],
"dateFrom": "2026-04-01T00:00:00Z",
"dateTo": "2026-06-30T23:59:59Z",
"filters": [
{ "field": "status", "operator": "equals", "value": "customer" }
]
}

Response: 201

{
"id": "report-001",
"name": "Q2 Sales Report",
"status": "generating",
"createdAt": "2026-06-05T17:35:00Z",
"downloadUrl": "https://api.domaincrm.com/reports/report-001"
}