Skip to main content

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