AerTraffic – Reports API

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 to application/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

accountId

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

apiKey

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

Content-Type

application/json

Mandatory

Response Headers

HTTP headers in the response are as follows:

Field Name

Value

Description

Content-Type

application/json

Defines the response format.

Content-Length <n> Content length value varies for each response.

Date

<Date and Time Stamp>

Date/time the response was received.

Location

<URL address>

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

reportName

String

Defines the type of report you want to create. Set to one of the following values:

  • TRAFFIC_COST_SUMMARY
  • DEVICE_DETAIL
  • DEVICE_SUMMARY
  • DEVICE_DAILY_TRAFFIC_USAGE
  • DEVICE_TRAFFIC_USAGE
  • TRAFFIC_DETAIL
  • DEVICE_STATUS_ACTIVITY

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:
  • GLOBALSIM
  • ANY

email

String

Email ID of the user requesting the report. It is not mandatory to use the primary account user's email.

createdBy

String

Email ID of the user creating the report. It is not mandatory to use the primary account user's email.

duration

Object

Attribute Name

Data Type

Constraint

duration

String

Mandatory

startDate

String

Optional

endDate String Optional. Required for eSIM.

duration: Defines the scope of the report in length of time. Set to one of the following values:

  • MONTHTODATE
  • LAST_3_DAYS

startDate: Earliest date to report on, yyyy-mm-dd format. This field is required only if you specify a date range. Otherwise set to null.

endDate: Latest date to report on, yyyy-mm-dd format. This field is required only if you specify a date range. Otherwise set to null.

filters

Array

Attribute Name

Data Type

column

Object

columnName

String

value String Array
operator String

Array of report filters. Each array item must contain the following:

  • column: Object with the following parameters:
    • columnName: Name of the report column to filter. Set to one of the following:
      • DEVICEPROFILEID
      • EID
      • ICCID
      • IMSI
      • MSISDN
    • value: Value(s) from the column to filter.
  • operator: Determines the relationship between the chosen column and the set value(s). Set to one of the following:
    • EQUALS
    • NOT_EQUALS
    • IN
    • LIKE
    • BETWEEN
    • LT_EQUALS
    • GT_EQUALS

column

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

archiveId

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
  • In-Progress:
    • Status code: 200 OK
    • Response body:
      {
       "reportStatus" : "IN_PROGRESS",
       "eta" : "10min",
       "message" : null
      }
  • Failure:
    • Status code: 1003 OK
    • Response body:
      {
       "reportStatus" : "FAILED",
       "eta" : "null",
       "message" : "A Database related error has occurred."
      }
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

accountId

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

apiKey

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

Content-Type

application/json

Mandatory

Response Headers

HTTP headers in the response are as follows:

Field Name

Value

Description

Content-Type

application/json

Defines the response format.

Content-Length <n> Content length value varies for each response.

Date

<Date and Time Stamp>

Date/time the response was received.

Location

<URL address>

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

accountId

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

apiKey

String

Mandatory

Unique API key assigned to your account for accessing the API. The API key is available in AerPort.

fileAppender String Optional

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

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

Content-Type

application/json

Mandatory

Response Headers

HTTP headers in the response are as follows:

Field Name

Value

Description

Content-Type

application/json

Defines the response format.

Content-Length <n> Length of the response. Content length value varies for each response.

Date

<Date and Time Stamp>

Date/time the response was received.

Location

<URL address>

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

accountId

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

apiKey

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

Content-Type

application/json

Mandatory

Response Headers

HTTP headers in the response are as follows:

Field Name

Value

Description

Content-Type

application/json

Defines the response format.

Content-Length <n> Length of the response. Content length value varies for each response.

Date

<Date and Time Stamp>

Date/time the response was received.

Location

<URL address>

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.

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

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 Date/time the report was created.
reportName String

Name of the report. Must be one of the following values:

  • TRAFFIC_COST_SUMMARY
  • DEVICE_DETAIL
  • DEVICE_SUMMARY
  • DEVICE_DAILY_TRAFFIC_USAGE
  • DEVICE_TRAFFIC_USAGE
  • TRAFFIC_DETAIL
  • DEVICE_STATUS_ACTIVITY
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&amp;Expires=1418062272&amp;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&amp;Expires=1418062270&amp;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

accountId

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

apiKey

String

Mandatory

Unique API key assigned to your account for accessing the API. The API key is available in AerPort.

fileAppender String Optional

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

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

Content-Type

application/json

Mandatory

Response Headers

HTTP headers in the response are as follows:

Field Name

Value

Description

Content-Type

application/json

Defines the response format.

Content-Length <n> Content length value varies for each response.

Date

<Date and Time Stamp>

Date/time the response was received.

Location

<URL address>

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
The URL required for the Create New Report Template request depends on the type of report to create. The following table shows the required URL for each report type:
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

accountId

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

apiKey

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

Content-Type

application/json

Mandatory

Response Headers

HTTP headers in the response are as follows:

Field Name

Value

Description

Content-Type

application/json

Defines the response format.

Content-Length <n> Length of the response. Content length value varies for each response.

Date

<Date and Time Stamp>

Date/time the response was received.

Location

<URL address>

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:

  • TRAFFIC_COST_SUMMARY
  • DEVICE_DETAIL
  • DEVICE_SUMMARY
  • DEVICE_DAILY_TRAFFIC_USAGE
  • DEVICE_TRAFFIC_USAGE
  • TRAFFIC_DETAIL
  • DEVICE_STATUS_ACTIVITY
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:
  • GLOBALSIM
  • ANY
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.

filters

Array

Attribute Name

Data Type

column

Object

columnName

String

value String Array
operator String

Array of report filters. Each array item must contain the following:

  • column: Object with the following parameters:
    • columnName: Name of the report column to filter. Set to one of the following:
      • DEVICEPROFILEID
      • EID
      • ICCID
      • IMSI
      • MSISDN
    • value: Value(s) from the column to filter.
  • operator: Determines the relationship between the chosen column and the set value(s). Set to one of the following:
    • EQUALS
    • NOT_EQUALS
    • IN
    • LIKE
    • BETWEEN
    • LT_EQUALS
    • GT_EQUALS
duration Object

Attribute Name

Data Type

Constraint

duration

String

Mandatory

startDate

String

Optional

endDate String Optional. Required for eSIM.

duration: Defines the scope of the report in length of time. Set to one of the following values:

  • MONTHTODATE
  • LAST_3_DAYS

startDate: Earliest date to report on, yyyy-mm-dd format. This field is required only if you specify a date range. Otherwise set to null.

endDate: Latest date to report on, yyyy-mm-dd format. This field is required only if you specify a date range. Otherwise set to null.

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.

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:
  • ONLINE
  • SCHEDULE
  • TREND
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

accountId

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.

apiKey

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

Content-Type

application/json

Mandatory

Response Headers

HTTP headers in the response are as follows:

Field Name

Value

Description

Content-Type

application/json

Defines the response format.

Content-Length <n> Length of the respones. Content length value varies for each response.

Date

<Date and Time Stamp>

Date/time the response was received.

Location

<URL address>

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.

reportName

String

Name of the report. Must be one of the following values:

  • TRAFFIC_COST_SUMMARY
  • DEVICE_DETAIL
  • DEVICE_SUMMARY
  • DEVICE_DAILY_TRAFFIC_USAGE
  • DEVICE_TRAFFIC_USAGE
  • TRAFFIC_DETAIL
  • DEVICE_STATUS_ACTIVITY

reportId

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:
  • All
  • SMS
  • Packet
  • Voice
product String Product type(s) to include in the report. Set to one of the following values:
  • GLOBALSIM
  • ANY
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 columnName and order. Allowed order values are ASC or DESC.

filters
Array

Attribute Name

Data Type

column

Object

columnName

String

value String Array
operator String

Array of report filters. Each array item contains the following:

  • column: Object with the following parameters:
    • columnName: Filtered column from the report. Appears as one of the following values:
      • DEVICEPROFILEID
      • EID
      • ICCID
      • IMSI
      • MSISDN
    • value: Filtered value(s) from the given column.
  • operator: Determines the relationship between the chosen column and the set value(s). Appears as one of the following values:
    • EQUALS
    • NOT_EQUALS
    • IN
    • LIKE
    • BETWEEN
    • LT_EQUALS
    • GT_EQUALS
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:
  • ONLINE
  • SCHEDULE
  • TREND
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:

  • MONTHTODATE
  • LAST_3_DAYS
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

accountId

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.

apiKey

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

Content-Type

application/json

Mandatory

Response Headers

HTTP headers in the response are as follows:

Field Name

Value

Description

Content-Type

application/json

Defines the response format.

Content-Length <n> Length of the response. Content length value varies for each response.

Date

<Date and Time Stamp>

Date/time the response was received.

Location

<URL address>

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.

lastDownloaded

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:

  • TRAFFIC_COST_SUMMARY
  • DEVICE_DETAIL
  • DEVICE_SUMMARY
  • DEVICE_DAILY_TRAFFIC_USAGE
  • DEVICE_TRAFFIC_USAGE
  • TRAFFIC_DETAIL
  • DEVICE_STATUS_ACTIVITY
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&amp;Expires=1418025895&amp;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&amp;Expires=1417914324&amp;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

accountId

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

apiKey

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

Content-Type

application/json

Mandatory

Response Headers

HTTP headers in the response are as follows:

Field Name

Value

Description

Content-Type

application/json

Defines the response format.

Content-Length <n> Length of the response. Content length value varies for each response.

Date

<Date and Time Stamp>

Date/time the response was received.

Location

<URL address>

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:

  • TRAFFIC_COST_SUMMARY
  • DEVICE_DETAIL
  • DEVICE_SUMMARY
  • DEVICE_DAILY_TRAFFIC_USAGE
  • DEVICE_TRAFFIC_USAGE
  • TRAFFIC_DETAIL
  • DEVICE_STATUS_ACTIVITY

reportId

String

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:
  • All
  • SMS
  • Packet
  • Voice
product

String

Product type(s) to include in the report. Set to one of the following values:
  • GLOBALSIM
  • ANY
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 columnName and order. Allowed order values are ASC or DESC.

filters
Array

Attribute Name

Data Type

column

Object

columnName

String

value String Array
operator String

Array of report filters. Each array item contains the following:

  • column: Object with the following parameters:
    • columnName: Filtered column from the report. Appears as one of the following values:
      • DEVICEPROFILEID
      • EID
      • ICCID
      • IMSI
      • MSISDN
    • value: Filtered value(s) from the given column.
  • operator: Determines the relationship between the chosen column and the set value(s). Appears as one of the following values:
    • EQUALS
    • NOT_EQUALS
    • IN
    • LIKE
    • BETWEEN
    • LT_EQUALS
    • GT_EQUALS
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:
  • ONLINE
  • SCHEDULE
  • TREND
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:

  • MONTHTODATE
  • LAST_3_DAYS
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

accountId

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.

apiKey

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

Content-Type

application/json

Mandatory

Response Headers

HTTP headers in the response are as follows:

Field Name

Value

Description

Content-Type

application/json

Defines the response format.

Content-Length <n> Length of the response. Content length value varies for each response.

Date

<Date and Time Stamp>

Date/time the response was received.

Location

<URL address>

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

accountId

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

apiKey

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

Content-Type

application/json

Mandatory

Response Headers

HTTP headers in the response are as follows:

Field Name

Value

Description

Content-Type

application/json

Defines the response format.

Content-Length <n> Length of the response. Content length value varies for each response.

Date

<Date and Time Stamp>

Date/time the response was received.

Location

<URL address>

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:

  • TRAFFIC_COST_SUMMARY
  • DEVICE_DETAIL
  • DEVICE_SUMMARY
  • DEVICE_DAILY_TRAFFIC_USAGE
  • DEVICE_TRAFFIC_USAGE
  • TRAFFIC_DETAIL
  • DEVICE_STATUS_ACTIVITY
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:
  • GLOBALSIM
  • ANY
email String Email ID of the user requesting the report. It is not mandatory to use the primary account user's email.

createdBy

String

Email ID of the user creating the report. It is not mandatory to use the primary account user's email.
filters
Array

Attribute Name

Data Type

column

Object

columnName

String

value String Array
operator String

Array of report filters. Each array item must contain the following:

  • column: Object with the following parameters:
    • columnName: Name of the report column to filter. Set to one of the following:
      • DEVICEPROFILEID
      • EID
      • ICCID
      • IMSI
      • MSISDN
    • value: Value(s) from the column to filter.
  • operator: Determines the relationship between the chosen column and the set value(s). Set to one of the following:
    • EQUALS
    • NOT_EQUALS
    • IN
    • LIKE
    • BETWEEN
    • LT_EQUALS
    • GT_EQUALS
duration

Object

Attribute Name

Data Type

Constraint

duration

String

Mandatory

startDate

String

Optional

endDate String Optional. Required for eSIM.

duration: Defines the scope of the report in length of time. Set to one of the following values:

  • MONTHTODATE
  • LAST_3_DAYS

startDate: Earliest date to report on, yyyy-mm-dd format. This field is required only if you specify a date range. Otherwise set to null.

endDate: Latest date to report on, yyyy-mm-dd format. This field is required only if you specify a date range. Otherwise set to null.

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

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.
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:
  • ONLINE
  • SCHEDULE
  • TREND

reportPreViewURL

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

accountId

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:
  • Account Reports
  • Device Reports
Default is ALL.

apiKey

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

Content-Type

application/json

Mandatory

Response Headers

HTTP headers in the response are as follows:

Field Name

Value

Description

Content-Type

application/json

Defines the response format.

Content-Length <n> Length of the response. Content length value varies for each response.

Date

<Date and Time Stamp>

Date/time the response was received.

Location

<URL address>

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

accountId

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:
  • ONLINE
  • SCHEDULE
  • TREND

The default is SCHEDULE.

apiKey

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

Content-Type

application/json

Mandatory

Response Headers

HTTP headers in the response are as follows:

Field Name

Value

Description

Content-Type

application/json

Defines the response format.

Content-Length <n> Length of the response. Content length value varies for each response.

Date

<Date and Time Stamp>

Date/time the response was received.

Location

<URL address>

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

accountId

Int

Mandatory

ID of the customer account, as shown in AerPort.

reportType String Mandatory Type of report to retrieve. Allowed report types:
  • TRAFFIC_COST_SUMMARY
  • DEVICE_DETAIL
  • DEVICE_SUMMARY
  • DEVICE_DAILY_TRAFFIC_USAGE
  • DEVICE_TRAFFIC_USAGE
  • TRAFFIC_DETAIL
  • DEVICE_STATUS_ACTIVITY
2.9.1.2 Query Parameters

The preceding URL has the following query parameters:

Name

Type

Constraint

Description

apiKey

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

Content-Type

application/json

Mandatory

Response Headers

HTTP headers in the response are as follows:

Field Name

Value

Description

Content-Type

application/json

Defines the response format.

Content-Length <n> Length of the response. Content length value varies for each response.

Date

<Date and Time Stamp>

Date/time the response was received.

Location

<URL address>

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

reportType

String

Type of report. Allowed report types:
  • TRAFFIC_COST_SUMMARY
  • DEVICE_DETAIL
  • DEVICE_SUMMARY
  • DEVICE_DAILY_TRAFFIC_USAGE
  • DEVICE_TRAFFIC_USAGE
  • TRAFFIC_DETAIL
  • DEVICE_STATUS_ACTIVITY
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

accountId

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

apiKey

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

Content-Type

application/json

Mandatory

Response Headers

HTTP headers in the response are as follows:

Field Name

Value

Description

Content-Type

application/json

Defines the response format.

Content-Length <n> Length of response. Content length value varies for each response.

Date

<Date and Time Stamp>

Date/time the response was received.

Location

<URL address>

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

reportType

String

Type of report. Allowed report types:
  • TRAFFIC_COST_SUMMARY
  • DEVICE_DETAIL
  • DEVICE_SUMMARY
  • DEVICE_DAILY_TRAFFIC_USAGE
  • DEVICE_TRAFFIC_USAGE
  • TRAFFIC_DETAIL
  • DEVICE_STATUS_ACTIVITY
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

resourceURL

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

accountId

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.

apiKey

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:
  • Packet
  • SMS
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

Content-Type

application/json

Mandatory

Response Headers

HTTP headers in the response are as follows:

Field Name

Value

Description

Content-Type

application/json

Defines the response format.

Content-Length <n> Length of the response. Content length value varies for each response.

Date

<Date and Time Stamp>

Date/time the response was received.

Location

<URL address>

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

accountId

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

accountId

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 durationInMonths is 3 months.

apiKey

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

Content-Type

application/json

Mandatory

Response Headers

HTTP headers in the response are as follows:

Field Name

Value

Description

Content-Type

application/json

Defines the response format.

Content-Length <n> Content length value varies for each response.

Date

<Date and Time Stamp>

Date/time the response was received.

Location

<URL address>

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

month

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

accountId

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.

apiKey

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

Content-Type

application/json

Mandatory

Response Headers

HTTP headers in the response are as follows:

Field Name

Value

Description

Content-Type

application/json

Defines the response format.

Content-Length <n> Length of the response. Content length value varies for each response.

Date

<Date and Time Stamp>

Date/time the response was received.

Location

<URL address>

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

accountId

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

200

OK

The request was successful and details about the response can be found in the body of the response.

202

ACCEPTED

The requested operation was accepted and the body contains information to query on the progress of the request.

204

NO_CONTENT

The requested operation was successful and there is no response body.

301

MOVED_PERMANENTLY

The request was internally redirected to another URL.

400

BAD_REQUEST

Your request was improperly formatted. Verify that your request conforms to this specification and re-issue the request in a properly formatted manner.

401

UNAUTHORIZED

Unauthorized to access a particular resource.

404

NOT_FOUND

The requested resource does not exist.

415

UNSUPPORTED_MEDIA_TYPE

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

422

UNPROCESSABLE_ENTITY

The request was well-formed but was unable to be followed due to semantic errors.

500

INTERNAL_SERVER_ERROR

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

1000

Unexpected Error.

1001

Unexpected Report Processing Error.

1002

Data Validation Error (see Error Message table below).

1003

A Database related error has occurred.

1004

Unexpected Error while processing the report. Try again later.

1005

Data Exchange format error.

1006

A Cassandra Database related error has occurred.

The following table contains available error messages for the indicated status codes:

Code

Error 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.
Have more questions? Submit a request

0 Comments

Article is closed for comments.