This page describes the Aeris AerTraffic system web services interface for retrieving device traffic and billing data. Similar information is available via our web-based UI, AerPort.
Note: Information on which request payload parameters are mandatory or optional is coming soon. Please assume that most parameters are required, though some may be optional.
In this article:
- AerTraffic Overview
- Report Definitions
-
API Details
- 1. Online/Manual Reports Operations
-
2. Scheduled Reports Operations
- 2.1 CREATE NEW REPORT TEMPLATE
- 2.2 GET LIST OF SCHEDULED TEMPLATES
- 2.3 GET MAP OF SCHEDULE REPORT ARCHIVES
- 2.4 VIEW SCHEDULED TEMPLATE
- 2.5 DOWNLOAD ARCHIVED REPORT
- 2.6 UPDATE SCHEDULED TEMPLATE
- 2.7 DELETE SCHEDULED TEMPLATE
- 2.8 DELETE ARCHIVED REPORT
- 2.9 VIEW REPORT RECIPIENTS
- 2.10 UPDATE REPORT RECIPIENTS
- 3. Trend Reports Operations
- Error Codes
AerTraffic Overview
The AerTraffic 2.1 API includes the following set of APIs:
- Online/Manual Reports API: Provides quick reports with a feature to download a report preview and the complete report file.
- Scheduled Reports API: Provides the ability to create report templates with a defined frequency. The API triggers the reports at a scheduled frequency and forwards an email to the defined recipients once report generation is complete. The email includes a link that enables the recipient to download the report.
- Trend Reports API: Provides various account trends including device counts, overage charges, and packet/SMS usage.
Base URLs
The URL address for the production service is shown in the table below.
Base URL |
Version |
Purpose |
---|---|---|
https://aertrafficapi.aeris.com/v1 |
1 |
AerTraffic production instance |
API Request, Headers, and Parameters
AerTraffic 2.1 APIs are only available over HTTPs, and each API must include:
- The appropriate API key in the request URL as shown in the examples. The parameter
name is
apiKey
. - A
Content-Type
header set toapplication/json
.
API Client Authentication
Every request to the API must be authorized with a valid API key. This must be passed as a query parameter in the URLs.
There is a direct relation between the accountId
and the
apiKey
passed in the URL. A valid apiKey
from a
different account can not authorize requests.
Note: The API keys are unique and secret. They must be saved securely and should only be shared with authorized users or applications.
Unique IDs
There are two sets of Unique IDs:
- Request ID: Every response contains a unique 36-bit, alpha numeric request ID that can be used to track the complete transaction.
- Archive ID: Every generated report stores a unique 36-bit, alpha numeric archive ID.
Date Information
The following list contains date information for the AerTraffic 2.1 APIs:
- All dates are in Greenwich Mean Time (GMT) for input and output parameters.
- Start date inputs are interpreted as “begin” dates and return records starting with the first second of the date entered.
- End date inputs are interpreted as “through” dates and return records ending with the last second of the date entered.
- The billing period calendar month also starts and stops within GMT monthly boundaries.
Report Definitions
With the AerTraffic API, you can create or update the following types of reports:
For limitation information, see Report Limitations.
Account Reports
Account-level reports provide general data for all devices in the account, or for a specified group of devices. There are three Account-level reports:
- Account Traffic Cost Summary Report
- Account Devices Detail Report
- Account Devices Summary Report
1.1.6 Account Traffic Cost Summary Report
The Account Traffic Cost Summary report summarizes usage and overage charges based on Pool Name or Report Group over a specified time period.
For more information, see 1.1.6 Account Traffic Cost Summary.
1.1.7 Account Devices Detail Report
The Account Devices Detail report provides a list of all devices and device attributes within the selected device filters. This report enables you to view a complete list of your devices and their statuses.
Note: To generate this report from the AerPort user interface, navigate to Reports > Build tab and set the following configuration options:
-
Report Type:
Devices Detail
-
Status:
All
Download the results and view the devices and their statuses in columns I-L.
For more information, see 1.1.7 Account Devices Detail Report.
1.1.8 Account Devices Summary Report
The Account Devices Summary report provides a device count based on the group of devices selected.
For more information, see 1.1.8 Account Devices Summary Report.
Device Reports
Device-level reports enable you to obtain detailed data for a specific device or group of devices. There are four Device-level reports:
- Daily Device Traffic Usage Report
- Device Traffic Summary Report
- Device Traffic Detail
- Device Status Activity
1.1.9 Daily Device Traffic Usage Report
The Daily Device Traffic Usage report provides the total SMS, Data, and Voice usage for the indicated device(s) for each day during a specified time period.
For more information, see 1.1.9 Daily Device Traffic Usage Report.
1.1.10 Device Traffic Summary Report
The Device Traffic Summary report provides the total SMS, Data, and Voice usage for the indicated device(s) during a specified time period.
For more information, see 1.1.10 Device Traffic Summary Report.
1.1.11 Device Traffic Detail
The Device Traffic Detail report provides details for selected traffic types (billable and non-billable) for the indicated device(s) over a specified time period.
Note: All traffic events are timestamped.
For more information, see 1.1.11 Device Traffic Detail.
1.1.12 Device Status Activity
The Device Status Activity report lists all status changes, rate plan changes, and pool changes for the indicated device(s) over a specified time period.
Notes:
- Devices are listed chronologically.
- This report does not contain any traffic information.
For more information, see 1.1.12 Device Status Activity.
Trend Reports
There are three trend reports available through AerTraffic 2.1:
- SMS/Packet Traffic
- Overage Charges
- Device Summary
SMS/Packet Traffic
The SMS/Packet Traffic report provides total SMS (Mobile Originated (MO) and Mobile Terminated (MT)) and Packet usage for each day over the past week.
For more information, see 3.1 Traffic Summary Report
Overage Charges
The Overage Charges report provides overage charges for Packet Data, SMS, and Voice for the last three months.
For more information, see 3.2 Overage Charges Report.
Device Summary
The Device Summary report provides a high level view of all devices categorized by current status (Provisioned, Billed, or Suspended) for the last three months.
For more information, see 3.3 Device Summary Report.
Online/Manual Reports
Online/Manual reports are generated upon request and provide an immediate report output.
In the New Portal, these reports are called Manual Reports. To generate them in the AerPort New Portal UI via the Build tab, and download them from the Manual Reports tab.
In Classic AerPort, these reports are called Recent Reports. You can generate these reports in the Classic AerPort UI via the MyReports tab, and download them from the Recent tab.
Scheduled Reports
Scheduled reports are generated and delivered to a set of configured email recipients based on a user-defined frequency. For example a billing or summary report that is generated and delivered via email once per week.
You can scheduled reports to deliver on a daily, weekly, or monthly frequency. Once a report is generated, an email containing a link to download the full report is sent to each email recipient. The download link provided in the email is valid for five days. After five days, the link expires and the report must be retrieved from the report archives (if the report is still available).
Note: Each account can only schedule up to five reports. You may contact your account manager to request additional reports.
To define a scheduled report, create a report Template to specify the report type, report parameters, and delivery frequency.
In the New Portal, scheduled reports are called Scheduled Reports. You can create a scheduled report in the AerPort New Portal UI via the Build tab, and manage report recipients from the Manage tab. To download the report, retrieve it from the Scheduled Reports tab.
In Classic AerPort, scheduled reports are called Templates. In the Classic AerPort UI, you can create these reports using the MyReports, Templates tab, and download them from the MyReports, MyReports tab.
Scheduled Report Generation
Scheduled reports are generated at the indicated frequency until the report template is deleted. Scheduled report generation begins at midnight GMT for the selected frequency, and is delivered to the configured email recipients once the report is complete.
Email Recipients
Email recipients for scheduled reports are configured per report type, not by individual report. Any change made to the recipient group of one report affects all other scheduled reports of the same type.
Report Archives
The amount of time that a report is available in the archives depends on the type of report. The following sections outline how long different types of reports remain in the archives.
Online/Manual Report Archives
Online/Manual Reports are archived for 30 days. After 30 days, the report expires. To view the data after it was removed from the archive, you must recreate the report.
Scheduled Report Archives
The five most recent scheduled reports for each scheduled report template are archived for the following period, depending on the report frequency:
- Daily reports: Five days
- Weekly reports: Five weeks
- Monthly reports: Five months
Report Limitations
The AerTraffic report APIs have the following limitations:
- Daily scheduled report generation starts at midnight GMT. The device details captured in these reports is correct up to the last hour.
- Cost reports run after the End of Day (EOD) rating process. Therefore, the cost details captured in these reports are correct up to midnight GMT.
- If the EOD rating process fails and is fixed the next day, the cost data is not be available for cost reports. The scheduled report still runs but the email contains a note indicating that the report may not be accurate.
- It may take up to 60 minutes before new devices or recent changes are reflected in reports.
- The time to complete the EOD job varies depending on traffic volume and increases
towards the end of the month. Therefore, the report generation time varies. Report
generation starts 15 minutes after the EOD rating process.
For example, if a Traffic Cost Summary report scheduled to run daily completes at 04:00 GMT, the report generation for the following day starts at 04:15 GMT and reflects the results of the last EOD.
API Details
The AerTraffic API offers access to different functionalities. Each functionality has its own access path and parameters which are described in the following sections:
1. Online/Manual Reports Operations
This API enables you to handle online report operations for your account. The response payloads are structured in JSON format.
1.1 CREATE NEW REPORT
All APIs in this section have the same:
- URL
- Variable Path Parameters
- Query Parameters
- Request Headers
- Response Headers
- Request Payload
- Response Payload
A 202
HTTP status code indicates the request was accepted. Average
loading time for a response is 666 ms.
1.1.1 URL
https://aertrafficapi.aeris.com/v1/{accountID}/onlineReports?apiKey={apiKey}
1.1.1.1 Variable Path Parameters
The preceding URL has the following variable path parameters:
Name |
Type |
Constraint |
Description |
|
Int |
Mandatory |
ID of the customer account, as shown in AerPort. |
1.1.1.2 Query Parameters
The preceding URL has the following query parameters:
Name |
Type |
Constraint |
Description |
|
String |
Mandatory |
Unique API key assigned to your account for accessing the API. The API key is available in AerPort. |
1.1.2 HTTP Headers
The following standard and custom HTTP headers are supported.
Request Headers
HTTP headers required for the request are as follows:
Field Name |
Value |
Constraint |
|
|
Mandatory |
Response Headers
HTTP headers in the response are as follows:
Field Name |
Value |
Description |
|
|
Defines the response format. |
Content-Length |
<n> |
Content length value varies for each response. |
|
|
Date/time the response was received. |
|
|
URL to access the created report. |
1.1.3 Method Type
Method Type |
POST |
1.1.4 Request Payload Description
The request payload is provided as JSON objects with the following attributes:
Attribute Name |
Data Type |
Description |
||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
String |
Defines the type of report you want to create. Set to one of the following values:
|
||||||||||||
|
String | Set to the same value as
reportName . |
||||||||||||
|
String |
Product type(s) to include in the report. Set to one of
the following values:
|
||||||||||||
|
String |
Email ID of the user requesting the report. It is not mandatory to use the primary account user's email. |
||||||||||||
|
String |
Email ID of the user creating the report. It is not mandatory to use the primary account user's email. |
||||||||||||
|
Object
|
|
||||||||||||
|
Array
|
Array of report filters. Each array item must contain the following:
|
||||||||||||
|
List<CustomAttribute> |
Custom attributes to track additional device information in up to five separate custom fields. |
||||||||||||
columnName |
String | Leave this field blank since this field is used internally by the system. | ||||||||||||
value |
String | Leave this field blank since this field is used internally by the system. | ||||||||||||
operator |
String | Leave this field blank since this field is used internally by the system. | ||||||||||||
sortBy |
String | Leave this field blank since this field is used internally by the system. | ||||||||||||
reportGroup |
String | Leave this field blank since this field is used internally by the system. | ||||||||||||
reportOnHierarchy |
Boolean | Leave this field blank since this field is used internally by the system. | ||||||||||||
isReportPreview |
String | Leave this field blank since this field is used internally by the system. | ||||||||||||
outputRecordCount |
String | Leave this field blank since this field is used internally by the system. | ||||||||||||
schedule |
String | Leave this field blank since this field is used internally by the system. | ||||||||||||
columns |
Array | Leave this field blank since this field is used internally by the system. |
1.1.5 Response Payload Description
The response object contains a single field:
Attribute Name |
Data Type |
Description |
---|---|---|
|
String |
Unique archive ID for the request. The archive ID is equivalent to the transaction ID as shown in AerPort. |
1.1.6 Account Traffic Cost Summary Report
Request
{
"reportName": "TRAFFIC_COST_SUMMARY",
"reportType": "TRAFFIC_COST_SUMMARY",
"product": "ANY",
"email": "aerport@aeris.net",
"createdBy": "aerport@aeris.net",
"duration": {
"duration": "MONTHTODATE",
"startDate": null,
"endDate": null
},
"filters": [],
"groupBy": "REPORT_GROUP",
"sortBy": null,
"reportGroup": null,
"reportOnHierarchy": false,
"isReportPreview": "true",
"outputRecordCount": null,
"schedule": null,
"columns": []
}
Response
HTTP/1.1 202 Accepted
Server: Apache-Coyote/1.1
Location: http://aertrafficapi.aeris.com/v1/{accountId}/onlineReports/e25dd6f6-5f5f-11e4-acf8-0b0da3fe1efc/status?preview=true&apiKey={apiKey}
Content-Length: 0
1.1.7 Account Device Detail Report
Request
{
"reportName": "DEVICE_DETAIL",
"reportType": "DEVICE_DETAIL",
"product": "ANY",
"email": "aerport@aeris.net",
"createdBy": "aerport@aeris.net",
"duration": {},
"filters": [],
"groupBy": "REPORT_GROUP",
"sortBy": null,
"reportGroup": null,
"reportOnHierarchy": false,
"isReportPreview": "true",
"outputRecordCount": null,
"schedule": null,
"columns": []
}
Response
HTTP/1.1 202 Accepted
Server: Apache-Coyote/1.1
Location: http://aertrafficapi.aeris.com/v1/{accountId}/onlineReports/6d10ee31-5f61-11e4-9697-b972ae2f4993/status?preview=true&apiKey={apiKey}
Content-Length: 0
1.1.8 Account Device Summary Report
Request
{
"reportName": "DEVICE_SUMMARY",
"reportType": "DEVICE_SUMMARY",
"product": "ANY",
"email": "aerport@aeris.net",
"createdBy": "aerport@aeris.net",
"duration": {
"duration": "MONTHTODATE",
"startDate": null,
"endDate": null
},
"filters": null,
"groupBy": "REPORT_GROUP",
"sortBy": null,
"reportGroup": null,
"reportOnHierarchy": false,
"isReportPreview": "true",
"outputRecordCount": null,
"schedule": null,
"columns": null
}
Response
HTTP/1.1 202 Accepted
Server: Apache-Coyote/1.1
Location: http://aertrafficapi.aeris.com/v1/{accountId}/onlineReports/19fea518-5f62-11e4-9697-dd94a1550c9d/status?preview=true&apiKey={apiKey}
Content-Length: 0
1.1.9 Daily Device Traffic Usage Report
Request
{
"reportName": "DEVICE_DAILY_TRAFFIC_USAGE",
"reportType": "DEVICE_DAILY_TRAFFIC_USAGE",
"product": "ANY",
"email": "aerport@aeris.net",
"createdBy": "aerport@aeris.net",
"duration": {
"duration": "MONTHTODATE",
"startDate": null,
"endDate": null
},
"filters": [
{
"column": {
"columnName": "ICCID",
"value": "89185000170713912345, 891850001707139123456, 89185000170711234567"
},
"operator": "IN"
}
],
"sortBy": null,
"reportGroup": null,
"reportOnHierarchy": false,
"isReportPreview": "true",
"outputRecordCount": null,
"schedule": null,
"columns": []
}
Response
HTTP/1.1 202 Accepted
Server: Apache-Coyote/1.1
Location: http://aertrafficapi.aeris.com/v1/{accountId}/onlineReports/879c83db-5f63-11e4-9697-950730e3f669/status?preview=true&apiKey={apiKey}
Content-Length: 0
1.1.10 Device Traffic Summary Report
Request
{
"reportName": "DEVICE_TRAFFIC_USAGE",
"reportType": "DEVICE_TRAFFIC_USAGE",
"product": "ANY",
"email": "aerport@aeris.net",
"createdBy": "aerport@aeris.net",
"duration": {
"duration": "MONTHTODATE",
"startDate": null,
"endDate": null
},
"filters": [
{
"column": {
"columnName": "ICCID",
"value": "89185000170713912345, 891850001707139123456, 89185000170711234567"
},
"operator": "IN"
}
],
"sortBy": null,
"reportGroup": null,
"reportOnHierarchy": false,
"isReportPreview": "true",
"outputRecordCount": null,
"schedule": null,
"columns": []
}
Response
HTTP/1.1 202 Accepted
Server: Apache-Coyote/1.1
Location: http://aertrafficapi.aeris.com/v1/{accountId}/onlineReports/bffce362-5f63-11e4-9697-0bd9c9aeda2a/status?preview=true&apiKey={apiKey}
Content-Length: 0
1.1.11 Device Traffic Detail Report
Request
{
"reportName": "TRAFFIC_DETAIL",
"reportType": "TRAFFIC_DETAIL",
"product": "ANY",
"email": "aerport@aeris.net",
"createdBy": "aerport@aeris.net",
"duration": {
"duration": "LAST_3_DAYS",
"startDate": null,
"endDate": null
},
"filters": [
{
"column": {
"columnName": "ICCID",
"value": "89011702278871667857, 89011702278903587370, 89185002191118367257, 89185002191118172608, 8901882991755039132"
},
"operator": "IN"
},
{
"column": {
"columnName": "TRAFFIC_TYPE",
"value": "ALL"
},
"operator": "IN"
}
],
"sortBy": null,
"reportGroup": null,
"reportOnHierarchy": false,
"isReportPreview": true,
"outputRecordCount": null,
"schedule": null,
"columns": []
}
Response
If successful, this API returns the transaction ID associated with the report creation request.
HTTP/1.1 202 Accepted
Server: Apache-Coyote/1.1
Location: http://aertrafficapi.aeris.com/v1/{accountId}/onlineReports/{archiveId}/status?preview=true&apiKey={apiKey}
Content-Length: 0
1.1.12 Device Status Activity Report
Request
{
"reportName": "DEVICE_STATUS_ACTIVITY",
"reportType": "DEVICE_STATUS_ACTIVITY",
"product": "ANY",
"email": "aerport@aeris.net",
"createdBy": "aerport@aeris.net",
"duration": {
"duration": "MONTHTODATE",
"startDate": null,
"endDate": null
},
"filters": [
{
"column": {
"columnName": "ICCID",
"value": "89185000170713912345, 891850001707139123456, 89185000170711234567"
},
"operator": "IN"
}
],
"sortBy": null,
"reportGroup": null,
"reportOnHierarchy": false,
"isReportPreview": "true",
"outputRecordCount": null,
"schedule": null,
"columns": []
}
Response
HTTP/1.1 202 Accepted
Server: Apache-Coyote/1.1
Location: http://aertrafficapi.aeris.com/v1/{accountId}/onlineReports/153cc574-5f64-11e4-9697-9194ab854daf/status?preview=true&apiKey={apiKey}
Content-Length: 0
1.2 GET REPORT STATUS OR DOWNLOAD REPORT
Get the status of a specific report or download the report. The report status must be one of the following values:
FAILED
PERSISTED
IN_PROGRESS
PREVIEW_READY
COMPLETE
Note: This API internally redirects to the download URL when report files are available.
The following use cases are indicated by the specified status codes and response bodies:
- Success:
- Status code:
301 Moved Permanently
- Response body: N/A
- Status code:
- In-Progress:
- Status code:
200 OK
- Response body:
{ "reportStatus" : "IN_PROGRESS", "eta" : "10min", "message" : null }
- Status code:
- Failure:
- Status code:
1003 OK
- Response body:
{ "reportStatus" : "FAILED", "eta" : "null", "message" : "A Database related error has occurred." }
- Status code:
1.2.1 URL
https://aertrafficapi.aeris.com/v1/{accountId}/onlineReports/{reportId}/status?preview=true&apiKey={apiKey}
1.2.1.1 Variable Path Parameters
The preceding URL has the following variable path parameters:
Name |
Type |
Constraint |
Description |
|
Int |
Mandatory |
ID of the customer account, as shown in AerPort. |
reportId |
Int | Mandatory | ID of the report to retrieve. |
1.2.1.2 Query Parameters
The preceding URL has the following query parameters:
Name |
Type |
Constraint |
Description |
|
String |
Mandatory |
Unique API key assigned to your account for accessing the API. The API key is available in AerPort. |
preview |
Boolean | Optional | If true , then a
Preview report file is returned, else a
Complete report file is returned. |
1.2.2 HTTP Headers
The following standard and custom HTTP headers are supported.
Request Headers
HTTP headers required for the request are as follows:
Field Name |
Value |
Constraint |
|
|
Mandatory |
Response Headers
HTTP headers in the response are as follows:
Field Name |
Value |
Description |
|
|
Defines the response format. |
Content-Length |
<n> |
Content length value varies for each response. |
|
|
Date/time the response was received. |
|
|
URL to access the created report. |
1.2.3 Method Type
Method Type |
GET |
1.2.4 Request Payload Description
N/A
1.2.5 Response Payload Description
N/A
1.2.6 Sample Request
GET https://aertrafficapi.aeris.com/v1/{accountId}/onlineReports/{reportId}/status?preview=true&apiKey={apiKey}
1.2.7 Sample Response
Status Code: 200 OK
##Report Type ,Daily_Device_Traffic_Usage,
##Data Source Last Updated Date/Time ,Near Real Time,
##Report Created Date/Time,2024-04-04 02:18:44Z,
##Reserved,
##Reserved,
Account Id,MIN,MDN,MEID,HEX-MEID,MFR-ESN,HEX-ESN,IMSI,ICCID,MSISDN,Device-Profile-Id,Date,SMS Usage,Data Usage(Bytes),Voice Usage(Min),EID,
"27585","","12059629371"," ","","-","-","'31017088711234'","'89011702278871661234'","12059621234","AER0000019911234","2024-04-03","0","32658307","0"," ",
"12345","","12059621234"," ","","-","-","'310170887161234'","'89011702278871661234'","12059621234","AER0000019911234","2024-04-02","0","8601234","0"," ",
"12345","","12059621234"," ","","-","-
1.3 DOWNLOAD A REPORT (online or scheduled)
Returns a csv
file containing online
or
scheduled
report data.
1.3.1 URL
https://aertrafficapi.aeris.com/v1/{accountId}/reports/{reportId}/download?fileAppender=Preview&apiKey={apiKey}}
1.3.1.1 Variable Path Parameters
The preceding URL has the following variable path parameters:
Name |
Type |
Constraint |
Description |
|
Int |
Mandatory |
ID of the customer account, as shown in AerPort. |
reportId |
Int | Mandatory | ID of the report to retrieve. |
1.3.1.2 Query Parameters
The preceding URL has the following query parameters:
Name |
Type |
Constraint |
Description |
|
String |
Mandatory |
Unique API key assigned to your account for accessing the API. The API key is available in AerPort. |
fileAppender |
String | Optional |
|
fileType |
String | Optional | Defines the file format. Currently only
csv is supported. Default is
csv . |
1.3.2 HTTP Headers
The following standard and custom HTTP headers are supported.
Request Headers
HTTP headers required for the request are as follows:
Field Name |
Value |
Constraint |
|
|
Mandatory |
Response Headers
HTTP headers in the response are as follows:
Field Name |
Value |
Description |
|
|
Defines the response format. |
Content-Length |
<n> |
Length of the response. Content length value varies for each response. |
|
|
Date/time the response was received. |
|
|
URL to access the created report. |
1.3.3 Method Type
Method Type |
GET |
1.3.4 Request Payload Description
N/A
1.3.5 Response Payload Description
N/A
1.3.6 Sample Request
GET https://aertrafficapi.aeris.com/v1/{accountId}/reports/{reportId}/download?fileAppender=Preview&apiKey={apiKey}
1.3.7 Sample Response
Status Code: 200 OK
##Report Type ,Daily_Device_Traffic_Usage,
##Data Source Last Updated Date/Time ,Near Real Time,
##Report Created Date/Time,2024-04-04 02:18:44Z,
##Reserved,
##Reserved,
Account Id,MIN,MDN,MEID,HEX-MEID,MFR-ESN,HEX-ESN,IMSI,ICCID,MSISDN,Device-Profile-Id,Date,SMS Usage,Data Usage(Bytes),Voice Usage(Min),EID,
"27585","","12059629371"," ","","-","-","'31017088711234'","'89011702278871661234'","12059621234","AER0000019911234","2024-04-03","0","32658307","0"," ",
"12345","","12059621234"," ","","-","-","'310170887161234'","'89011702278871661234'","12059621234","AER0000019911234","2024-04-02","0","8601234","0"," ",
"12345","","12059621234"," ","","-","-
1.4 GET LIST OF ONLINE REPORT ARCHIVES
Get a list of ONLINE
archived reports. The word
ONLINE
appears in the returned reportURL
.
1.4.1 URL
http://aertrafficapi.aeris.com/v1/{accountId}/reports/archives?count=50&apiKey={apiKey}
1.4.1.1 Variable Path Parameters
The preceding URL has the following variable path parameters:
Name |
Type |
Constraint |
Description |
|
Int |
Mandatory |
ID of the customer account, as shown in AerPort. |
1.4.1.2 Query Parameters
The preceding URL has the following query parameters:
Name |
Type |
Constraint |
Description |
|
String |
Mandatory |
Unique API key assigned to your account for accessing the API. The API key is available in AerPort. |
count |
Number | Optional | Number of archives to return.. |
1.4.2 HTTP Headers
The following standard and custom HTTP headers are supported.
Request Headers
HTTP headers required for the request are as follows:
Field Name |
Value |
Constraint |
|
|
Mandatory |
Response Headers
HTTP headers in the response are as follows:
Field Name |
Value |
Description |
|
|
Defines the response format. |
Content-Length |
<n> |
Length of the response. Content length value varies for each response. |
|
|
Date/time the response was received. |
|
|
URL to access the created report. |
1.4.3 Method Type
Method Type |
GET |
1.4.4 Request Payload Description
N/A
1.4.5 Response Payload Description
The response payload contains a JSON object with the following fields:
Attribute Name |
Data Type |
Description |
---|---|---|
accountId |
Number |
ID of the customer account, as shown in AerPort. |
|
String |
URL of the report. |
status |
String |
Status of the report. |
previewTimeTaken |
Number |
Time taken to create the preview. |
timeTaken |
Number |
Time taken for the process to complete in ms. |
lastDownloaded |
String |
Date/time the report was last downloaded. |
reportPreViewURL |
String |
URL of the report preview. |
isScheduled |
Boolean | If true , the report is
scheduled. |
|
String |
Message containing report details. |
|
String | Date/time the report was created. |
reportName |
String |
Name of the report. Must be one of the following values:
|
reportType |
String | Set to the same value as
reportName . |
createdBy |
String | Email address of the report creator. |
lastUpdated |
String | Date/time the report was last updated. |
reportId |
String | ID of the report. |
archiveId |
String |
Unique archive ID for the request. The archive ID is equivalent to the transaction ID, as shown in AerPort. |
1.4.6 Sample Request
GET http://aertrafficapi.aeris.com/v1/{accountId}/reports/archives?count=50&apiKey={apiKey}
1.4.7 Sample Response
[ {
"accountId" : 1,
"reportURL" : "https://aer-reports-prod.s3-us-west-2.amazonaws.com/Prod/{accountId}/2014-12/ONLINE/{reportId}/DEVICE_DETAIL_Complete.csv?AWSAccessKeyId=AKIAITG76A4CJK2HOBYA&Expires=1418062272&Signature=5o2zn62d7KVJm86hCbzFc6iQB%2F0%3D",
"status" : "COMPLETE",
"previewTimeTaken" : 609,
"timeTaken" : 2646,
"lastDownloaded" : "2014-12-01 18:11:12Z",
"reportPreViewURL" : "https://aer-reports-prod.s3-us-west-2.amazonaws.com/Prod/{accountId}/2014-12/ONLINE/{reportId}/DEVICE_DETAIL_Preview.csv?AWSAccessKeyId=AKIAITG76A4CJK2HOBYA&Expires=1418062270&Signature=S4D019u7IhZLjfKtMIJJhueXinQ%3D",
"isScheduled" : false,
"message" : "",
"createTime" : "2014-12-01 18:11:09Z",
"reportName" : "DEVICE_DETAIL",
"reportType" : "DEVICE_DETAIL",
"createdBy" : "aerport@aeris.net",
"lastUpdated" : null,
"reportId" : "{reportID}",
"archiveId" : "{archiveID}"
} ]
1.5 DOWNLOAD AN ARCHIVED REPORT
Download an archived report file. Returns a csv
file containing report
data.
1.5.1 URL
https://aertrafficapi.aeris.com/v1/{accountId}/reports/archives/{archiveId}?fileType=csv&fileAppender=Preview&apiKey={apiKey}
1.5.1.1 Variable Path Parameters
The preceding URL has the following variable path parameters:
Name |
Type |
Constraint |
Description |
|
Int |
Mandatory |
ID of the customer account, as shown in AerPort. |
archiveId |
Int | Mandatory |
Unique archive ID for the request. The archive ID is equivalent to the transaction ID as shown in AerPort. |
1.5.1.2 Query Parameters
The preceding URL has the following query parameters:
Name |
Type |
Constraint |
Description |
|
String |
Mandatory |
Unique API key assigned to your account for accessing the API. The API key is available in AerPort. |
fileAppender |
String | Optional |
|
fileType |
String | Optional | Defines the file format. Currently only csv is
supported. Default is also csv . |
1.5.2 HTTP Headers
The following standard and custom HTTP headers are supported.
Request Headers
HTTP headers required for the request are as follows:
Field Name |
Value |
Constraint |
|
|
Mandatory |
Response Headers
HTTP headers in the response are as follows:
Field Name |
Value |
Description |
|
|
Defines the response format. |
Content-Length |
<n> |
Content length value varies for each response. |
|
|
Date/time the response was received. |
|
|
URL to access the created report. |
1.5.3 Method Type
Method Type |
GET |
1.5.4 Request Payload Description
N/A
1.5.5 Response Payload Description
N/A
1.5.6 Sample Request
GET https://aertrafficapi.aeris.com/v1/{accountId}/reports/archives/{archiveId}?fileType=csv&fileAppender=Preview&apiKey={apiKey}}
1.5.7 Sample Response
Status Code: 200
##Report Type ,Account_Devices_Summary,
##Data Source Last Updated Date/Time ,2024-04-05 02:23:49Z,
##Report Created Date/Time,2024-04-05 02:23:49Z,
##Reserved,
##Reserved,
RATE_PLAN,Device_Count,
"FUSION_NA_25MB","1",
"ALH_2GB_FIC","5",
"FUSION_GL_2MB","25",
"eSIM_rp_27585-2","9",
"FUSION_NA_25MB_T","7",
"FUSION_GL_10MB","13",
"FUSION_NA_10MB","28",
"eSIM_rp_27585-1","9",
2. Scheduled Reports Operations
This API enables you to handle scheduled report operations for your account. The response payloads are structured in JSON format.
2.1 CREATE NEW REPORT TEMPLATE
Create a new scheduled report template.
2.1.1 URL
Report Type | Report Level | URL |
---|---|---|
TRAFFIC_COST_SUMMARY |
Account | https://aertrafficapi.aeris.com/v1/{accountId}/scheduledReports?apiKey={apiKey} |
DEVICE_DETAIL |
Account | https://aertrafficapi.aeris.com/v1/{accountId}/onlineReports?apiKey={apiKey} |
DEVICE_SUMMARY |
Account | https://aertrafficapi.aeris.com/v1/{accountId}/scheduledReports?apiKey={apiKey} |
DEVICE_DAILY_TRAFFIC_USAGE |
Device | https://aertrafficapi.aeris.com/v1/{accountId}/onlineReports?apiKey={apiKey} |
DEVICE_TRAFFIC_USAGE |
Device | https://aertrafficapi.aeris.com/v1/{accountId}/onlineReports?apiKey={apiKey} |
TRAFFIC_DETAIL |
Device | https://aertrafficapi.aeris.com/v1/{accountId}/onlineReports?apiKey={apiKey} |
DEVICE_STATUS_ACTIVITY |
Device | https://aertrafficapi.aeris.com/v1/{accountId}/onlineReports?apiKey={apiKey} |
2.1.1.1 Variable Path Parameters
The preceding URL has the following variable path parameters:
Name |
Type |
Constraint |
Description |
|
Int |
Mandatory |
ID of the customer account, as shown in AerPort. |
2.1.1.2 Query Parameters
The preceding URL has the following query parameters:
Name |
Type |
Constraint |
Description |
|
String |
Mandatory |
Unique API key assigned to your account for accessing the API. The API key is available in AerPort. |
2.1.2 HTTP Headers
The following standard and custom HTTP headers are supported.
Request Headers
HTTP headers required for the request are as follows:
Field Name |
Value |
Constraint |
|
|
Mandatory |
Response Headers
HTTP headers in the response are as follows:
Field Name |
Value |
Description |
|
|
Defines the response format. |
Content-Length |
<n> |
Length of the response. Content length value varies for each response. |
|
|
Date/time the response was received. |
|
|
URL to access the created report. |
2.1.3 Method Type
Method Type |
POST |
2.1.4 Request Payload Description
The request payload is provided as JSON objects with the following attributes:
Attribute Name |
Data Type |
Description |
||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
reportName |
String |
Defines the type of report. Set to one of the following values:
|
||||||||||||
reportType |
String | Set to the same value as reportName . |
||||||||||||
product |
String | Product type(s) to include in the report. Set to one of the following values:
|
||||||||||||
email |
String | Email requesting the report. It is not mandatory to use the primary account user's email. | ||||||||||||
createdBy |
String | Email address of the user creating the report. It is not mandatory to use the primary account user's email. | ||||||||||||
|
Array
|
Array of report filters. Each array item must contain the following:
|
||||||||||||
duration |
Object
|
|
||||||||||||
groupBy |
String | Column header by which to group items in the report. | ||||||||||||
sortBy |
Object | Leave this field blank since this field is used internally by the system. | ||||||||||||
schedule |
Object | Leave this field blank since this field is used internally by the system. | ||||||||||||
reportOnHierarchy |
Boolean | Leave this field blank since this field is used internally by the system. | ||||||||||||
isReportPreview |
Boolean | If true , the report includes a report preview. |
||||||||||||
outputRecordCount |
Number | Leave this field blank since this field is used internally by the system. | ||||||||||||
columns |
Array | Leave this field blank since this field is used internally by the system. |
2.1.5 Response Payload Description
The response payload contains a JSON object with the following fields:
Attribute Name |
Data Type |
Description |
---|---|---|
reportId |
String | ID of the report. |
archiveId |
String |
Unique archive ID for the request. The archive ID is equivalent to the transaction ID, as shown in AerPort. |
reportStatus |
String |
Status of the report. |
resourceURL |
String |
URL of the resource. |
|
String |
URL of the report. |
|
String |
Error message for the request. This value is |
data |
String | Report data. |
requestType |
String | Type of request. The requestType must be
one of the following values:
|
reportPreViewURL |
String |
URL of the report preview. |
eta |
String | Estimated time to generate the template. |
processStartTime |
String | Date/time the process started. |
timeTaken |
Number |
Time taken for the process to complete in ms. |
onlinePreviewReportProcessed |
Boolean | If true , the online report preview was
processed. |
2.1.6 Account Traffic Cost Summary Report
Request
{
"reportName": "TRAFFIC_COST_SUMMARY",
"reportType": "TRAFFIC_COST_SUMMARY",
"product": "ANY",
"email": "aerport@aeris.net",
"createdBy": "aerport@aeris.net",
"filters": null,
"duration": {
"duration": "MONTHTODATE"
},
"groupBy": "POOL_NAME",
"sortBy": {
"columnName": "STATUS",
"order": "ASC"
},
"schedule": {
"frequency": "DAILY"
},
"reportOnHierarchy": false,
"isReportPreview": false,
"outputRecordCount": 100,
"columns": []
}
Response
{
"reportId" : "a20807f0-6021-11e4-b40f-b5aae317b0de",
"archiveId" : null,
"reportStatus" : "PERSISTED",
"resourceURL" : "https://aertrafficapi.aeris.com/v1/{accountId}/scheduledReports/a20807f0-6021-11e4-b40f-b5aae317b0de?apiKey={apiKey}",
"reportURL" : null,
"errorMessage" : null,
"data" : null,
"requestType" : null,
"reportPreViewURL" : null,
"eta" : null,
"processStartTime" : null,
"timeTaken" : null,
"onlinePreviewReportProcessed" : null
}
2.1.7 Account Device Detail Report
Request
{
"reportName": "DEVICE_DETAIL",
"reportType": "DEVICE_DETAIL",
"product": "ANY",
"email": "aerport@aeris.net",
"createdBy": "aerport@aeris.net",
"filters": null,
"duration": {
"duration": "LASTMONTH"
},
"sortBy": {
"columnName": "STATUS",
"order": "ASC"
},
"schedule": {
"frequency": "SPECIFIC_DAY_OF_MONTH",
"dayOfTheMonth": "1"
},
"reportOnHierarchy": false,
"isReportPreview": false,
"outputRecordCount": 100,
"columns": []
}
Response
{
"reportId" : "9e82c780-6023-11e4-96c5-b3672df63f9c",
"archiveId" : null,
"reportStatus" : "PERSISTED",
"resourceURL" : "https://aertrafficapi.aeris.com/v1/(AccountId)/scheduledReports/9e82c780-6023-11e4-96c5-b3672df63f9c?apiKey={apiKey}",
"reportURL" : null,
"errorMessage" : null,
"data" : null,
"requestType" : null,
"reportPreViewURL" : null,
"eta" : null,
"processStartTime" : null,
"timeTaken" : null,
"onlinePreviewReportProcessed" : null
}
2.1.8 Account Device Summary Report
Request
{
"reportName": "DEVICE_SUMMARY",
"reportType": "DEVICE_SUMMARY",
"product": "ANY",
"email": "aerport@aeris.net",
"createdBy": "aerport@aeris.net",
"filters": null,
"groupBy": "REPORT_GROUP",
"sortBy": {
"columnName": "STATUS",
"order": "ASC"
},
"schedule": {
"frequency": "SPECIFIC_DAY_OF_WEEK",
"dayOfTheWeek": "FRIDAY"
},
"reportOnHierarchy": false,
"isReportPreview": false,
"outputRecordCount": 100,
"columns": []
}
Response
{
"reportId" : "1f9ab8f1-6024-11e4-96c5-cbedbb8e0938",
"archiveId" : null,
"reportStatus" : "PERSISTED",
"resourceURL" : "https://aertrafficapi.aeris.com/v1/(AccountId)/scheduledReports/1f9ab8f1-6024-11e4-96c5-cbedbb8e0938?apiKey={apiKey}",
"reportURL" : null,
"errorMessage" : null,
"data" : null,
"requestType" : null,
"reportPreViewURL" : null,
"eta" : null,
"processStartTime" : null,
"timeTaken" : null,
"onlinePreviewReportProcessed" : null
}
2.1.9 Daily Device Traffic Usage Report
Request
{
"reportName": "DEVICE_DAILY_TRAFFIC_USAGE",
"reportType": "DEVICE_DAILY_TRAFFIC_USAGE",
"product": "ANY",
"email": "aerport@aeris.net",
"createdBy": "aerport@aeris.net",
"filters": [
{
"column": {
"columnName": "ICCID",
"value": "89185000170713912345, 891850001707139123456, 89185000170711234567"
},
"operator": "IN"
}
],
"duration": {
"duration": "MONTHTODATE"
},
"sortBy": {
"columnName": "STATUS",
"order": "ASC"
},
"schedule": {
"frequency": "SPECIFIC_DAY_OF_MONTH",
"dayOfTheMonth": "15"
},
"reportOnHierarchy": false,
"isReportPreview": false,
"outputRecordCount": 100,
"columns": []
}
Response
HTTP/1.1 202 Accepted
Server: Apache-Coyote/1.1
Location: http://aertrafficapi.aeris.com/v1/{accountId}/onlineReports/879c83db-5f63-11e4-9697-950730e3f669/status?preview=true&apiKey={apiKey}
Content-Length: 0
2.1.10 Device Traffic Summary Report
Request
{
"reportName": "DEVICE_TRAFFIC_USAGE",
"reportType": "DEVICE_TRAFFIC_USAGE",
"product": "ANY",
"email": "aerport@aeris.net",
"createdBy": "aerport@aeris.net",
"filters": [
{
"column": {
"columnName": "ICCID",
"value": "89185000170713912345, 891850001707139123456, 89185000170711234567"
},
"operator": "IN"
}
],
"duration": {
"duration": "LASTMONTH"
},
"sortBy": {
"columnName": "STATUS",
"order": "ASC"
},
"schedule": {
"frequency": "SPECIFIC_DAY_OF_MONTH",
"dayOfTheMonth": "1"
},
"reportOnHierarchy": false,
"isReportPreview": false,
"outputRecordCount": 100,
"columns": []
}
Response
{
"reportId" : "5e37a9f3-6025-11e4-96c5-29d0d6e51bf2",
"archiveId" : null,
"reportStatus" : "PERSISTED",
"resourceURL" : "https://aertrafficapi.aeris.com/v1/(AccountId)/scheduledReports/5e37a9f3-6025-11e4-96c5-29d0d6e51bf2?apiKey={apiKey}",
"reportURL" : null,
"errorMessage" : null,
"data" : null,
"requestType" : null,
"reportPreViewURL" : null,
"eta" : null,
"processStartTime" : null,
"timeTaken" : null,
"onlinePreviewReportProcessed" : null
}
2.1.11 Daily Traffic Detail Report
Request
{
"reportName": "TRAFFIC_DETAIL",
"reportType": "TRAFFIC_DETAIL",
"product": "ANY",
"email": "aerport@aeris.net",
"createdBy": "aerport@aeris.net",
"filters": [
{
"column": {
"columnName": "TRAFFIC_TYPE",
"value": "ALL"
},
"operator": "IN"
},
{
"column": {
"columnName": "ICCID",
"value": "89185000170713912345, 891850001707139123456, 89185000170711234567"
},
"operator": "IN"
}
],
"duration": {
"duration": "LAST_1_DAY"
},
"sortBy": {
"columnName": "STATUS",
"order": "ASC"
},
"schedule": {
"frequency": "DAILY"
},
"reportOnHierarchy": false,
"isReportPreview": false,
"outputRecordCount": 100,
"columns": []
}
Response
{
"reportId" : "c89d3674-6025-11e4-96c5-07b2d655c15c",
"archiveId" : null,
"reportStatus" : "PERSISTED",
"resourceURL" : "https://aertrafficapi.aeris.com/v1/(AccountId)/scheduledReports/c89d3674-6025-11e4-96c5-07b2d655c15c?apiKey={apiKey}",
"reportURL" : null,
"errorMessage" : null,
"data" : null,
"requestType" : null,
"reportPreViewURL" : null,
"eta" : null,
"processStartTime" : null,
"timeTaken" : null,
"onlinePreviewReportProcessed" : null
}
2.1.12 Device Status Activity Report
Request
{
"reportName": "DEVICE_STATUS_ACTIVITY",
"reportType": "DEVICE_STATUS_ACTIVITY",
"product": "ANY",
"email": "aerport@aeris.net",
"createdBy": "aerport@aeris.net",
"filters": [
{
"column": {
"columnName": "ICCID",
"value": "89185000170713912345, 891850001707139123456, 89185000170711234567"
},
"operator": "IN"
}
],
"duration": {
"duration": "LASTMONTH"
},
"sortBy": {
"columnName": "STATUS",
"order": "ASC"
},
"schedule": {
"frequency": "SPECIFIC_DAY_OF_MONTH",
"dayOfTheMonth": "1"
},
"reportOnHierarchy": false,
"isReportPreview": false,
"outputRecordCount": 100,
"columns": []
}
Response
{
"reportId" : "1a05f8d5-6026-11e4-96c5-b190ad485d8e",
"archiveId" : null,
"reportStatus" : "PERSISTED",
"resourceURL" : "https://aertrafficapi.aeris.com/v1/(AccountId)/scheduledReports/1a05f8d5-6026-11e4-96c5-b190ad485d8e?apiKey={apiKey}",
"reportURL" : null,
"errorMessage" : null,
"data" : null,
"requestType" : null,
"reportPreViewURL" : null,
"eta" : null,
"processStartTime" : null,
"timeTaken" : null,
"onlinePreviewReportProcessed" : null
}
2.2 GET LIST OF SCHEDULED TEMPLATES
Get a list of scheduled report templates for an account.
2.2.1 URL
http://aertrafficapi.aeris.com/v1/{accountId}/scheduledReports?count={count}&apiKey={apiKey}
2.2.1.1 Variable Path Parameters
The preceding URL has the following variable path parameters:
Name |
Type |
Constraint |
Description |
|
Int |
Mandatory |
ID of the customer account, as shown in AerPort. |
2.2.1.2 Query Parameters
The preceding URL has the following query parameters:
Name |
Type |
Constraint |
Description |
count |
Number | Optional | Number of archives to return. |
|
String |
Mandatory |
Unique API key assigned to your account for accessing the API. The API key is available in AerPort. |
2.2.2 HTTP Headers
The following standard and custom HTTP headers are supported.
Request Headers
HTTP headers required for the request are as follows:
Field Name |
Value |
Constraint |
|
|
Mandatory |
Response Headers
HTTP headers in the response are as follows:
Field Name |
Value |
Description |
|
|
Defines the response format. |
Content-Length |
<n> |
Length of the respones. Content length value varies for each response. |
|
|
Date/time the response was received. |
|
|
URL to access the created report. |
2.2.3 Method Type
Method Type |
GET |
2.2.4 Request Payload Description
N/A
2.2.5 Response Payload Description
The response payload contains a JSON object with the following fields:
Attribute Name |
Data Type |
Description |
||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
accountId |
Number |
ID of the customer account, as shown in AerPort. |
||||||||||
productId |
Number | ID of the product. | ||||||||||
onBehalfOf |
Number |
Account for which the request was made. | ||||||||||
visibleToSubAccount |
Boolean |
If true , the scheduled templates are
viewable to sub-accounts. Value is true for
ONLINE reports and false for
SCHEDULE reports. |
||||||||||
|
String |
Name of the report. Must be one of the following values:
|
||||||||||
|
Number |
ID of the report. | ||||||||||
email |
String | Email ID of the user that requested the report. | ||||||||||
reportType |
String | Set to the same value as
reportName . |
||||||||||
trafficType |
String |
Type of traffic. Set to one of the following values:
|
||||||||||
product |
String | Product type(s) to include in the report. Set to one of
the following values:
|
||||||||||
reportOnHierarchy |
Boolean | If true , returns reports for all the
accounts in the hierarchy. |
||||||||||
allDevices |
Boolean | If true , all devices are reported on in
the template. |
||||||||||
groupBy |
String | Column header by which to group items in the report. | ||||||||||
sortBy |
Object |
Order of items in the report. Organized by |
||||||||||
filters |
Array
|
Array of report filters. Each array item contains the following:
|
||||||||||
columns |
Array | List of column headers in the report. | ||||||||||
isReportPreview |
Boolean | If true , the template includes a report preview. |
||||||||||
frequency |
String | Day of the week or month for which the template is scheduled. | ||||||||||
dayOfTheWeek |
Number | Day of the week the template is scheduled to send. | ||||||||||
dayOfTheMonth |
Number | Day of the month the template is scheduled to send. | ||||||||||
lastUpdatedBy |
String | Email address of the person who last updated the template. | ||||||||||
lastUpdatedDate |
String | Date/time the template was last updated. | ||||||||||
generationTime |
String | Date/time the template was generated. | ||||||||||
creationTime |
String | Date/time the template was created. | ||||||||||
reportGroup |
String | Group of the report. | ||||||||||
startDate |
String | Earliest date to report on. | ||||||||||
endDate |
String | User-specified last date to report on. | ||||||||||
scheduleEndDate |
String | System-defined last available date to report on. | ||||||||||
timeToLive |
Number | Time until the template goes live. | ||||||||||
clientURL |
String | URL of the client. | ||||||||||
requestType |
String | Type of request. The requestType must be one of the
following values:
|
||||||||||
responseType |
String | Type of response. | ||||||||||
lastArchiveId |
Number | ID of the last archive. | ||||||||||
lastArchiveDate |
String | Date and time the last archive was created. | ||||||||||
outputRecordCount |
Number | Number of output records. | ||||||||||
trendDuration |
String | Duration of the reported activity trend. | ||||||||||
fileNameAppender |
String | String to append to the filename. | ||||||||||
duration |
Object |
Defines the scope of the report in length of time. Set to one of the following values:
|
||||||||||
processStartTime |
String | Date/time the process started. | ||||||||||
reportCriteriaFilePath |
String | Filepath of the report criteria. |
2.2.6 Sample Request
GET http://aertrafficapi.aeris.com/v1/{accountId}/scheduledReports?count={count}&apiKey={apiKey}
2.2.7 Sample Response
{
"accountId" : 1,
"productId" : null,
"onBehalfOf" : 1,
"visibleToSubAccount" : false,
"reportName" : "DEVICE_DETAIL",
"reportId" : {reportId},
"email" : "aerport@aeris.net",
"reportType" : "DEVICE_DETAIL",
"trafficType" : null,
"product" : "ANY",
"reportOnHierarchy" : false,
"allDevices" : false,
"groupBy" : null,
"sortBy" : null,
"filters" : [],
"columns" : [],
"isReportPreview" : false,
"frequency" : "DAILY",
"dayOfTheWeek" : null,
"dayOfTheMonth" : 0,
"lastUpdatedBy" : "aerport@aeris.net",
"lastUpdatedDate" : "2014-12-01 10:05:43Z",
"generationTime" : null,
"creationTime" : "2014-12-01 09:06:00Z",
"reportGroup" : null,
"startDate" : "2014-11-30 00:00:00Z",
"endDate" : "2014-11-30 23:59:59Z",
"scheduleEndDate" : "2999-11-10 09:06:00Z",
"timeToLive" : 0,
"clientURL" : null,
"requestType" : "SCHEDULE",
"responseType" : null,
"lastArchiveId" : {lastArchiveId},
"lastArchiveDate" : "2014-12-01 10:05:43Z",
"outputRecordCount" : null,
"trendDuration" : null,
"fileNameAppender" : null,
"duration" : null,
"processStartTime" : null,
"reportCriteriaFilePath" : null
}
2.3 GET MAP OF SCHEDULE REPORT ARCHIVES
Get a map of reports generated (archives) as a result of scheduled templates for an account. The map is formatted as a key/value pair, where the key contains the report ID and the value contains a collection of archives associated with the report.
2.3.1 URL
http://aertrafficapi.aeris.com/v1/{accountId}/scheduledReports/archives?count={count}&apiKey={apiKey}
2.3.1.1 Variable Path Parameters
The preceding URL has the following variable path parameters:
Name |
Type |
Constraint |
Description |
|
Int |
Mandatory |
ID of the customer account, as shown in AerPort. |
2.3.1.2 Query Parameters
The preceding URL has the following query parameters:
Name |
Type |
Constraint |
Description |
count |
Number | Optional | Number of archives to return. Default is
5 . |
|
String |
Mandatory |
Unique API key assigned to your account for accessing the API. The API key is available in AerPort. |
2.3.2 HTTP Headers
The following standard and custom HTTP headers are supported.
Request Headers
HTTP headers required for the request are as follows:
Field Name |
Value |
Constraint |
|
|
Mandatory |
Response Headers
HTTP headers in the response are as follows:
Field Name |
Value |
Description |
|
|
Defines the response format. |
Content-Length |
<n> |
Length of the response. Content length value varies for each response. |
|
|
Date/time the response was received. |
|
|
URL to access the created report. |
2.3.3 Method Type
Method Type |
GET |
2.3.4 Request Payload Description
N/A
2.3.5 Response Payload Description
The response payload contains a JSON object with the following fields:
Attribute Name |
Data Type |
Description |
---|---|---|
accountId |
String |
ID of the customer account, as shown in AerPort. |
reportURL |
String | URL of the report. |
status |
String |
Status of the report. |
previewTimeTaken |
Number |
Time taken to create the preview. |
timeTaken |
Number |
Time taken for the process to complete in ms. |
|
String |
Date/time the report was last downloaded. |
reportPreViewURL |
String |
URL of the report preview. |
isScheduled |
Boolean | If true , the report is
scheduled. |
message |
String |
Message containing report details. |
createTime |
String | Time the report was created. |
reportName |
String |
Name of the report. Must be one of the following values:
|
reportType |
String | Set to the same value as reportName . |
createdBy |
String | Email address of the user who created the report. |
lastUpdated |
String | Date/time the report was last updated. |
reportId |
Number | ID of the report. |
archiveId |
Number |
Unique archive ID for the request. The archive ID is equivalent to the transaction ID as shown in AerPort. |
2.3.6 Sample Request
GET http://aertrafficapi.aeris.com/v1/{accountId}/scheduledReports/archives?count={count}&apiKey={apiKey}
2.3.7 Sample Response
{
"d4b09f2d-5da1-11e4-93ba-a918c60a4dde" : [ {
"accountId" : 1,
"reportURL" : "https://aer-reports-prod.s3-us-west-2.amazonaws.com/Prod/1/2014-12/SCHEDULE/DAILY/d4b09f2d-5da1-11e4-93ba-a918c60a4dde/bbe93044-7930-11e4-b477-93f314bace93/Test2-27Oct14_Complete.csv?AWSAccessKeyId=AKIAITG76A4CJK2HOBYA&Expires=1418025895&Signature=rXysoMKPnjjRdAu2NeOdQG3S5co%3D",
"status" : "COMPLETE",
"previewTimeTaken" : 0,
"timeTaken" : 2375,
"lastDownloaded" : null,
"reportPreViewURL" : null,
"isScheduled" : true,
"message" : "NO DATA",
"createTime" : "2014-12-01 08:04:55Z",
"reportName" : "DEVICE_TRAFFIC_USAGE",
"reportType" : "DEVICE_TRAFFIC_USAGE",
"createdBy" : "aerport@aeris.net",
"lastUpdated" : null,
"reportId" : "d4b09f2d-5da1-11e4-93ba-a918c60a4dde",
"archiveId" : "bbe93044-7930-11e4-b477-93f314bace93"
}, {
"accountId" : 1,
"reportURL" : "https://aer-reports-prod.s3-us-west-2.amazonaws.com/Prod/1/2014-11/SCHEDULE/DAILY/d4b09f2d-5da1-11e4-93ba-a918c60a4dde/f6a59c07-782c-11e4-8513-af5ba55e9ce1/Test2-27Oct14_Complete.csv?AWSAccessKeyId=AKIAITG76A4CJK2HOBYA&Expires=1417914324&Signature=mLddy3mcGzse1FE2p7NTzgafsdc%3D",
"status" : "COMPLETE",
"previewTimeTaken" : 0,
"timeTaken" : 1411,
"lastDownloaded" : null,
"reportPreViewURL" : null,
"isScheduled" : true,
"message" : "NO DATA",
"createTime" : "2014-11-30 01:05:24Z",
"reportName" : "DEVICE_TRAFFIC_USAGE",
"reportType" : "DEVICE_TRAFFIC_USAGE",
"createdBy" : "aerport@aeris.net",
"lastUpdated" : null,
"reportId" : "d4b09f2d-5da1-11e4-93ba-a918c60a4dde",
"archiveId" : "f6a59c07-782c-11e4-8513-af5ba55e9ce1"
}
2.4 VIEW SCHEDULED TEMPLATE
View a scheduled report template.
2.4.1 URL
https://aertrafficapi.aeris.com/v1/{accountId}/scheduledReports/{reportId}?apiKey={apiKey}
2.4.1.1 Variable Path Parameters
The preceding URL has the following variable path parameters:
Name |
Type |
Constraint |
Description |
|
Int |
Mandatory |
ID of the customer account, as shown in AerPort. |
reportId |
Int | Mandatory | ID of the report to view. |
2.4.1.2 Query Parameters
The preceding URL has the following query parameters:
Name |
Type |
Constraint |
Description |
|
String |
Mandatory |
Unique API key assigned to your account for accessing the API. The API key is available in AerPort. |
2.4.2 HTTP Headers
The following standard and custom HTTP headers are supported.
Request Headers
HTTP headers required for the request are as follows:
Field Name |
Value |
Constraint |
|
|
Mandatory |
Response Headers
HTTP headers in the response are as follows:
Field Name |
Value |
Description |
|
|
Defines the response format. |
Content-Length |
<n> |
Length of the response. Content length value varies for each response. |
|
|
Date/time the response was received. |
|
|
URL to access the created report. |
2.4.3 Method Type
Method Type |
GET |
2.4.4 Request Payload Description
N/A
2.4.5 Response Payload Description
The response payload contains a JSON object with the following fields:
Attribute Name |
Data Type |
Description |
||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
accountId |
String |
ID of the customer account, as shown in AerPort. |
||||||||||
onBehalfOf |
Number |
ID of the account for which the request was made. | ||||||||||
visibleToSubAccount |
Boolean |
If true , the scheduled templates are viewable to
sub-accounts. Value is true for ONLINE
reports and false for SCHEDULE
reports. |
||||||||||
reportName |
String |
Name of the report. Must be one of the following values:
|
||||||||||
|
String |
ID of the report. | ||||||||||
|
String |
Email ID of the user that requested the report. | ||||||||||
reportType |
String | Set to the same value as reportName . |
||||||||||
trafficType |
String | Type of traffic. Set to one of the following values:
|
||||||||||
product |
String |
Product type(s) to include in the report. Set to one of the following values:
|
||||||||||
reportOnHierarchy |
Boolean | If true , returns reports for all the accounts in the
hierarchy. |
||||||||||
allDevices |
Boolean | If true , all devices are reported on in the
template. |
||||||||||
groupBy |
String | Column header by which to group items in the report. | ||||||||||
sortBy |
Object |
Order of items in the report. Organized by |
||||||||||
filters |
Array
|
Array of report filters. Each array item contains the following:
|
||||||||||
columns |
Array | List of column headers in the report. | ||||||||||
isReportPreview |
Boolean | If true , the template includes a report
preview. |
||||||||||
frequency |
String | Day of the week or month for which the template is scheduled. | ||||||||||
dayOfTheWeek |
Number | Day of the week the template is scheduled to send. | ||||||||||
dayOfTheMonth |
Number | Day of the month the template is scheduled to send. | ||||||||||
lastUpdatedBy |
String | Email address of the person who last updated the template. | ||||||||||
lastUpdatedDate |
String | Date/time the template was last updated. | ||||||||||
generationTime |
String | Date/time the template was generated. | ||||||||||
creationTime |
String | Date/time the template was created. | ||||||||||
reportGroup |
String | Group of the report. | ||||||||||
startDate |
String | Earliest date to report on. | ||||||||||
endDate |
String | User-specified last date to report on. | ||||||||||
scheduleEndDate |
String | System-defined last available date to report on. | ||||||||||
timeToLive |
Number | Time until the template goes live. | ||||||||||
clientURL |
String | URL of the client. | ||||||||||
requestType |
String | Type of request. The requestType must be one of the
following values:
|
||||||||||
responseType |
String | Type of response. | ||||||||||
lastArchiveId |
String | ID of the last archive. | ||||||||||
lastArchiveDate |
String | Date and time the last archive was created. | ||||||||||
outputRecordCount |
Number | Number of output records. | ||||||||||
trendDuration |
String | Duration of the reported activity trend. | ||||||||||
fileNameAppender |
String | String to append to the filename. | ||||||||||
duration |
List |
Defines the scope of the report in length of time. Set to one of the following values:
|
||||||||||
processStartTime |
String | Date/time the process started. |
2.4.6 Sample Request
GET https://aertrafficapi.aeris.com/v1/{accountId}/scheduledReports/{reportId}?apiKey={apiKey}
2.4.7 Sample Response
{
"accountId" : {AccountId},
"onBehalfOf" : {Sub-account ID},
"visibleToSubAccount" : false,
"reportName" : "TRAFFIC_COST_SUMMARY",
"reportId" : "a20807f0-6021-11e4-b40f-b5aae317b0de",
"email" : "aerport@aeris.net",
"reportType" : "TRAFFIC_COST_SUMMARY",
"trafficType" : null,
"product" : "ANY",
"reportOnHierarchy" : false,
"allDevices" : false,
"groupBy" : "POOL_NAME",
"sortBy" : null,
"filters" : [ ],
"columns" : [ ],
"isReportPreview" : false,
"frequency" : "DAILY",
"dayOfTheWeek" : null,
"dayOfTheMonth" : 0,
"lastUpdatedBy" : "aerport@aeris.net",
"lastUpdatedDate" : "2014-10-30 10:43:49Z",
"generationTime" : null,
"creationTime" : "2014-10-30 10:43:49Z",
"reportGroup" : null,
"startDate" : "2014-10-01 00:00:00Z",
"endDate" : "2014-10-30 23:59:59Z",
"scheduleEndDate" : "2999-11-10 10:43:49Z",
"timeToLive" : 0,
"clientURL" : null,
"requestType" : "SCHEDULE",
"responseType" : null,
"lastArchiveId" : null,
"lastArchiveDate" : null,
"outputRecordCount" : null,
"trendDuration" : null,
"fileNameAppender" : null,
"duration" : "MONTHTODATE",
"processStartTime" : null
}
2.5 DOWNLOAD ARCHIVED REPORT
Download an archived report file (online
or
scheduled
).
2.5.1 URL
https://aertrafficapi.aeris.com/v1/{accountId}/reports/archives/{archiveId}?fileType={fileType}&fileAppender={fileAppender}&apiKey={apiKey}
2.5.1.1 Variable Path Parameters
The preceding URL has the following variable path parameters:
Name |
Type |
Constraint |
Description |
|
Int |
Mandatory |
ID of the customer account, as shown in AerPort. |
archiveId |
Int | Mandatory |
Unique archive ID for the request. The archive ID is equivalent to the transaction ID as shown in AerPort. |
2.5.1.2 Query Parameters
The preceding URL has the following query parameters:
Name |
Type |
Constraint |
Description |
fileType |
String | Optional | Defines the file format. Currently only
csv is supported. Default is
csv . |
fileAppender |
String | Optional |
Preview (to download preview file with
100 records) or Complete (to download complete file).
Default is Complete . |
|
String |
Mandatory |
Unique API key assigned to your account for accessing the API. The API key is available in AerPort. |
2.5.2 HTTP Headers
The following standard and custom HTTP headers are supported.
Request Headers
HTTP headers required for the request are as follows:
Field Name |
Value |
Constraint |
|
|
Mandatory |
Response Headers
HTTP headers in the response are as follows:
Field Name |
Value |
Description |
|
|
Defines the response format. |
Content-Length |
<n> |
Length of the response. Content length value varies for each response. |
|
|
Date/time the response was received. |
|
|
URL to access the created report. |
2.5.3 Method Type
Method Type |
GET |
2.5.4 Request Payload Description
N/A
2.5.5 Response Payload Description
N/A
2.5.6 Sample Request
GET https://aertrafficapi.aeris.com/v1/{accountId}/reports/archives/{archiveId}? fileType={fileType}&fileAppender={fileAppender}&apiKey={apiKey}
2.5.7 Sample Response
Status Code: 200 OK
##Report Type ,Account_Devices_Summary,
##Data Source Last Updated Date/Time ,2024-04-05 02:23:49Z,
##Report Created Date/Time,2024-04-05 02:23:49Z,
##Reserved,
##Reserved,
RATE_PLAN,Device_Count,
"FUSION_NA_25MB","1",
"ALH_2GB_FIC","5",
"FUSION_GL_2MB","25",
"eSIM_rp_27585-2","9",
"FUSION_NA_25MB_T","7",
"FUSION_GL_10MB","13",
"FUSION_NA_10MB","28",
"eSIM_rp_27585-1","9",
2.6 UPDATE SCHEDULED TEMPLATE
Update a scheduled report template.
2.6.1 URL
https://aertrafficapi.aeris.com/v1/{accountId}/scheduledReports/{reportId}?apiKey={apiKey}
2.6.1.1 Variable Path Parameters
The preceding URL has the following variable path parameters:
Name |
Type |
Constraint |
Description |
|
Int |
Mandatory |
ID of the customer account, as shown in AerPort. |
reportId |
Int | Mandatory | ID of the report to retrieve. |
2.6.1.2 Query Parameters
The preceding URL has the following query parameters:
Name |
Type |
Constraint |
Description |
|
String |
Mandatory |
Unique API key assigned to your account for accessing the API. The API key is available in AerPort. |
2.6.2 HTTP Headers
The following standard and custom HTTP headers are supported.
Request Headers
HTTP headers required for the request are as follows:
Field Name |
Value |
Constraint |
|
|
Mandatory |
Response Headers
HTTP headers in the response are as follows:
Field Name |
Value |
Description |
|
|
Defines the response format. |
Content-Length |
<n> |
Length of the response. Content length value varies for each response. |
|
|
Date/time the response was received. |
|
|
URL to access the created report. |
2.6.3 Method Type
Method Type |
PUT |
2.6.4 Request Payload Description
The request payload is provided as JSON objects with the following attributes:
Attribute Name |
Data Type |
Description |
||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
reportName |
String |
Defines the type of report. Set to one of the following values:
|
||||||||||||
reportType |
String | Set to the same value as reportName . |
||||||||||||
product |
String | Product type(s) to include in the report. Set to one of the following values:
|
||||||||||||
email |
String | Email ID of the user requesting the report. It is not mandatory to use the primary account user's email. | ||||||||||||
|
String |
Email ID of the user creating the report. It is not mandatory to use the primary account user's email. | ||||||||||||
filters |
Array
|
Array of report filters. Each array item must contain the following:
|
||||||||||||
duration |
Object
|
|
||||||||||||
groupBy |
String | Column header by which to group items in the report. | ||||||||||||
sortBy |
Object | Leave this field blank since this field is used internally by the system. | ||||||||||||
schedule |
Object | Leave this field blank since this field is used internally by the system. | ||||||||||||
reportOnHierarchy |
Boolean | Leave this field blank since this field is used internally by the system. | ||||||||||||
isReportPreview |
Boolean | Leave this field blank since this field is used internally by the system. | ||||||||||||
outputRecordCount |
Number | Leave this field blank since this field is used internally by the system. | ||||||||||||
columns |
Array | Leave this field blank since this field is used internally by the system. |
2.6.5 Response Payload Description
The response payload contains a JSON object with the following fields:
Attribute Name |
Data Type |
Description |
---|---|---|
|
String |
ID of the report. |
archiveId |
String |
Unique archive ID for the request. The archive ID is equivalent to the transaction ID as shown in AerPort. |
reportStatus |
String | Status of the report |
resourceURL |
String |
URL of the resource. |
reportURL |
String |
URL of the report. |
errorMessage |
String |
Error message for the request. This value is null
unless the request fails. |
data |
String | Report data. |
requestType |
String | Type of request. The requestType must be one of the
following values:
|
|
String |
URL of the report preview. |
eta |
String | Estimated time to update the template. |
processStartTime |
String | Date/time the process started. |
timeTaken |
Number |
Time taken for the process to complete in ms. |
onlinePreviewReportProcessed |
Boolean | If true , the online report preview was
processed. |
2.6.6 Sample Request
{
"reportName": "TRAFFIC_COST_SUMMARY",
"reportType": "TRAFFIC_COST_SUMMARY",
"product": "ANY",
"email": "aerport@aeris.net",
"createdBy": "aerport@aeris.net",
"filters": null,
"duration": {
"duration": "MONTHTODATE"
},
"groupBy": "POOL_NAME",
"sortBy": {
"columnName": "STATUS",
"order": "ASC"
},
"schedule": {
"frequency": "DAILY"
},
"reportOnHierarchy": false,
"isReportPreview": false,
"outputRecordCount": 100,
"columns": []
}
2.6.7 Sample Response
{
"reportId" : "a20807f0-6021-11e4-b40f-b5aae317b0de",
"archiveId" : null,
"reportStatus" : "PERSISTED",
"resourceURL" : "https://aertrafficapi.aeris.com/v1/{accountId}/scheduledReports/a20807f0-6021-11e4-b40f-b5aae317b0de?apiKey={apiKey}",
"reportURL" : null,
"errorMessage" : null,
"data" : null,
"requestType" : null,
"reportPreViewURL" : null,
"eta" : null,
"processStartTime" : null,
"timeTaken" : null,
"onlinePreviewReportProcessed" : null
}
2.7 DELETE SCHEDULED TEMPLATE
Delete a scheduled report template.
2.7.1 URL
https://aertrafficapi.aeris.com/v1/{accountId}/scheduledReports/{reportId}?category={category}&apiKey={apiKey}
2.7.1.1 Variable Path Parameters
The preceding URL has the following variable path parameters:
Name |
Type |
Constraint |
Description |
|
Int |
Mandatory |
ID of the customer account, as shown in AerPort. |
reportId |
Int | Mandatory | ID of the report to delete. |
2.7.1.2 Query Parameters
The preceding URL has the following query parameters:
Name |
Type |
Constraint |
Description |
category |
String | Optional | Category of the scheduled template to delete. Allowed
category values:
ALL . |
|
String |
Mandatory |
Unique API key assigned to your account for accessing the API. The API key is available in AerPort. |
2.7.2 HTTP Headers
The following standard and custom HTTP headers are supported.
Request Headers
HTTP headers required for the request are as follows:
Field Name |
Value |
Constraint |
|
|
Mandatory |
Response Headers
HTTP headers in the response are as follows:
Field Name |
Value |
Description |
|
|
Defines the response format. |
Content-Length |
<n> |
Length of the response. Content length value varies for each response. |
|
|
Date/time the response was received. |
|
|
URL to access the created report. |
2.7.3 Method Type
Method Type |
DELETE |
2.7.4 Request Payload Description
N/A
2.7.5 Response Payload Description
N/A
2.7.6 Sample Request
DELETE https://aertrafficapi.aeris.com/v1/{accountId}/scheduledReports/{reportId}?category={category}&apiKey={apiKey}
2.7.7 Sample Response
HTTP/1.1 204 No Content
2.8 DELETE ARCHIVED REPORT
Delete an archived report.
2.8.1 URL
http://aertrafficapi.aeris.com/v1/{accountId}/scheduledReports/archives/{archiveId}?requestType={requestType}&apiKey={apiKey}
2.8.1.1 Variable Path Parameters
The preceding URL has the following variable path parameters:
Name |
Type |
Constraint |
Description |
|
Int |
Mandatory |
ID of the customer account, as shown in AerPort. |
archiveId |
Int | Mandatory |
Unique archive ID for the request. The archive ID is equivalent to the transaction ID as shown in AerPort. |
2.8.1.2 Query Parameters
The preceding URL has the following query parameters:
Name |
Type |
Constraint |
Description |
requestType |
String | Optional | Type of request. The requestType must
be one of the following values:
The default is |
|
String |
Mandatory |
Unique API key assigned to your account for accessing the API. The API key is available in AerPort. |
2.8.2 HTTP Headers
The following standard and custom HTTP headers are supported.
Request Headers
HTTP headers required for the request are as follows:
Field Name |
Value |
Constraint |
|
|
Mandatory |
Response Headers
HTTP headers in the response are as follows:
Field Name |
Value |
Description |
|
|
Defines the response format. |
Content-Length |
<n> |
Length of the response. Content length value varies for each response. |
|
|
Date/time the response was received. |
|
|
URL to access the created report. |
2.8.3 Method Type
Method Type |
DELETE |
2.8.4 Request Payload Description
N/A
2.8.5 Response Payload Description
N/A
2.8.6 Sample Request
DELETE http://aertrafficapi.aeris.com/v1/{accountId}/scheduledReports/archives/{archiveId}?requestType={requestType}&apiKey={apiKey}
2.8.7 Sample Response
HTTP/1.1 202 Accepted
2.9 VIEW REPORT RECIPIENTS
View recipient list for a given account ID and report type.
2.9.1 URL
https://aertrafficapi.aeris.com/v1/{accountId}/scheduledReports/recipients/{reportType}?apiKey={apiKey}
2.9.1.1 Variable Path Parameters
The preceding URL has the following variable path parameters:
Name |
Type |
Constraint |
Description |
|
Int |
Mandatory |
ID of the customer account, as shown in AerPort. |
reportType |
String | Mandatory | Type of report to retrieve. Allowed report types:
|
2.9.1.2 Query Parameters
The preceding URL has the following query parameters:
Name |
Type |
Constraint |
Description |
|
String |
Mandatory |
Unique API key assigned to your account for accessing the API. The API key is available in AerPort. |
2.9.2 HTTP Headers
The following standard and custom HTTP headers are supported.
Request Headers
HTTP headers required for the request are as follows:
Field Name |
Value |
Constraint |
|
|
Mandatory |
Response Headers
HTTP headers in the response are as follows:
Field Name |
Value |
Description |
|
|
Defines the response format. |
Content-Length |
<n> |
Length of the response. Content length value varies for each response. |
|
|
Date/time the response was received. |
|
|
URL to access the created report. |
2.9.3 Method Type
Method Type |
GET |
2.9.4 Request Payload Description
N/A
2.9.5 Response Payload Description
The response payload contains a JSON object with the following fields:
Attribute Name |
Data Type |
Description |
---|---|---|
|
String |
Type of report. Allowed report types:
|
recipients |
String | Email addresses of report recipients. |
accountId |
String |
ID of the customer account, as shown in AerPort. |
2.9.6 Sample Request
GET https://aertrafficapi.aeris.com/v1/{accountId}/scheduledReports/recipients/{reportType}?apiKey={apiKey}
2.9.7 Sample Response
{
"reportType" : "DEVICE_STATUS_ACTIVITY",
"recipients" : [ "abc@abc.com", "aerport@aeris.net" ],
"accountId" : 1
}
2.10 UPDATE REPORT RECIPIENTS
Update recipient list for a given account and report type.
2.10.1 URL
https://aertrafficapi.aeris.com/v1/{accountId}/scheduledReports/recipients?apiKey={apiKey}
2.10.1.1 Variable Path Parameters
The preceding URL has the following variable path parameters:
Name |
Type |
Constraint |
Description |
|
Int |
Mandatory |
ID of the customer account, as shown in AerPort. |
2.10.1.2 Query Parameters
The preceding URL has the following query parameters:
Name |
Type |
Constraint |
Description |
|
String |
Mandatory |
Unique API key assigned to your account for accessing the API. The API key is available in AerPort. |
2.10.2 HTTP Headers
The following standard and custom HTTP headers are supported.
Request Headers
HTTP headers required for the request are as follows:
Field Name |
Value |
Constraint |
|
|
Mandatory |
Response Headers
HTTP headers in the response are as follows:
Field Name |
Value |
Description |
|
|
Defines the response format. |
Content-Length |
<n> |
Length of response. Content length value varies for each response. |
|
|
Date/time the response was received. |
|
|
URL to access the created report. |
2.10.3 Method Type
Method Type |
PUT |
2.10.4 Request Payload Description
The request payload is provided as JSON objects with the following attributes:
Attribute Name |
Data Type |
Description |
---|---|---|
|
String |
Type of report. Allowed report types:
|
recipients |
Array | Array of email addresses to send the report. |
2.10.5 Response Payload Description
The response payload contains a JSON object with the following fields:
Attribute Name |
Data Type |
Description |
---|---|---|
|
String |
URL of the specified resource. |
errorMessage |
String | Error message for the reqeust. This value is null
unless the request fails. |
2.10.6 Sample Request
{
"reportType": "DEVICE_STATUS_ACTIVITY",
"recipients": [
"qqq@aa.com",
"abc@abc.com",
"aerport@aeris.net"
]
}
Note: You can provide multiple comma-separated email address. Max email
address limit is 5
.
2.10.7 Sample Response
{
"resourceURL" : "https://aertrafficapi.aeris.com/v1/{accountId}/scheduledReports/recipients/DEVICE_STATUS_ACTIVITY?apiKey={apiKey}",
"errorMessage" : null
}
3. Trend Reports Operations
This API enables you to handle trend report operations for your account. The response payloads are structured in JSON format.
3.1 TRAFFIC SUMMARY REPORT
Get Traffic Summary Report (Packet and SMS) for the specified number of days.
3.1.1 URL
https://aertrafficapi.aeris.com/v1/{accountId}/systemReports/trafficSummary?durationInDays=7&apiKey={apiKey}&subAccounts=false
3.1.1.1 Variable Path Parameters
The preceding URL has the following variable path parameters:
Name |
Type |
Constraint |
Description |
|
Int |
Mandatory |
ID of the customer account, as shown in AerPort. |
3.1.1.2 Query Parameters
The preceding URL has the following query parameters:
Name |
Type |
Constraint |
Description |
durationInDays |
Number | Mandatory | Default durationInDays is
7 days. |
|
String |
Mandatory |
Unique API key assigned to your account for accessing the API. The API key is available in AerPort. |
subAccounts |
Boolean | Mandatory | If set to true , this includes data
from child accounts as well. Default is false . |
trafficType |
String | Optional | Default trafficType is SMS. Currently
AerTraffic only support the following traffic types:
|
3.1.2 HTTP Headers
The following standard and custom HTTP headers are supported.
Request Headers
HTTP headers required for the request are as follows:
Field Name |
Value |
Constraint |
|
|
Mandatory |
Response Headers
HTTP headers in the response are as follows:
Field Name |
Value |
Description |
|
|
Defines the response format. |
Content-Length |
<n> |
Length of the response. Content length value varies for each response. |
|
|
Date/time the response was received. |
|
|
URL to access the created report. |
3.1.3 Method Type
Method Type |
GET |
3.1.4 Request Payload Description
N/A
3.1.5 Response Payload Description
The response payload contains a JSON object with the following fields:
Attribute Name |
Data Type |
Description |
---|---|---|
|
Number |
ID of the customer account, as shown in AerPort. |
deviceId |
Number | ID of the device. |
bytesIn |
Number | Bytes of information received on the specified date. |
bytesOut |
Number | Bytes of data sent on the specified date. |
bytesTransferred |
Number | Bytes of data transferred on the specified date. |
sessionCount |
Number | Number of sessions on the specified date. |
smsMessages |
Number | Number of messages sent on the specified date. |
voiceCalls |
Number | Number of voice calls made on the specified date. |
eventDate |
String | Date of the reported events. |
voiceDuration |
Number | Total duration of voice calls on the specified date. |
date |
String | Date of the specified events. |
totalSMSCount |
String | Total SMS count on the specified date. |
packetDataKb |
String | KBs of packet data process on the specified date. |
totalVoiceCount |
String | Total voice count for the specified date. |
3.1.6 Sample Request
GET https://aertrafficapi.aeris.com/v1/{accountId}/systemReports/trafficSummary?durationInDays=7&apiKey={apiKey}&subAccounts=false
3.1.7 Sample Response
[ {
"accountId" : 0,
"deviceId" : 0,
"bytesIn" : 0,
"bytesOut" : 0,
"bytesTransferred" : 0,
"sessionCount" : 0,
"smsMessages" : 0,
"voiceCalls" : 0,
"eventDate" : null,
"voiceDuration" : 0,
"date" : "2016-10-06",
"totalSMSCount" : "1174",
"packetDataKb" : "14357.75",
"totalVoiceCount" : "0"
}, {
"accountId" : 0,
"deviceId" : 0,
"bytesIn" : 0,
"bytesOut" : 0,
"bytesTransferred" : 0,
"sessionCount" : 0,
"smsMessages" : 0,
"voiceCalls" : 0,
"eventDate" : null,
"voiceDuration" : 0,
"date" : "2016-10-07",
"totalSMSCount" : "1150",
"packetDataKb" : "8102.79",
"totalVoiceCount" : "0"
}, {
"accountId" : 0,
"deviceId" : 0,
"bytesIn" : 0,
"bytesOut" : 0,
"bytesTransferred" : 0,
"sessionCount" : 0,
"smsMessages" : 0,
"voiceCalls" : 0,
"eventDate" : null,
"voiceDuration" : 0,
"date" : "2016-10-08",
"totalSMSCount" : "1393",
"packetDataKb" : "5952.46",
"totalVoiceCount" : "0"
} ]
3.2 OVERAGE CHARGES REPORT
Get Overage Charges Reports for the specified number of months.
3.2.1 URL
https://aertrafficapi.aeris.com/v1/{accountId}/systemReports/costSummary?durationInMonths=2&apiKey={apiKey}&subAccounts=false
3.2.1.1 Variable Path Parameters
The preceding URL has the following variable path parameters:
Name |
Type |
Constraint |
Description |
|
Int |
Mandatory |
ID of the customer account, as shown in AerPort. |
3.2.1.2 Query Parameters
The preceding URL has the following query parameters:
Name |
Type |
Constraint |
Description |
durationInMonths |
Number | Mandatory |
Number of months included in the report. Default
|
|
String |
Mandatory |
Unique API key assigned to your account for accessing the API. The API key is available in AerPort. |
subAccounts |
Boolean | Mandatory | If set to true , this includes data
from child accounts as well. Default is false . |
3.2.2 HTTP Headers
The following standard and custom HTTP headers are supported.
Request Headers
HTTP headers required for the request are as follows:
Field Name |
Value |
Constraint |
|
|
Mandatory |
Response Headers
HTTP headers in the response are as follows:
Field Name |
Value |
Description |
|
|
Defines the response format. |
Content-Length |
<n> |
Content length value varies for each response. |
|
|
Date/time the response was received. |
|
|
URL to access the created report. |
3.2.3 Method Type
Method Type |
GET |
3.2.4 Request Payload Description
N/A
3.2.5 Response Payload Description
The response payload contains a JSON object with the following fields:
Attribute Name |
Data Type |
Description |
---|---|---|
|
String |
Month associated with the included details. |
packetDataCharges |
String | Packet data charges for the specified month. |
smsCharges |
String | SMS charges for the specified month. |
voiceCharges |
String | Voice charges for the specified month. |
3.2.6 Sample Request
GET https://aertrafficapi.aeris.com/v1/{accountId}/systemReports/costSummary?durationInMonths=2&apiKey={apiKey}&subAccounts=false
3.2.7 Sample Response
[ {
"month" : "Aug 2014",
"packetDataCharges" : "106.95",
"smsCharges" : ".64",
"voiceCharges" : "0"
}, {
"month" : "Sep 2014",
"packetDataCharges" : "250.05",
"smsCharges" : "4.56",
"voiceCharges" : "10.6"
}, {
"month" : "Oct 2014",
"packetDataCharges" : "28.49",
"smsCharges" : "0",
"voiceCharges" : ".4"
} ]
3.3 DEVICE SUMMARY REPORT
Get a Device Summary Report for a specified number of months.
3.3.1 URL
https://aertrafficapi.aeris.com/v1/{accountId}/systemReports/deviceSummary?durationInMonths=3&apiKey={apiKey}&subAccounts=false
3.3.1.1 Variable Path Parameters
The preceding URL has the following variable path parameters:
Name |
Type |
Constraint |
Description |
|
Int |
Mandatory |
ID of the customer account, as shown in AerPort. |
3.3.1.2 Query Parameters
The preceding URL has the following query parameters:
Name |
Type |
Constraint |
Description |
durationInMonths |
Number | Mandatory | Number of months included in the report. Default
durationInMonths is 3 months. |
|
String |
Mandatory |
Unique API key assigned to your account for accessing the API. The API key is available in AerPort. |
subAccounts |
Boolean | Mandatory | If set to true , this includes data
from child accounts as well. Default is false . |
3.3.2 HTTP Headers
The following standard and custom HTTP headers are supported.
Request Headers
HTTP headers required for the request are as follows:
Field Name |
Value |
Constraint |
|
|
Mandatory |
Response Headers
HTTP headers in the response are as follows:
Field Name |
Value |
Description |
|
|
Defines the response format. |
Content-Length |
<n> |
Length of the response. Content length value varies for each response. |
|
|
Date/time the response was received. |
|
|
URL to access the created report. |
3.3.3 Method Type
Method Type |
GET |
3.3.4 Request Payload Description
N/A
3.3.5 Response Payload Description
The response payload contains a JSON object with the following fields:
Attribute Name |
Data Type |
Description |
---|---|---|
|
String |
ID of the customer account, as shown in AerPort. |
month |
String | Month associated with the included details. |
provisionedCount |
String | Number of provisioned devices in the account. |
billedCount |
String | Number of billed devices in the account. |
suspendedCount |
String | Number of suspended devices in the account. |
cancelledCount |
String | Number of cancelled devices in the account. |
3.3.6 Sample Request
GET https://aertrafficapi.aeris.com/v1/{accountId}/systemReports/deviceSummary?durationInMonths=3&apiKey={apiKey}&subAccounts=false
3.3.7 Sample Response
[ {
"accountId" : "1",
"month" : "2014-08",
"provisionedCount" : "393",
"billedCount" : "282",
"suspendedCount" : "15",
"cancelledCount" : "10640"
}, {
"accountId" : "1",
"month" : "2014-09",
"provisionedCount" : "428",
"billedCount" : "283",
"suspendedCount" : "15",
"cancelledCount" : "10779"
}, {
"accountId" : "1",
"month" : "2014-10",
"provisionedCount" : "390",
"billedCount" : "286",
"suspendedCount" : "15",
"cancelledCount" : "10942"
} ]
Error Codes
Table 8: HTTP Status Codes
Response Codes |
Response Message |
Description |
---|---|---|
|
|
The request was successful and details about the response can be found in the body of the response. |
|
|
The requested operation was accepted and the body contains information to query on the progress of the request. |
|
|
The requested operation was successful and there is no response body. |
|
|
The request was internally redirected to another URL. |
|
|
Your request was improperly formatted. Verify that your request conforms to this specification and re-issue the request in a properly formatted manner. |
|
|
Unauthorized to access a particular resource. |
|
|
The requested resource does not exist. |
|
|
The request entity has a media type which the server or resource does not
support. For example, the client uploads an image as
|
|
|
The request was well-formed but was unable to be followed due to semantic errors. |
|
|
API failed to process the request because of an error inside the system. |
The following table contains top-level error codes.
Error Code |
Error Message |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The following table contains available error messages for the indicated status codes:
Code |
Error Message |
---|---|
|
|
0 Comments