Eclipse offers two primary methods of data extraction, namely pull methods, where the tenant downloads data themselves either via the Eclipse admin portal or the reports API, and push methods, where the data is sent to the tenant on a scheduled basis via email, sFTP or a shared file service. In each case, a standard set of reports is available to the tenant by default. Tenants can also request custom reports to be built based on specific reporting requirements. Each reporting option is discussed in detail below.

1) Pull Methods:
1.1. Document Database: All Creates, Updates and Deletes across the system are persisted in JSON format in a document database (MongoDB compliant) under a single collection per tenant. A tenant can request a user capable of connecting to the collection and can then stream and process all events into their own EDW or data analytics.
1.2. Reports API: Eclipse has a rudimentary ad-hoc reporting API for tenants that want to access reports without needing to process the JSON data themselves.
1.3 Manual Download: Tenants can manually download from the list of standard reports or bespoke reports (if applicable) available in the Eclipse admin portal.

2) Push Methods:
2.1. sFTP/Email/Shared File Services: Tenants can choose to have reports delivered to them either via sFTP, email, or via a shared file service such as Google Drive or AWS S3.
Note: If you have chosen to have reports delivered to you via any of the push methods, please complete the MIS Request Form and provide as much detail as possible regarding your request.

3) Other:
3.1. Audit Logging: Eclipse logs all API requests and responses and keeps this data for 3+ years. This data is not generally available to tenants but can be provided on request for specific fraud or similar investigations.

1) Pull Methods

1.1 Document Database

The diagram below shows a typical setup when a tenant connects directly to the Eclipse MongoDB.


Document Database

1.2 Reports API

The reports API is available at the tenant level and is used to run pre-configured reports that take pre-agreed parameters and return documents in either CSV, JSON or XML format. Detailed information about how to use the reports API is available in the API Reference.
The example below (Python) shows how to pull the Digital Wallet Transaction Detail Report (described in further detail here) in JSON format via the report API in Eclipse Sandbox using two date parameters "START_DATE" and "END_DATE".

import requests
import datetime as dt 
import urllib


#Set report name
REPORT_NAME = "Report_digital_wallet_transaction_detail"

#Choose desired format
FORMAT = 'json'

#Set start date and end date parameters
START_DATE = dt.datetime(2022,10,1).isoformat(timespec='milliseconds')
END_DATE = dt.datetime(2022,11,1).isoformat(timespec='milliseconds')

#Submit request
url = f"https://{SANDBOX_URL}/eclipse-conductor/rest/v1/tenants/<TENANT_ID>/reports/{REPORT_NAME}?d1={START_DATE}&d2={END_DATE}&format={FORMAT}"
headers = {
    "accept": "application/json",
    "authorization": <MY_JWT_TOKEN>
response = requests.get(url, headers=headers)

#Save to dataframe
data = pd.DataFrame(response.json())

#Print first 5 rows

1.3 Manual Download

Tenants can download data manually from the Eclipse admin portal by following the steps below:

  • Log in to the Eclipse Admin Portal.
  • Go to the "Reports" section.
  • Click on the "Select Report" dropdown and choose from one of the available reports.
  • Choose an export format (CSV, JSON, XML).
  • Enter the required parameters (if any).
  • Click "Submit"

The screenshot below shows the layout of the "Reports" section along with a list of reports in the dropdown.


Eclipse Admin Portal Reports

2) Push Methods

2.1 sFTP/Email/Shared File Services

Tenants can choose to have reports delivered to them either via sFTP, email, or in a shared folder such as Google Drive or AWS S3.

3) Other

3.1 Audit Logging

Please refer to the section Audit Logging for more details.

The diagram below provides a high level view of all of the reporting options available to the tenant.