Device App Test Report
The Device App Test Report API provides endpoints for registering network test reports from mobile applications or client devices. This functionality enables applications to submit diagnostic data, connectivity metrics, and performance test results to the server for monitoring, analysis, and troubleshooting purposes.
Base URL: https://gate.zequenze.com/api/v1
Authentication: All endpoints require a Bearer token:
Authorization: Bearer <your-api-token>
Overview
The Device App Test Report API is designed to collect and process network diagnostic data from client applications and devices. This API category is essential for:
- Network Performance Monitoring: Collecting real-time network metrics from end-user devices to monitor connectivity quality and identify potential issues
- Diagnostic Data Collection: Gathering detailed test reports that include latency, bandwidth, packet loss, and connectivity status information
- Quality Assurance: Enabling applications to report test results for network validation and performance benchmarking
- Troubleshooting Support: Providing technical teams with detailed diagnostic information to resolve connectivity issues
The test reports typically contain structured data about network conditions, device information, test parameters, and results. This data helps organizations maintain service quality, identify network bottlenecks, and proactively address connectivity problems before they impact users.
Common scenarios include mobile apps performing periodic connectivity checks, IoT devices reporting status, and diagnostic tools submitting comprehensive network analysis results.
Endpoints
POST /device_app_test_report/
Description: Registers a new network test report from a client device or application. This endpoint accepts diagnostic data including network performance metrics, connectivity test results, device information, and environmental factors that may affect network performance. Use this endpoint whenever your application completes a network diagnostic test or needs to report connectivity status.
Use Cases:
- Mobile applications submitting periodic network performance reports
- IoT devices reporting connectivity status and diagnostic metrics
- Diagnostic tools uploading comprehensive network analysis results
- Applications reporting failed connection attempts with detailed error information
Full URL Example:
https://gate.zequenze.com/api/v1/device_app_test_report/
Parameters:
| Parameter | Type | In | Required | Description |
|---|---|---|---|---|
| data | string | body | Yes | JSON-formatted string containing the complete test report data including network metrics, device information, test parameters, timestamps, and results |
cURL Example:
curl -X POST "https://gate.zequenze.com/api/v1/device_app_test_report/" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"data": "{\"device_id\":\"device_12345\",\"app_version\":\"2.1.3\",\"test_type\":\"connectivity_check\",\"timestamp\":\"2024-01-15T14:30:00Z\",\"network_type\":\"wifi\",\"signal_strength\":-45,\"latency_ms\":23,\"download_speed_mbps\":85.2,\"upload_speed_mbps\":42.7,\"packet_loss_percent\":0.1,\"dns_resolution_time_ms\":15,\"connection_success\":true,\"server_endpoint\":\"api.example.com\",\"geolocation\":{\"latitude\":37.7749,\"longitude\":-122.4194},\"device_info\":{\"os\":\"iOS\",\"version\":\"17.1\",\"model\":\"iPhone 14\"}}"
}'
Example Request Body:
{
"data": "{\"device_id\":\"device_12345\",\"app_version\":\"2.1.3\",\"test_type\":\"connectivity_check\",\"timestamp\":\"2024-01-15T14:30:00Z\",\"network_type\":\"wifi\",\"signal_strength\":-45,\"latency_ms\":23,\"download_speed_mbps\":85.2,\"upload_speed_mbps\":42.7,\"packet_loss_percent\":0.1,\"dns_resolution_time_ms\":15,\"connection_success\":true,\"server_endpoint\":\"api.example.com\",\"geolocation\":{\"latitude\":37.7749,\"longitude\":-122.4194},\"device_info\":{\"os\":\"iOS\",\"version\":\"17.1\",\"model\":\"iPhone 14\"}}"
}
Example Response:
{
"id": 789456,
"status": "received",
"report_id": "rpt_2024011514300012345",
"timestamp": "2024-01-15T14:30:15Z",
"processed": false,
"message": "Test report successfully registered and queued for processing"
}
Response Codes:
| Status | Description |
|---|---|
| 201 | Created - Test report successfully registered |
| 400 | Bad Request - Invalid data format or missing required fields |
| 401 | Unauthorized - Invalid or missing authentication token |
| 413 | Payload Too Large - Test report data exceeds size limits |
| 422 | Unprocessable Entity - Data format is valid but contains logical errors |
| 500 | Internal Server Error - Server error processing the report |
Common Use Cases
Use Case 1: Mobile App Connectivity Monitoring
Mobile applications can use this endpoint to regularly submit network performance reports, helping identify connectivity issues across different carriers, locations, and network conditions. Submit reports after significant network events or on a scheduled basis.
Use Case 2: IoT Device Health Reporting
IoT devices can report their connectivity status, signal strength, and communication reliability to help maintain optimal network performance and identify devices that may need attention or repositioning.
Use Case 3: Quality Assurance Testing
During application testing phases, automated test suites can submit comprehensive network diagnostic reports to validate performance under various network conditions and identify potential issues before release.
Use Case 4: User Experience Troubleshooting
When users experience connectivity issues, applications can automatically generate and submit detailed diagnostic reports to help support teams quickly identify and resolve problems.
Use Case 5: Network Infrastructure Monitoring
Applications deployed across multiple locations can submit regular connectivity reports to help network administrators monitor infrastructure performance and identify areas needing improvement.
Best Practices
- Data Structure Consistency: Maintain a consistent JSON structure within the data parameter across all test reports to enable proper analysis and trending
- Include Timestamps: Always include accurate UTC timestamps in your test data to enable proper chronological analysis and correlation with network events
- Device Identification: Use consistent device identifiers that allow tracking of individual device performance over time while respecting privacy requirements
- Error Handling: Implement proper retry logic with exponential backoff for failed submissions, especially important for network-related failures
- Data Validation: Validate test data locally before submission to reduce 422 errors and ensure data quality
- Batch Reporting: Consider batching multiple test results when appropriate to reduce API calls, but ensure individual timestamps are preserved
- Sensitive Information: Avoid including personally identifiable information (PII) in test reports; focus on technical metrics and anonymous device characteristics
- Rate Limiting: Implement appropriate rate limiting in your application to avoid overwhelming the API, especially for high-frequency testing scenarios