Data exports
Understand the data sources available for export
Overview
Data exports allow you to directly export selected data from the Root platform. You can download export data on demand or schedule regular exports. Scheduled exports can be run on a daily, weekly or monthly basis and can drop files to an SFTP, HTTPS or S3 server. These files can then be consumed by client-side systems for collections, accounting, custom reporting, business intelligence, et cetera.
Each data export relies on an export template. The template is specific to a single product module and data source. Within the template, you can use handlebars to select the fields you'd like to include. When the platform runs the export, this template will be applied to all the data objects included in the data source, and the selected fields will each be included as a separate column in the CSV output file.
This guide describes the data sources available via the export tooling, and includes a data model illustrating how the available data objects (entities) are related. It is important to distinguish between the following two concepts:
- Data object: An entity stored as a JSON object on the Root platform. For example, a policy, a policyholder and a claim are each stored on Root as a separate data object.
- Data source: A collection of data objects related to a specific theme. For example, the Applications data source includes the application and policyholder objects. A data export template can only reference fields from those data objects included in the selected data source.
Data sources
The table below lists the data sources that can be selected when creating a new export template. The right-hand column lists the data objects available in each data source.
Data source | Available data objects |
---|---|
Applications | Application, Policyholder |
Claims | Claim, Policyholder, Policy |
Complaints | Complaint, Policyholder, Policy |
DebiCheck mandates | DebiCheck mandate, Payment method, Policyholder |
Notifications | Notification |
Payment methods | Payment method |
Payment coupons | Payment coupon |
Payments | Payment, Policyholder, Payment method |
Payout requests | Payout request, Policyholder, Policy, Claim |
Policies | Policy, Policyholder |
Policy charges | Payment, Policyholder |
Policy premiums | Payment, Policyholder |
Policyholders | Policyholder |
When editing or creating a template, you can view the available data objects and the fields included on each object by opening the "Merge vars" pane on the right-hand side of the screen.
Metadata
In addition to the data objects listed above, each data export template also allows you to include certain metadata in your export. These metadata objects are included with the other merge variables and can be referenced using handlebars. Three metadata objects are supported, depending on the export type.
Row number
This is simply the row or record number in the CSV output file. You can include the row number using handlebars like this: {{ row_number }}
.
Scheduled data export
This object is only relevant for scheduled (not ad hoc) data exports. It includes data on the export schedule and destination for the data export. Please see the scheduled data export object for more details an example.
You can reference the properties of the scheduled data export object using handlebars like this: {{ scheduled_data_export.type }}
.
Data export run
This object contains information on the specific run that generated the data export. You can reference properties on this object like this: {{ data_export_run.completed_at }}
Property | Definition |
---|---|
data_export_run_id | string. The UUID of the data export run. |
scheduled_data_export_id | string. The UUID of the scheduled data export that generated the export run. |
created_at | string. The ISO date representing the time that the data export run was created. |
completed_at | string. The ISO date representing the time that the data export run was completed. |
status | string. The current status of the data export run. One of [in_progress, failed, complete] . |
file_id optional | string. The UUID of the data export output file, if successful. |
{
"data_export_run_id": "34233912-c91f-4dc9-bfed-c10d16be26af",
"scheduled_data_export_id": "4ab082f2-864e-4bcf-bc17-75664a25f2e1",
"created_at": "2019-03-09T08:07:59.044Z",
"completed_at": "2019-03-09T08:08:02.178Z",
"status": "complete",
"file_id": "74ce9562-4242-11e9-904a-7b14ba20f082"
}
Data model
This diagram illustrates the relationships between the various data objects available for export.
Note: This model includes only entities available for export, and does not represent a comprehensive entity relationship diagram for the Root platform. Only a subset of the fields available on each object is shown in the diagram (specifically, the keys of related objects).
Data range
When creating a scheduled or ad hoc data export, you will need to select data range to filter the records in the export. The filter is applied to the created_at
field on the data object.
The table below explains how each of the supported date range filters are applied. The table assumes the export is run at 16:00 on 2022-05-17.
Selected data range | Result |
---|---|
Today | The export will include entries created between 00:00 and 16:00 on 2022-05-17. |
Week to date | The export will include entries created between 2022-05-15 at 00:00 (the most recent Sunday) and 2022-05-17 at 00:00. |
Month to date | The export will include entries created between 2022-05-01 at 00:00 and 2022-05-17 at 00:00. |
Full | The export will include will include all records (unless further filters are applied in the data export template). |
Custom (e.g. from 2022-05-16 to 2022-05-17) Only available for ad hoc exports | The export will include entries created between 2022-05-16 at 00:00 and 2022-05-17 at 00:00. |
Since last run Only available for scheduled exports | The export will include entries created between the date the last run was executed, and 2022-05-17 at 16:00. |
Updated 12 months ago