Tool Name: airdroid_business_get_device_network_connection_history
Risk Level: 🟢 Low Risk
Execution Mode: ⚡ Synchronous
Category: Reports & Analytics
Quick Start (Copy & Use)
In one sentence: Get device network connection history, including WiFi/mobile data/Ethernet usage percentages and primary network info
What you need: StartDate (start date), EndDate (end date)
Success criteria: StatusCode=200 and ErrorMessage="" and NetworkHistoryList contains data
What to do next: Analyze device network usage, or paginate to get more data
Minimal request example:
{
"StartDate": "2026-01-28",
"EndDate": "2026-02-03"
}
Minimal response example:
{
"NetworkHistoryList": [
{
"device_id": "abc123",
"device_name": "Device A",
"group_name": "Sales",
"group_id": 100,
"connection_time": "95%",
"wifi_percent": "70%",
"gsm_percent": "20%",
"ethernet_percent": "10%",
"main_wifi": "Office_WiFi",
"main_gsm": "China Mobile"
}
],
"Pagination": {
"total": 50,
"page_size": 10,
"current_page": 1,
"last_page": 5
},
"StatusCode": 200,
"ErrorMessage": ""
}
Recipes (Common Recipes)
Recipe 1: Query Last 7 Days Network History for All Devices
Scenario: Understand overall device network connection status
{
"StartDate": "2026-01-28",
"EndDate": "2026-02-03",
"Page": 1,
"PageSize": 10,
"Ascending": true
}
Recipe 2: Filter Network History by Group
Scenario: View network history for specific groups only
{
"StartDate": "2026-01-28",
"EndDate": "2026-02-03",
"GroupIds": [100, 101],
"Page": 1,
"PageSize": 10
}
Recipe 3: Query by Device ID
Scenario: Query network connection history for a specific device
{
"StartDate": "2026-01-28",
"EndDate": "2026-02-03",
"DeviceIds": ["abc123def456ghi789"],
"Page": 1,
"PageSize": 10
}
Recipe 4: Search by Keyword
Scenario: Fuzzy search for devices matching a keyword
{
"StartDate": "2026-01-28",
"EndDate": "2026-02-03",
"Keyword": "Samsung",
"Page": 1,
"PageSize": 10
}
Recipe 5: Get Extra Fields
Scenario: Need device IMEI, model, and other extra info
{
"StartDate": "2026-01-28",
"EndDate": "2026-02-03",
"SelectedColumns": ["snid", "model", "imei", "mac", "tags"],
"Page": 1,
"PageSize": 10
}
1. Overview
1.1 Description
Get device network connection history within a specified date range, including WiFi, mobile data, and Ethernet usage percentages, as well as primary connected network names.
1.2 When to Use
- Network usage analysis: Understand which network type devices use most
- Connection quality assessment: Evaluate network connection quality via signal strength
- Cost optimization: Analyze WiFi vs. mobile data usage ratios
- Troubleshooting: Check device network connection history to diagnose issues
1.3 Execution Mode & Response
This is a synchronous operation that returns results immediately upon invocation.
- Return value: NetworkHistoryList array + Pagination pagination info
- Pagination support: Controlled via Page/PageSize parameters
1.4 Prerequisites
| Condition | Description | How to Verify |
|---|---|---|
| Valid date range | Cannot query data older than 7 days; date range cannot exceed 7 days | Ensure dates are within limits |
| No future dates | StartDate and EndDate cannot be future dates | - |
| Account permission | Must have report viewing permissions | - |
1.5 Prerequisite Tools
| Dependency Tool | Purpose | Necessity |
|---|---|---|
| Get a Group ID by Group Name | Get GroupIds by group name | If filtering by group is needed |
| Get All Devices | Get DeviceIds list | If filtering by device is needed |
2. Inputs
2.1 Parameter List
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| StartDate | string | ✅ | - | Start date, format: YYYY-MM-DD |
| EndDate | string | ✅ | - | End date, format: YYYY-MM-DD |
| SelectedColumns | string-array | ❌ | [] | Extra fields to return |
| Page | number | ❌ | 1 | Current page number |
| PageSize | number | ❌ | 10 | Records per page |
| Ascending | bool | ❌ | true | Sort by device name |
| Keyword | string | ❌ | "" | Search keyword |
| DeviceIds | string-array | ❌ | [] | Device ID list |
| GroupIds | number-array | ❌ | [] | Group ID list |
2.2 Parameter Details
`StartDate` and `EndDate`
- Type: string
- Format: YYYY-MM-DD (e.g., 2026-01-28)
- Constraints:
- Cannot query data older than 7 days
- Cannot be future dates
- Date range cannot exceed 7 days
`SelectedColumns`
- Type: string-array
- Purpose: Specify extra fields to return
- Options: snid, model, android_id, imsi, imei, mac, eth_mac, tags, manu
- Default fields (no need to specify): device_name, note, group_name, group_id, connection_time, wifi_percent, gsm_percent, ethernet_percent, main_wifi, main_gsm, wifi_strength, gsm_strength, ethernet_strength
- Example:
["snid", "model", "imei", "mac"]
`Ascending`
- Type: bool
- Description: Sort by device name. true = ascending (A to Z), false = descending (Z to A)
- Default: true
`DeviceIds` and `GroupIds`
- Combination logic: DeviceIds and GroupIds are OR (union) — results from both are merged
- Keyword is AND with the above filters
3. Outputs
3.1 Response Examples
Success response:
{
"NetworkHistoryList": [
{
"device_id": "abc123",
"device_name": "Device A",
"group_name": "Sales",
"group_id": 100,
"connection_time": "95%",
"wifi_percent": "70%",
"gsm_percent": "20%",
"ethernet_percent": "10%",
"main_wifi": "Office_WiFi",
"main_gsm": "China Mobile",
"wifi_strength": "Excellent",
"gsm_strength": "Good",
"ethernet_strength": "No signal",
"note": "Office device",
"model": "SM-G9500",
"mac": "AA:BB:CC:DD:EE:FF",
"snid": "SN12345"
}
],
"Pagination": {
"total": 50,
"page_size": 10,
"current_page": 1,
"last_page": 5
},
"StatusCode": 200,
"ErrorMessage": ""
}
Error response:
{
"NetworkHistoryList": [],
"Pagination": {},
"StatusCode": -1,
"ErrorMessage": "Invalid start_date. Must be a non-empty string."
}
3.2 Field Descriptions
| Field Path | Type | Description |
|---|---|---|
| StatusCode | number | Status code. See 5.1 AB Three-Layer Error Codes |
| ErrorMessage | string | Error message. Empty string on success |
| NetworkHistoryList | array | Network connection history list |
| Pagination | object | Pagination info |
NetworkHistoryList fields (default):
| Field | Type | Description |
|---|---|---|
| device_id | string | Device unique identifier |
| device_name | string | Device display name |
| group_name | string | Group name |
| group_id | number | Group ID |
| note | string | Device remark/note |
| connection_time | string | Total connection rate (e.g., "95%") |
| wifi_percent | string | WiFi usage percentage (e.g., "70%") |
| gsm_percent | string | Mobile data usage percentage (e.g., "20%") |
| ethernet_percent | string | Ethernet usage percentage (e.g., "10%") |
| main_wifi | string | Most used WiFi SSID |
| main_gsm | string | Most used carrier name |
| wifi_strength | string | WiFi signal strength (Unknown/No signal/Poor/Fair/Good/Excellent) |
| gsm_strength | string | Mobile signal strength (Unknown/No signal/Poor/Fair/Good/Excellent) |
| ethernet_strength | string | Ethernet signal strength (Unknown/No signal/Poor/Fair/Good/Excellent) |
NetworkHistoryList fields (via SelectedColumns):
| Field | Type | Description |
|---|---|---|
| snid | string | Device serial number |
| model | string | Device model |
| manu | string | Device manufacturer |
| imei | string | IMEI number |
| imsi | string | IMSI number |
| android_id | string | Android ID |
| mac | string | WiFi MAC address |
| eth_mac | string | Ethernet MAC address |
| tags | string | Device tags (space-separated) |
4. Examples
4.1 Basic Example: Query Last 7 Days Network History
Request parameters:
{
"StartDate": "2026-01-28",
"EndDate": "2026-02-03",
"Page": 1,
"PageSize": 10
}
4.2 Advanced Example: Filter by Group with Extra Fields
Request parameters:
{
"StartDate": "2026-01-28",
"EndDate": "2026-02-03",
"GroupIds": [100],
"SelectedColumns": ["model", "imei", "mac"],
"Page": 1,
"PageSize": 20
}
4.3 Error Example: Date Range Exceeds Limit
Request parameters:
{
"StartDate": "2026-01-01",
"EndDate": "2026-02-03"
}
Response:
{
"NetworkHistoryList": [],
"Pagination": {},
"StatusCode": 200,
"ErrorMessage": "Date range exceeds 7 days limit"
}
5. Error Handling
5.1 AB Three-Layer Error Codes
| StatusCode | Meaning | Usage Scenario | Agent Response |
|---|---|---|---|
| -1 | Parameter validation error | Local validation failed (missing required params, format errors) | ❌ Do not retry; fix parameters and call again |
| 200 | Business success or business error | HTTP request succeeded; check ErrorMessage | Empty ErrorMessage = success; non-empty = business error |
| 500 | Network/request exception | Timeout, connection failure, DNS resolution failure | ⚠️ May retry (up to 2 times, 5-second intervals) |
5.2 Common Errors
| StatusCode | ErrorMessage Example | Cause | Fix Suggestion |
|---|---|---|---|
| -1 | Invalid start_date. Must be a non-empty string. | StartDate is empty | Provide a valid date format |
| -1 | access_token is invalid. | Token is invalid | Check auth configuration |
| 200 | Date range exceeds 7 days limit | Date range exceeds 7 days | Reduce date range |
| 500 | Request timeout after 60 seconds. | Request timeout | Retry later |
5.3 Agent Self-Healing Decision Table
| StatusCode | Auto Retry | Retry Strategy | Manual Intervention |
|---|---|---|---|
| -1 | ❌ | - | Fix parameters and call again |
| 200 (non-empty ErrorMessage) | ❌ | - | Fix based on error message |
| 500 | ⚠️ | Up to 2 retries, 5-second intervals | Escalate if persistent failure |
6. Best Practices
6.1 Performance Optimization
- Use filter conditions: Set DeviceIds or GroupIds to reduce returned data volume
- Set reasonable PageSize: Recommend 10-20 to avoid returning too much data at once
- Request only needed fields: Use SelectedColumns to request only the extra fields you need
6.2 Security Notes
🟢 Read operation: No special security requirements
6.3 Data Interpretation Tips
- connection_time represents the device's total online rate
- wifi_percent + gsm_percent + ethernet_percent may not equal 100% (offline time exists)
- main_wifi and main_gsm are the networks with the longest usage time
7. Related Tools
7.1 Prerequisite Tools
| Tool Name | Purpose |
|---|---|
| Get a Group ID by Group Name | Get GroupIds |
| Get All Devices | Get DeviceIds |
7.2 Follow-up Tools
| Tool Name | Purpose |
|---|---|
| Get Data Usage Overview and Trends | Get detailed data usage statistics |
| Get All Devices | Get detailed device information |
7.3 Similar Tools Comparison
| Tool Name | Use Case | Difference |
|---|---|---|
| Get Device Network Connection History | Network connection history | Statistics on per-device network usage percentages |
| Get Data Usage Overview and Trends | Data usage statistics | Statistics by data volume (MB/GB) |
8. Tool Chains
8.1 Network Quality Analysis Pattern
Scenario: Analyze device network quality for a specific group
Tool chain:
Get a Group ID by Group Name → Get Device Network Connection History → Analyze wifi_strength/gsm_strength
Steps:
- Get the target group's GroupId
- Call this tool to get network connection history
- Analyze wifi_strength and gsm_strength to assess network quality
8.2 Data Cost Optimization Pattern
Scenario: Identify devices with high mobile data usage
Tool chain:
Get Device Network Connection History → Filter devices with high gsm_percent → Get Data Usage Overview and Trends
Steps:
- Call this tool to get all device network connection history
- Filter devices with high gsm_percent
- Call the data usage statistics tool to get specific data consumption
- Develop optimization strategies (e.g., increase WiFi coverage)
Leave a Reply.