What’s here?

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™.

AerTraffic Overview

The AerTraffic 2.1 API includes the following set of APIs:

The Online Reports API provides quick reports with a feature to download a report preview and the complete report file.

The Scheduled Reports API provides the ability to create report templates with a defined frequency. The API will trigger the reports on their scheduled frequency and an email will be forwarded to the defined recipients once report generation is complete. A link will be provided in the email to allow the user to download the report.

The 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 URLVersionPurpose
https://aertrafficapi.aeris.com/v11AerTraffic production instance
Table1: AerTraffic Base URL

API XSD Documentation

Attention: The internal data of table “90” is corrupted!

Attention: The internal data of table “91” is corrupted!

API Request, Headers and Parameters

AerTraffic 2.1 APIs are only available over HTTPS.

Each API access must include the appropriate API Key in the request URL as shown in the examples. The parameter name is “apiKey”.

All API must include Content-Type header with value application/json.

API Client Authentication

Every request to the API should be authorized with a valid API Key. This should 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 but of a different account will face un-authorized Exceptions.

The API Keys are unique and secret keys. These must be saved securely and should be shared with authorized users or applications only.

Unique IDs

There are 2 sets of Unique IDs:

Request ID: Every Response will hold a unique 36-bit, alpha-numeric request ID and can be used to track the complete transaction.

Archive ID: Every report generated will be stored with a unique 36-bit, alpha-numeric archive ID.

Date Information

All dates are in Greenwich Mean Time (GMT) for input and output parameters.

Start date inputs are interpreted as “begin” dates and will return records starting with the first second of the date entered.

End date inputs are interpreted as “through” dates and will return records ending with the last second of the date entered.

The billing period calendar month also starts and stops on GMT monthly boundaries.

Report Definitionstopics

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

Formerly named Traffic Cost Summary Report

Summarizes usage and overage charges based on Pool Name or Report Group over a specified time period.

Account Devices Detail Report

Formerly named Device Detail Report

Provides a listing of all devices and device attributes within the selected Device Filters.

Account Devices Summary Report

Formerly named Device Summary Report

Provides a device count based on the group of devices selected.

Device Reports

Device level reports allow you to obtain detailed data for a specific device or group of devices. There are four Device level reports:

Daily Device Traffic Usage Report

Formerly named: Daily Traffic Cost Report

Provides the total SMS, Data, and Voice usage for the indicated device(s) for each day during a specified time period.

Device Traffic Summary Report

Formerly named Traffic Detail Report

Provides details for all network and traffic events (billable and non-billable) for the indicated device(s) over a specified time period. All traffic events are timestamped.

Device Status Activity

Formerly named Device Activity Report

Lists all status changes, rate plan changes, and pool changes for the indicated device(s) over a specified time period in chronological order. This report does not contain any traffic information.

Trend Reports

There are three trend reports available through AerTraffic 2.1:

Device Summary

Provides a high level view of all devices categorized by current status (Provisioned, Billed or Suspended) for the last 3 months.

Overage Charges

Provides overage charges for Packet Data, SMS, and Voice for the last 3 months.

SMS/Packet

Provides total SMS (MO and MT) and Packet usage for each day over the past week.

Online Reports

Online reports are generated upon request and provide an immediate report output.

Once report generation is complete, an email containing a link to download the full report is sent to the user.

The download link provided in the email is valid for 5 days. After 5 days, the link will expire and the report must be generated again.

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 report or a summary report that is generated and delivered via email once per week.

To define a scheduled report, report “templates” are created to specify the report type, report parameters and delivery frequency.

The download link provided in the email is valid for 5 days. After 5 days, the link will expire and the report must be generated again.

Scheduled reports can be delivered on a daily, weekly, or monthly frequency.

A maximum of 5 scheduled reports is allowed per account (additional scheduled reports can be requested by contacting your account manager).

Once report generation is complete, 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 5 days. After 5 days, the link will expire and the report must be retrieved from the report archives (if the report is still available).

Scheduled Report Generation

Scheduled reports are recurring and will continue to generate by the indicated frequency until the report template is deleted.

Scheduled report generation will begin at midnight GMT for the selected frequency and be delivered to the set of 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 will affect all other scheduled reports of the same report type.

Report Archives

The amount of time that a report is available in the archives will vary:

Online Reports

Each online report will be archived for 5 days.

After 5 days, the report will expire and the report will need to be created again in order to obtain the same data.

Scheduled Reports

The 5 most recent reports for each scheduled report template will be archived.

Each daily report will be archived for 5 days.

Each weekly report will be archived for 5 weeks.

Each monthly report will be archived for 5 months.

Report Limitations

The daily scheduled report generation will start at midnight GMT. The device details captured in these reports will be correct up to the last hour.

Cost reports will be run after the End of Day rating process. Therefore, the cost details captured in these reports will be correct up to midnight GMT.

The EOD job takes variable time depending on the volume of traffic. Also, the time increases towards the end of the month therefore the report generation time will vary. The report generation will start 15 minutes after the EOD rating process.

For example: A Traffic Cost Summary Report is scheduled to run daily. On 6/10 the EOD rating process completes at 04:00 GMT. The report generating will start at 04:15 GMT and will reflect the results of the last EOD.

If the EOD rating process fails and is fixed the next day, then the cost data will not be available for cost reports. The scheduled report will still run but the email will contain 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.

API Detailstopics

Online Reports Operations

OperationRequest URIDescription
POST/{accountId}/onlineReports?apiKey={apiKey}Create a new report.
GET/{accountId}/onlineReports/{reportId}/status?preview={BOOLEAN}&apiKey={apiKey}Get the status of a specific report. The following report status are possible: FAILED, PERSISTED, IN_PROGRESS, PREVIEW_READY, COMPLETE.

Query Params:

preview: If preview QueryParam is true then Preview report file is returned else Complete report file is returned.

Note: This API internally redirects to download URL when Report Files are available
GETreports/{reportId}/download?fileAppender={fileAppender}&fileType={fileType}&apiKey={apikey}Download an archived report file (online or scheduled).
Query Params:

fileAppender: Preview (to download preview file with 100 records) or Complete (to download complete file). Default is Complete.

fileType: To support diff file formats however currently 'csv' is supported. Default is also 'csv'.
GET /{accountId}/reports/archives?count={count}&apiKey={apiKey}Get a list of the last n 'ONLINE' archived reports.

Query Params:

count: Specify how many archives needs to be listed
GET/{accountId}/reports/archives/{archiveId}?fileType={fileType}&fileAppender={fileAppender}&apiKey={apiKey}Download an archived report file.

Query Params:

fileAppender: Preview (to download preview file with 100 records) or Complete (to download complete file). Default is Complete

fileType: To support diff file formats however currently 'csv' is supported. Default is also 'csv.'
Table 4: API Operations
<!–

Online Reports

–>

Getting Started

RequestResponse
/{accountId}/onlineReports?apiKey={apiKey}Status Code: 202 Accepted

Show explanation Loading time: 666
Request headers
Location: {root_url}/{accountId}/onlineReports/{reportId}/status?preview=true&apiKey={apiKey}
/{accountId}/onlineReports/{reportId}/status?preview=true&apiKey={apiKey}SUCCESS USE-CASE

Status Code: 301 Moved Permanently
Request headers
Location:{root_url}/{accountId}/reports/reportId/download?fileAppender=Preview&apiKey=apiKey
/{accountId}/onlineReports/{reportId}/status?preview=true&apiKey={apiKey}IN-PROGRESS AND FAILURE USE-CASE

Status Code: 200 OK

{
  "reportStatus" : "IN_PROGRESS",
  "eta" : "10min",
  "message" : null
}

{
  "reportStatus" : "FAILED",
  "eta" : "null",
  "message" : "A Database related error has occurred."
}


Schema Definition: ReportInProgressResponse
/{accountId}/reports/reportId/download?fileAppender=Preview&apiKey=apiKeyA CSV file containing report data is sent back,. Response Headers
"Content-Disposition", "attachment; filename="
Table 5: Getting Started

Create New Report

Account Traffic Cost Summary Report

URL POST https://aertrafficapi.aeris.com/v1/{accountID}/onlineReports?apiKey={API Key}

Schema definition: ReportDefinition


      Account Device Detail Report

      URL POST https://aertrafficapi.aeris.com/v1/{accountID}/onlineReports?apiKey={API Key}

      Schema definition: ReportDefinition


          Account Device Summary Report

          URL POST https://aertrafficapi.aeris.com/v1/{accountID}/onlineReports?apiKey={API Key}

          Schema definition: ReportDefinition


              Daily Device Traffic Usage Report

              URL POST https://aertrafficapi.aeris.com/v1/{accountID}/onlineReports?apiKey={API Key}

              Schema definition: ReportDefinition


                  Device Traffic Summary Report

                  URL POST https://aertrafficapi.aeris.com/v1/{accountID}/onlineReports?apiKey={API Key}

                  Schema definition: ReportDefinition


                      Daily Traffic Detail Report

                      URL POST https://aertrafficapi.aeris.com/v1/{accountID}/onlineReports?apiKey={API Key}

                      Schema definition: ReportDefinition


                          Device Status Activity Report

                          URL POST https://aertrafficapi.aeris.com/v1/{accountID}/onlineReports?apiKey={API Key}

                          Schema definition: ReportDefinition


                              Get Report Status

                              URL GET https://aertrafficapi.aeris.com/v1/{accountID}/onlineReports/{reportId}/status?preview=true&apiKey={apiKey}

                              Schema definition: ReportDefinition

                                Get List of Online Report Archives

                                URL GET http://aertrafficapi.aeris.com/v1/{accountID}/reports/archives?count=1&apiKey={apiKey}

                                Schema definition: ReportDefinition

                                  Scheduled Reports Operations

                                  OperationRequest URIDescription
                                  POST/{accountId}/scheduledReports?apiKey={apiKey}Create new scheduled report template
                                  GET/{accountId}/scheduledReports?count={count}&apiKey={apiKey}Get a list of scheduled templates for an account.

                                  Query Params:

                                  count: Specify count of templates needs to be listed.
                                  GET/{accountId}/scheduledReports/archives?count={count}&apiKey={apiKey}Get a map of reports generated (archives) as a result of scheduled templates for an account. The map holds the report ID as key and list of archives corresponding to that ID as a value.

                                  Query Params:

                                  count: Specify count of templates needs to be listed. Default is 5
                                  GET/{accountId}/scheduledReports/{reportId}?apiKey={apiKey}View a scheduled report template

                                  Query Params:

                                  count: Specify how many archives needs to be listed
                                  GET/{accountId}/reports/archives/{archiveId}?
                                  fileType={fileType}&fileAppender={fileAppender}&apiKey={apiKey}
                                  Download an archived report file (online or scheduled)
                                  Query Params:
                                  fileAppender: Preview (to download preview file with 100 records) or Complete (to download complete file). Default is Complete.
                                  fileType: To support diff file formats however currently 'csv' is supported. Default is also 'csv.'

                                  Query Params:

                                  count: Specify how many archives needs to be listed
                                  PUT/{accountId}/scheduledReports/{reportId}?apiKey={apiKey}Update a scheduled report template
                                  DELETE/{accountId}/scheduledReports/{reportId}?category={category}&apiKey={apiKey}/{accountId}/scheduledReports/{reportId}?category={category}&apiKey={apiKey}
                                  DELETE/{accountId}/scheduledReports/archives/{archiveId}?requestType={requestType}&apiKey={apiKey}Delete an archived report

                                  Query Params:

                                  requestType: It can have: 'ONLINE', 'SCHEDULE' and 'TREND' types. Default is 'SCHEDULE'
                                  GET/{accountId}/scheduledReports/recipients/{reportType}?apiKey={apiKey}View recipient list for a given account ID and report type

                                  Path Params:

                                  reportType: Specify report types: DEVICE_DETAIL, TRAFFIC_DETAIL, TRAFFIC_COST_SUMMARY, DEVICE_DAILY_TRAFFIC_USAGE, DEVICE_SUMMARY, DEVICE_STATUS_ACTIVITY, DEVICE_TRAFFIC_USAGE,
                                  PUT/{accountId}/scheduledReports/recipients?apiKey={apiKey}Update recipient list for a given account and report type.

                                  Sample json:

                                  {"reportType":"DEVICE_DETAIL","recipients":["aerport@aeris.net"]}

                                  Note: You can provide multiple comma-separated email address. Max email address limit is 5
                                  Table 6: Scheduled reports - API operations

                                  Sample Requests and Responses

                                  Create New Report Template

                                  Account Traffic Cost Summary Report

                                  URL POST https://aertrafficapi.aeris.com/v1/{accountID}/scheduledReports?apiKey={API Key}

                                  Schema definition: ReportDefinition


                                      Account Device Detail Report

                                      URL POST https://aertrafficapi.aeris.com/v1/{accountID}/onlineReports?apiKey={API Key}

                                      Schema definition: ReportDefinition


                                          Account Device Summary Report

                                          URL POST https://aertrafficapi.aeris.com/v1/{accountID}/scheduledReports?apiKey={API Key}

                                          Schema definition: ReportDefinition


                                              Daily Device Traffic Usage Report

                                              URL POST https://aertrafficapi.aeris.com/v1/{accountID}/onlineReports?apiKey={API Key}

                                              Schema definition: ReportDefinition


                                                  Device Traffic Summary Report

                                                  URL POST https://aertrafficapi.aeris.com/v1/{accountID}/onlineReports?apiKey={API Key}

                                                  Schema definition: ReportDefinition


                                                      Daily Traffic Detail Report

                                                      URL POST https://aertrafficapi.aeris.com/v1/{accountID}/onlineReports?apiKey={API Key}

                                                      Schema definition: ReportDefinition


                                                          Device Status Activity Report

                                                          URL POST https://aertrafficapi.aeris.com/v1/{accountID}/onlineReports?apiKey={API Key}

                                                          Schema definition: ReportDefinition


                                                              Get List of Scheduled Templates

                                                              URL GET http://report.preprod.aeriscloud.com/v1/1/scheduledReports?apiKey={apiKey}

                                                                Get Map of Schedule Report Archives

                                                                URL GET http://report.preprod.aeriscloud.com/v1/1/scheduledReports/archives?apiKey={apiKey}

                                                                  View Scheduled Template

                                                                  URL GET https://aertrafficapi.aeris.com/v1/{account ID}/scheduledReports/{report ID}?apiKey={API Key}

                                                                  Schema definition: ReportMetadata

                                                                    Update Scheduled Template

                                                                    URL PUT https://aertrafficapi.aeris.com/v1/{account ID}/scheduledReports/{report ID}?apiKey={API Key}

                                                                    Schema definition: ReportDefinition

                                                                      Schema definition: ReportResponse

                                                                        Delete Scheduled Template

                                                                        URL DELETE https://aertrafficapi.aeris.com/v1/{account ID}/scheduledReports/{report ID}?apiKey={API Key}

                                                                          Delete Archived Report

                                                                          URL DELETE http://report.preprod.aeriscloud.com/v1/1/scheduledReports/archives/{archiveId}?apiKey={apiKey}

                                                                            View Report Recipients

                                                                            URL GET https://aertrafficapi.aeris.com/v1/{account ID}/scheduledReports/recipients/{Report Type}?apiKey={API Key}

                                                                              Update Report Recipients

                                                                              URL GET https://aertrafficapi.aeris.com/v1/{account ID}/scheduledReports/recipients?apiKey={API Key}

                                                                              Schema definition: ReportRecipients

                                                                                Schema definition: RecipientResponse

                                                                                  Trend Reports Operations

                                                                                  OperationRequest URIDescription
                                                                                  GET/{accountId}/systemReports/trafficSummary?durationInDays=n&apiKey={apiKey}&trafficType={trafficType}&subAccounts={BOOLEAN}Get Traffic Summary Report (Packet and SMS) for the last n days.

                                                                                  Default 'durationInDays' = 7 days.
                                                                                  Default trafficType is SMS. Currently we support only Packet and SMS trafficTypes.
                                                                                  Default 'subAccounts' = false; if subAccounts flag if set to 'true' this will include data from child accounts as well.
                                                                                  GET/{accountId}/systemReports/costSummary?durationInMonths=n&apiKey={apiKey}&subAccounts={BOOLEAN}Get Overage Charges Report for the last n months.

                                                                                  Default 'durationInMonths' = 3 months.
                                                                                  Default 'subAccounts' = false; if subAccounts flag if set to 'true' this will include data from child accounts as well.
                                                                                  GET/{accountId}/systemReports/deviceSummary?durationInMonths=n&apiKey={apiKey}&subAccounts={BOOLEAN}Get Device Summary Report for the last n months.

                                                                                  Default 'durationInMonths' = 3 months.
                                                                                  Default 'subAccounts' = false; if subAccounts flag if set to 'true' this will include data from child accounts as well.
                                                                                  Table 7: Trend Reports Operations

                                                                                  Sample Requests and Responses

                                                                                  Traffic Summary Report

                                                                                  URL GET https://aertrafficapi.aeris.com/v1/{accountID}/systemReports/trafficSummary?durationInDays=7&apiKey={API Key}&subAccounts=false

                                                                                  Schema definition: TrafficSummaryTrendResponse

                                                                                    Overage Charges Report

                                                                                    URL GET https://aertrafficapi.aeris.com/v1/{accountID}/systemReports/costSummary?durationInMonths=2&apiKey={API Key}&subAccounts=false

                                                                                    Schema definition: CostSummaryTrendResponse

                                                                                      Device Summary Report

                                                                                      URL GET https://aertrafficapi.aeris.com/v1/{accountID}/systemReports/deviceSummary?durationInMonths=3&apiKey={API Key}&subAccounts=false

                                                                                      Schema definition: DeviceSummaryTrendResponse

                                                                                        Error codestopics

                                                                                        Response CodesResponse MessageDescription
                                                                                        200OKThe request was successful and details about the response can be found in the body of the response.
                                                                                        202ACCEPTEDThe requested operation has been accepted and the body contains information to query on the progress of the request.
                                                                                        204NO_CONTENTThe requested operation was successful and there is no response body.
                                                                                        301MOVED_PERMANENTLYThe request was internally redirected to another URL.
                                                                                        400BAD_REQUESTYour request was improperly formatted. You should verify that your request conforms to this specification and re-issue the request in a properly formatted manner.
                                                                                        401UNAUTHORIZEDUnauthorized to access a particular resource.
                                                                                        404NOT_FOUNDThe requested resource does not exist.
                                                                                        415UNSUPPORTED_MEDIA_TYPEThe request entity has a media type which the server or resource does not support. For example, the client uploads an image as image/svg+xml, but the server requires that images use a different format.
                                                                                        422UNPROCESSABLE_ENTITYThe request was well-formed but was unable to be followed due to semantic errors.
                                                                                        500INTERNAL_SERVER_ERRORAPI failed to process the request because of an error inside the system.
                                                                                        Table 8: HTTP Status Codes
                                                                                        Error CodeError Message
                                                                                        1000Unexpected Error.
                                                                                        1001Unexpected Report Processing Error.
                                                                                        1002Data Validation Error (see Validation Message table below).
                                                                                        1003A Database related error has occurred.
                                                                                        1004Unexpected Error while processing the report. Try again later.
                                                                                        1005Data Exchange format error.
                                                                                        1006A Cassandra Database related error has occurred.
                                                                                        Table 9: Top Level Error Codes
                                                                                        CodeValidation Message
                                                                                        1002* Invalid Report Input Data.

                                                                                        * 'All Devices' option is only applicable for Scheduled Reports.

                                                                                        * 'Report Preview' is not applicable for Scheduled Reports.

                                                                                        * 'CUSTOM' Duration is not applicable for Scheduled Reports.

                                                                                        * Invalid Request Type - Should be either ONLINE or SCHEDULE.

                                                                                        * Report can be extracted for only previous one month.

                                                                                        * Invalid Schedule Frequency.

                                                                                        * Invalid Schedule End Date.

                                                                                        * Null Schedule End Date not allowed.

                                                                                        * Invalid Date Range.

                                                                                        * Invalid Date Range - Start date cannot be after end date.

                                                                                        * Invalid Date Range - Schedule End Date - Invalid Day of Month value, should be between 1 and 31.

                                                                                        * Invalid Date Range - Start date can only be first day of the month.

                                                                                        * Invalid Date Range - Start and End Date - Should specify the same month.

                                                                                        * Invalid Date Range - End Date - Should be the last date of the previous month.

                                                                                        * Invalid Date Range - Future dates not allowed.

                                                                                        * Invalid Date Range - Date beyond last 60 days not allowed.

                                                                                        * Account Not billable.

                                                                                        * Invalid Traffic Type filter.

                                                                                        * Input devices not found for the specified Account.

                                                                                        * Invalid device ID type value.

                                                                                        * Invalid MDN format value.

                                                                                        * Invalid MIN format value.

                                                                                        * Please enter less than 1000 devices.

                                                                                        * Invalid device filter or filter not found.

                                                                                        * Device list empty, please enter valid devices for the filter.

                                                                                        * 'All devices' report only allowed for a single day. Please enter same start and end date.

                                                                                        * 'All devices' option not applicable for this report.
                                                                                        Table 10: Validation Messages