Adding new datapoint to Mifos X backend
Adding new user report
Add a new report to the stretchy_report table in Mysql database. Please refer Mifos API documentation on how to add a new report. It can be found here
report name: what ever name you choose
report type: Table,
report sub-type: what ever name you choose(this name will be used in retrieving report data using http get request),
report category: Portal (make sure this is correct),
report sql: sql to retrieve data from mysql tables,
description: small description about datapoint.
After adding above details backend will cache those data automatically by running report in every midnight.
Retrieving cached data from front end
For one report type data can be retrieved as follows:
Request should be made as,
GET https://DomainName/api/v1/client_impact_portal/<report_type>?reportName=<report_name>&tenantIdentifier=<tenant_identifier>&pretty=true
Latest Report : this will return latest report results that are cached in the database
report_type: LatestReport
Report By Date: this will return report result according to a specific date
report_type: reportByDate
reportDate: date should be specified as yyyy-mm-dd as a parameter in the url
Report By Date Range: this will return report results in the specific date range
report_type: reportByDateRange
reportStartDate: date should be specified as yyyy-mm-dd as a parameter in the url
reportEndDate: date should be specified as yyyy-mm-dd as a parameter in the url
Example requests:
https://localhost:8443/mifosng-provider/api/v1/client_impact_portal/latestReport?reportName=Number%20of%20Clients&tenantIdentifier=internaldemo&pretty=true
https://localhost:8443/mifosng-provider/api/v1/client_impact_portal/reportByDate?reportDate=2014-06-06&reportName=Outstanding%20Loans&tenantIdentifier=internaldemo&pretty=true
https://localhost:8443/mifosng-provider/api/v1/client_impact_portal/reportByDateRange?reportStartDate=2014-06-08&reportEndDate=2014-06-14&reportName=Savings%20Amount&tenantIdentifier=internaldemo&pretty=true
Results will be come as JSON responses