Application Packaging Standard

Last updated 18-Mar-2019

RDEReportFile

This APS type is used to create an APS resource for every generated RDE report stored in a cloud repository. The APS resource presents parameters of that report.

Schema

The considered APS type (download) looks as follows:

{
  "name": "RDEReportFile",
  "id": "http://www.odin.com/rde/report-file/1.2",
  "apsVersion": "2.0",
  "implements": [
    "http://aps-standard.org/abstract/types/unlimited-resource/1.0"
  ],
  "relations": {
    "reportTemplate": {
      "type": "http://www.odin.com/rde/report-template/1.2"
    },
    "tenant": {
      "type": "http://www.odin.com/rde/tenant/2.0",
      "required": true
    },
    "customization": {
      "type": "http://www.odin.com/rde/report-customization/1.0"
    }
  },
  "properties": {
    "name": {
      "type": "string"
    },
    "parameters": {
      "type": "ReportParameters"
    },
    "format": {
      "type": "string",
      "enum": [
        "CSV",
        "XML",
        "XLSX",
        "JSON"
      ]
    },
    "status": {
      "type": "string",
      "enum": [
        "PENDING",
        "IN_PROGRESS",
        "READY",
        "FAILED"
      ]
    },
    "filePath": {
      "type": "string"
    },
    "tmpPath": {
      "type": "string"
    },
    "generateDate": {
      "type": "string",
      "format": "date-time"
    },
    "downloadsCounter": {
      "type": "integer"
    },
    "eventType": {
      "type": "string",
      "enum": [
        "PERIODIC",
        "ONETIME",
        "ON_INVOICE"
      ]
    }
  },
  "structures": {
    "ReportParameters": {
      "type": "object",
      "properties": {
        "startDate": {
          "type": "string",
          "format": "date-time"
        },
        "endDate": {
          "type": "string",
          "format": "date-time"
        },
        "period": {
          "type": "string",
          "enum": [
            "P1D",
            "P1M"
          ]
        },
        "invoice": {
          "type": "Invoice"
        }
      }
    },
    "Invoice": {
      "type": "object",
      "properties": {
        "invoiceId": {
          "type": "integer"
        },
        "invoiceNumber": {
          "type": "string"
        },
        "customerAccountId": {
          "type": "integer"
        },
        "customerAccountUUID": {
          "type": "string"
        },
        "invoiceDate": {
          "type": "string",
          "format": "date-time"
        },
        "invoiceDueDate": {
          "type": "string",
          "format": "date-time"
        },
        "invoiceTotal": {
          "type": "number"
        },
        "invoiceTaxTotal": {
          "type": "number"
        },
        "charges": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    }
  }
}

Properties

NAME TYPE ATTRIBUTES DEFAULT DESCRIPTION
downloadsCounter Integer Not Required   Not used.
eventType   Not Required   Report event type that can be either PERIODIC, ONETIME, ON_INVOICE.
filePath String Not Required   Long-live url to report in file storage, lives as long as report.
format   Not Required   Report file format that can be either JSON, XML, XLSX, CSV.
generateDate Date Not Required   The date and time when the report creation process started.
name String Not Required   Human readable description of report template type, such as “Daily report template”, “Monthly report template” or “On invoice report template”.
parameters ReportParameters Not Required   Report parameters specific to a report “type”.
status   Not Required   Status of report creation that can be either PENDING, IN_PROGRESS, READY, FAILED.
tmpPath String Not Required   Short-lived url to report in file storage, lives only 48 hours since report creation.

Relationship

NAME TYPE REQUIRED DESCRIPTION
customization RDEReportCustomization No Link to report customization APS resource.
reportTemplate RDEReportTemplate No Template which has been used to generate this report file.
tenant RDETenant Yes Link to account.

Structures

Invoice

NAME TYPE ATTRIBUTES DEFAULT DESCRIPTION
charges String array Not Required   Not used.
customerAccountId Integer Not Required   Unique internal database identifier of customer.
customerAccountUUID String Not Required    
invoiceDate Date Not Required   Date of invoice creation.
invoiceDueDate Date Not Required   Last date of invoice payment.
invoiceId Integer Not Required   Unique internal database identifier of invoice.
invoiceNumber String Not Required   Reseller’s identifier of invoice.
invoiceTaxTotal   Not Required   Tax on total sum of money of invoice.
invoiceTotal   Not Required   Total sum of money of invoice.

ReportParameters

Parameters specific to report type.

NAME TYPE ATTRIBUTES DEFAULT DESCRIPTION
endDate Date Not Required   Onetime report “date to” limitation.
invoice Invoice Not Required   Invoice that tirggered the generation of the report.
period   Not Required   Periodical report type that can be either P1D or P1M (daily or monthly).
startDate Date Not Required   One time report “date from” limitation.

Examples

Please find general description of create-read-update-delete (CRUD) operations with resources, properties, and structures respectively at: